Time and time again, one sees this notion in technology companies that the best engineer in the team is natural leader of the team and hence deserves to manage the team. With few exceptions here and there, most engineering companies operate on this principal of filling their managerial roles, especially for the first-line management. Much has been written about this, but I don’t know if anyone has provided any proven solution which describes process to pick engineering manager.
There was a tribe of cannibals living in a remote jungle. One cannibal was particularly good in hunting and eating humans. The tribe made him their leader and he ate the whole team. Luckily, engineering teams don’t get eaten up literally. Figuratively, there are too many examples than needed, where the team got eaten up and completely wiped because of bad management choice. Any company should make it very clear that being good engineer does not necessarily mean a good manager. It would be even better if it were clearly defined as to what exactly is expected of an ideal manager. When a change of role happens, may be instead of mentioning personal life and hobbies in announcement, what qualities were found suitable for management role should be mentioned.
There is also this notion that a manager is the leader of the team or even company. I believe they are not, at least not formally as anyone can be a leader irrespective of their role. They are just managers, who are managing resources — human or otherwise. There might be managers that can lead too but I think manager’s role is not necessarily to “lead” but quite certainly to “facilitate”. A better leader might be the technical leader who also has good inter-personal skills and business acumen. And it might be beneficial to not transform that person into purely managerial staff. There are still many things that technical leader might not be able to do satisfactorily as a leader. Job delegation, resource allocation, budget planning, corporate politics, are some of the things which a manager has to take efforts to be good at, unlike a technical leader who can get away without possessing some of these skills.
So how to identify a potential manager? A person who displays more understanding and curiosity about business, product shipment, non-technical aspects of team, other teams and overall bigger picture, in general could be realigning towards management mindset. May be even the person who has grasped this quote that eventually we are here not to write code but to ship the product. May be a person to whom others (within and across the team) go to with a problem (technical or otherwise) but more importantly feel comfortable approaching the person. I think first line and middle layer managers are usually too insecure about their own role, hence, may be higher level execs needs to be more involved in identifying managers even the first-line managers. They should base decision not just on metrics but also on qualities pertaining to a good manager, which can be ascertained throughout day through various interactions — formal or in break room. Once such person is identified, mentorship should start even before the transition has occurred. But there certainly has to be some formal process to identify and train such potential engineering managers, other than picking an awesome engineer and then throwing that person into classes.