So you think you can lead a team? I’ve been talking and writing a lot about leading a software engineering team in 2025. I started thinking about it more deeply the year before when I decided to give a colleague, who was moving into team leading, some advice: 'Doing the work' isn't the only way to add value Remember to delegate Pick your battles Talk to your team every day Out of this came a talk, “So you think you can lead a team?” which I gave at work, at meetups and at conferences in various different formats during the first quarter of 2025. I am also turning these ideas, and more, into a book I hope to release towards the end of 2025. I’ve already explored delegation, you can read about it here: https://paulgrenyer.blogspot.com/2025/04/remember-to-delegate-triangle-of-trust.html And Seeing the Bigger Picture, you can read about it here: https://paulgrenyer.blogspot.com/2025/05/see-bigger-picture-and-look-around.html When I started writing the material for my talk for...
I had to cut down the “ Pick Your Battles ” chapter for my book - reviewers all felt it was too dense. That left me with some extra content, portions of which I’m sharing here, unedited, alongside excerpts I kept in the final version to provide context. What do Software Engineers Disagree About? Software engineers can, and do, disagree about anything and everything. I won’t even try to list it all, there is just too much. What I do want to do is give a flavour of the breadth of things we disagree about. Often it’s not even the technical details. Changing Requirements Change is inevitable. I’ve already mentioned that being a software engineer is hard. Software is also complicated, but easy to change. If you compare software development to the mechanical aspects of engine design and development (putting aside that all modern engines use a lot of software), the pistons, cylinder, crank shaft, valves, etc. are relatively easy to understand. You can hold and understand the relationship...