Reading time is 6 minute(s)
Imagine a chef who can't cook, a pilot who can't fly, or a surgeon who can't operate. Sounds like a joke, doesn't it? Yet, here we are in 2025, with software engineering teams (and countless other professions) being led by managers who can't code, can't design, can't do the job they are supposed to oversee. It is like putting a tone-deaf conductor in front of an orchestra or a couch potato as a football coach. This isn't just inefficient, it's pure insanity! And it's happening everywhere, all of the time. It is like the world has lost its mind.
Technical expertise isn't optional. It is the foundation of competent leadership in software engineering. A manager who can code doesn't just nod along. They make sharp decisions, set realistic timelines, and sniff out inefficiencies before they happen. They can jump into a technical debate, suggest fixes, and give feedback that is worth something. Without that? They are clueless, guessing at schedules and swallowing whatever their team feeds them. It's like steering a ship blindfolded in a storm. Good luck not sinking.
Take for example a critical bug ruining a product launch. A manager who codes can roll up their sleeves, spot the problem, and propose a solution. Saving time and proving they've got skin in the game. Or in code reviews, they can call out sloppy patterns or choose to optimize for performance. Making the team better one small step at a time. That's how you earn respect. When a manager can, so to say, "ride the horse", instead of just yapping orders from the sidelines, the team trusts them. Anything less is a joke.
People say, "Oh, managers just need soft skills, motivate their workers, communication is key, etc, etc.". Those indeed matter, but in software engineering, they're useless without technical knowledge. A manager who doesn't get the tech cannot judge delays, can't spot technical debt piling up, and ends up steering the ship straight into an iceberg. They look like fools to their team, who see right through them. Technical competence doesn't compete with people skills, they amplify them. Forging a leader who is not just a cheerleader but a player coach.
It is utterly deranged that we're still letting managers who can't do the job run the show. It's like hiring a vegan to grill steaks or a pacifist to command troops. It is not just software engineering, it is everywhere. Construction, medicine, manufacturing. Name an industry, and you will find this lunacy. In software, a manager who can't write a line of code is a liability. The ones who can? They lead with authority, make smarter calls, and command respect. Accepting less is a disaster waiting to happen.
Technical proficiency in software engineering managers isn't a nice to have, it is a must. This madness of non technical leaders fumbling through technical roles has to stop, it is doomed to fail. Managers need to code with their teams and keep up with the game. The best don't just point fingers from the back, they lead from the front, they have their hands on the steering wheel.
Here is Steve Jobs saying something like this 40 years (!!) ago: youtube.com/watch?v=QplyFXgIx7Q.