Let's talk about John. John decided one day that he was going to make a living by starting a small retail store selling shoes. After a few years of hard work, he realized he could no longer run the business by himself. He hired someone to work the floor, helping customers so that he could focus on the more difficult tasks of running the business. As the business grew, John hired more low level customer service people. He also hired someone to handle finances. Eventually he needed marketing people, payroll, and management.
As you can see, John's little venture was quite successful. He is now the wealthy president of the company. The only work he does anymore is making decisions. In order to succeed, he had to learn to manage both people and the company as it grew. But John didn't just get dumped into a management position. At every step of the way he had hands on experience with every part of the business. He was the low level customer support. He handled finances. He was his own salesman. He dealt with paperwork, hiring, and managing low and high level workers. Sure, he was doing most tasks part-time. It was often clumsy, inaccurate, and lacking the kind of quality that his subordinates now put into that work. But he had (and still has) a basic understanding of what everyone in the company does.
This is an ideal. John is a true leader. He not only makes the hard decisions, but he could do the work himself. That is, he can perform not only management tasks, but he could, if necessary, put himself in anyone else's shoes and take over for them. Unfortunately, when John leaves, his predecessor may not have had his experiences. Perhaps the CFO will take over. But the CFO has had only financial experience. Maybe someone who started their own company will be brought in, but he may have been in a very different industry.
Let's talk about Jane. Jane was hired by a large company as an engineer. She was brilliant. In fact, she was so brilliant, within a few years she was running her own specialized lab with just a handful of other people helping her. She turned a proposal costing $50,000 into $50,000,000 in a just a few years. Management was ecstatic. They moved her into another department to manage 300 people. Within a year she left to get a phd and become a professor. She vowed never to return. It took two years to replace Jane, but by then her program had already deteriorated.
After losing a number of Janes, management began to wonder what they were doing wrong. Finally, someone proposed that maybe Jane actually liked doing the work instead of telling other people to do the work. It was difficult to accept. But management conceded and setup a program so that their Janes could progress in the company without becoming managers themselves. It was a fabulous success.
So we have John and Jane. But what about the case of a company whose business is technology? Who should manage? Jane who either can't or doesn't want to or John who sells shoes but knows nothing of technology? Maybe it's a difficult question, but fortunately, there are plenty of engineers who both have the ability and desire to manage. But it seems to me a tragedy when non-technical people are placed in charge of the technical minded. You no longer have the situation where the leader has all the skills of the subordinates. Instead you have two entirely separate skill sets. But the more knowledgeable people have the least power.
It's generally better if the manager is himself technically oriented. But it depends on the situation. If you manage a team that designs auto bodies for cars, it's less important. This is a concrete thing that everyone has experience with. Everyone knows what a car is and how they're used. Any intelligent person should be able to understand the implications of a lighter, more aerodynamic frame. If instead your team has developed a new programming language, then it's more important that you understand programming. Maybe this new language is going to change the way software development is done. You'll sell a million compilers. Consulting will start at $300 per hour. There will be books and training programs. Soon customers will ask for debuggers and IDEs. And then they'll be forced to upgrade when version 2.0 is released. But how can you understand any of this if you've never written a line of code? This is more abstract. It's something only engineers use. You've never seen, touched, or used it.
It would be a strange experience coming into a company where you know more than your boss. Who will mentor you? Your fresh-out-of-college co-workers? Imagine if John's first employee was constantly needing to explain to John how things work instead of the other way around. Wouldn't it seem more like they should be working side by side?
Furthermore, a non-technical manager has no understanding of the project he's managing beyond the interface. He can't understand how difficult the work is, the risks involved, the time scale to do the work, etc. He may not understand just how creative and useful the software (or hardware) is. If a difficult problem is solved, but the solution isn't exposed to the interface, he may be completely unaware of it.
It gets even worse if management is far removed from engineering and they have no technical competence. They're running a company they don't understand at all and have no contact with the people who are the reason the company exists. How can this be?
Consider successes that were started by engineers, like Microsoft and Google. Microsoft is still run by technical people. A physicist founded a very successful research center, Xerox PARC. But supposedly it was management at Xerox who failed to understand the benefits of the technology they had.
I am reading all the time about the increasing requirements asked of engineers. Not only is ever expanding technical ability within the engineer's field asked of him, but more abilities outside his field are required now too. It's not good enough to be an engineer; you also have to be a sales person, have business experience, and have management ability. This is backwards! Unless you are going into management, you don't need to have these skills. Your boss should know what you know and more, not the other way around. Thus your boss should learn engineering. The burden of responsibility is being shifted onto the wrong people. This is not a good solution.
The best thing to do is put engineers in charge of engineers. There aren't too many brilliant engineers who are also brilliant leaders. But, the manager doesn't need to be brilliant. Like John, it's enough if he just understands the basics. But to have no competence at all is asking for trouble.