Multiple times I’ve had engineers tell me something was impossible, or strictly necessary, or too hard, when it demonstrably wasn’t. If you let too much of that happen, your product suffers.
Some of them are, sure, but one of the skills necessary to effective management is understanding of the work being managed (especially the work at the immediate subordinate level and, if it exists, the next level down.) At the executive level, that probably doesn’t require more than very casual awareness of any of the line work, but at the level of first and second line managers it absolutely does, and its usually a lot easier to find a worker with the right talent to learn the additional skills of management than a “generic manager” who can OJT learn the domain.
I’ve spent most of my adult life in and around tech orgs, and the next even half-competent line- or second-level manager that didn’t start out as an IC I meet will be the first.
The person who can estimate effort and risk, and sort the truth from the B.S., is your tech lead. The person who can do the seating chart, and relay the work products of the tech lead up the chain, is the manager.
1) The top knows what the organization is capable of and can set achievable goals 2) That the bottom is incentivized to do things that achieve the goals of the company
A manager being technical helps #1, information flows upward more accurately.
I think #2 is more nuanced, but when you have a boss, you are directly incentivized to please the boss, not directly incentivized to achieve the goals of the company. Those can be different things and the less technical a manager is, the more different they can be.
This isn't an argument for just promoting individual contributors, though, since lacking management skills also makes both of these problems worse.
It is an argument for flatter organizations. Maybe that's a better way to look at it, every layer of management makes 1) and 2) more difficult. (A fully flat organization wouldn't have either problem at all.) But if a manager has both management and technical skills, it's more of a partial management layer.
The smaller the org, the more you want someone that actually understands the work being managed. Maybe your team is getting work done fast, but it's not done right: no documentation, few tests, architectural flaws, performance issues, security problems... Someone should be able to understand the trade off made, and be able to explain them. When one of your engineers gives you an estimate, you need to understand if it's reasonable. Is it too optimistic? Is he blowing smoke up your ass and spending 2 months on a 2 week job? Poor management sets arbitrary deadlines and wonders why they aren't met.