No, but IMO they should be one of the more technically competent people. Managing is not a full-time job, at least for a good manager its not a full time job.
I think you're underestimating how much work there is at the management level, especially in larger organizations. When management is doing their job, it won't be visible to you or your team. Things will just "align", and work well - but if things are moving smoothly in an organization with multiple teams, your management is working well.
There is a lot of systems thinking required in managing team structures, interfaces between those teams, managing communication between teams, hiring, setting technology standards & architecture, and so on (review the rest of this thread).
I do agree with your thesis though - a manager should be highly technical. I just don't think you can depend on their contribution to features & deliverables. Not because the work is "below" them, but because Engineering Management is a support role and should NOT need to choose between an IC-type task and helping unblock/support a member of their team due to a deadline :)
Potentially, managing isn't a full-time-job, full-time. There are management moments that can easily consume you for weeks/months, and if the manager should have been coding also, then the timeline is ruined. If the manager has slack, then the team can add staff as needed. Having a manager who is flat-out is bad - it slows decisions, introduces blocking functions everywhere, and ultimately makes things worse.
There is a lot of systems thinking required in managing team structures, interfaces between those teams, managing communication between teams, hiring, setting technology standards & architecture, and so on (review the rest of this thread).
I do agree with your thesis though - a manager should be highly technical. I just don't think you can depend on their contribution to features & deliverables. Not because the work is "below" them, but because Engineering Management is a support role and should NOT need to choose between an IC-type task and helping unblock/support a member of their team due to a deadline :)