1 hour ago · Tech · 0 comments

The hardest lesson I had to learn as a software developer in the early part of my career was that what felt “productive” to me locally – uninterrupted time, code getting created fast etc – often turned out to be a bad sign for overall team outcomes. Taking interruptions as an example, I mistook concurrency for parallelism in the way I worked. Concurrency is about communication and coordination, and when a bunch of devs are working on different aspects of the same problem at the same time, communication and coordination become the primary activities. Coding interrupts communication and coordination. CODING IS THE INTERRUPTION. The more time I spend coding and not communicating, the further I drift from the rest of the team. We talk a good game about building shared understanding and aligning teams, but then we do everything we can to minimise that in the pursuit of individual “productivity”. Of course, there are ways we can go about writing code that maintain communication and…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.