I can say that your experience of management is somewhat different than mine. Every company I have worked at had managers that were previously coders, DBAs, DevOps, etc. However, I can tell you that in most cases, those managers did a horrible job at managing.
As eluded by another contributor, management (direct to executive) has so many other components to it that are the least technical. You have personalities, paperwork, reports, and meetings that require very little skills and knowledge in technology, coding, etc. Similarly, most highly technical engineers don’t want those responsibilities.
Management is Conceptual and Strategic
Another factor to take into account is management by its sheer nature is very conceptual and strategic. Knowing how to write a sorting algorithm bares nothing on a person whose position is about figuring how to architect technology to solve business problems, and accomplish it within a budget. Have you ever given an estimate to your manager on how long it will take to do something, and then have to negotiate on that estimate because they always want it sooner? Well, that’s management. You, as the engineer, want to build things in a way that fulfills your pride as a coder. The manager is given a timeline and budget to deliver something to his/her superiors, which may go against a coder’s standards.
Management vs. Development
In my experience, I was and always is a self-learned programmer. I didn’t go to school for it, but I trained significantly over 20 years using different methods that would parallel a college education. However, I’ve never been obsessive about a specific technology stack or writing over-optimized code. I’ve always got the job done, efficiently, on-time and on budget. I became a generalist and focused more on the “Why” you would do things. By default, I became more of an architect/problem solver. I knew that I wasn’t the best coder – average at best – so I made the choice to be a manager of developers; getting a business degree in management to understand the psychological and sociological aspects of managing people as someone had mentioned in another post.
Since then I managed teams at two startups and started my own software consultancy. From a development manager to now a CEO I can tell you that very little if any part of my day involves coding. I could have absolutely no knowledge of coding and still be successful as a leader in my organization. I’m not gonna lie that I do miss the days of putting on headphones and coding all day. I’ve relegated that to a hobby because I do love programming. But, it’s not really a requirement or a necessity to be successful in managing coders.
Really, you should be glad that your manager is not a coder, if that’s the case. Think about the moments you’ve argued with another coder about how to program something. Now, imagine that person being your manager/boss. You want a manager that trusts your skills to get the job done and not micro-manage. In short, embrace the fact that you may have a manager that doesn’t know coding, but trusts you.