Leaders need to be hands-on, every day.
Many organizations believe that strong soft skills and an ability to lead people far overshadows technical expertise when managing technical teams.
But, let me tell you, you can’t effectively lead developers if you aren’t a developer yourself. It’s as simple as that.
One of the most absurd scenarios in corporate environments is witnessing “leaders” or bosses who lack the same technical background as the teams they oversee.
Having non-technical people leading developer teams often seems like a comical mismatch. Non-technical bosses think ‘We need this by Friday!’ is a motivational speech. Conversely, technical team members may struggle to respect leaders who don’t understand the ins and outs of their craft.
There’s almost nothing worse than having a boss who doesn’t comprehend what you do, how you do it, or why you do it.
As a software developer, I guess you know exactly what type of “leader” I’m referring to.
Tech-leaders need to be individual contributors (ICs) as well.
The agile movement has made it worse.
Modern “agile” frameworks has opened up positions within development teams that were previously shouldered software developer, and has now expanded into full-time roles.
A hilarious example of this is Scaled Agile Framework (SAFe). You’ll find a ton of “management” roles, such as:
- Scrum-master
- Product owner
- Solution manager
- Solution architect/Engineer
- Solution train engineer
- Epic owner
- Enterprise architect
- SAFe Programme consultant
And a bunch more roles that I don’t remember the names of.
The hilarious part? The individuals actually creating the product, ensuring everyone else has a job, are simply referred to as ‘team members” in SAFe.
None of the management roles in moderns agile setups require technical expertise. Not be fair, not all roles are oriented towards managing technical people, for instance, the Product Owner is a businessperson first and foremost.
However, the ones put in front of developers must be developers themselves.
Becoming an effective development manager.
Effective leaders need to be actively involved in the trenches.
If you’re managing a developer team and not participating in coding, developing features, or triaging issues, then you’re not truly leading. Merely delegating orders from higher-ups doesn’t constitute leadership. Simply instructing your team on which features to work on and setting deadlines isn’t leadership either.
Managing a developer team requires engaging in development tasks alongside your team. To earn your team’s respect you need to perform at a high level, avoid shortcuts, and tackle the menial, often overlooked tasks that others may slack on.
Good development managers also take on an educational role. They allocate time to coach, guide, and establish standards for their team.
I’m not particularly an Elon Musk-fan, but when he declared that engineering managers must be hands-on, coding, my reaction was a resounding ‘do’h, of course.’ Surprisingly, there are many people who are opposed to this.
Frankly, I think those who resist the idea that engineering mangers should code, are the same people who are back-seat leaders, and they know it. They just don’t like being called out.

