So, you need an engineering manager.
Maybe what you need is to replace a departing manager – someone who is leaving the company, being promoted, or going back to hands-on IC (individual contributor) work. Maybe your team has gotten too large and unwieldy and is ready to split in two, amoeba-like, or you’re on the verge of hiring a few more people and spinning off another team. Maybe you are a baby startup and this engineering manager will be your first formal structure, or maybe something else entirely.
Whatever the genesis, the point is the same: you need to find a manager. And your very first fork in the road will be, ‘Should I hire one in from the outside or tap one of my engineers for the role?’ This piece will be a brief overview of the considerations involved in asking this question and making that decision.
First of all, I should confess to my biases. I am a big believer in the philosophy that management is not a promotion, but a change of career. There is a great deal of evidence that hierarchy produces worse outcomes in creative industries, of which software is decidedly one. I think that management is not and should not be synonymous with leadership; in fact, there are areas of technical leadership and implementation details where managers have no business exerting ownership. There should be technical leadership levels that track management levels as their equals in compensation, authority, and respect, but with different domains – ‘non-overlapping magisteria’, as the great Stephen Jay Gould might have said.
Engineering managers are ultimately responsible for the health of the team, the career progression of the engineers under their care, and for making sure that engineering teams are focused on the right priorities. They are the essential link between business and engineering; they must be able to translate between the two worlds many times a day. But once the decision is made that something is a priority, how it is done is the proper domain of engineers and technical leads.
So, back to our choice. What should we do – hire from within, or hire from without?
Give preference to internal candidates
I am a firm believer that you always, always owe your existing team first crack at any and every opportunity that arises from within. It may not always be possible; you may need someone with more experience or a different skillset than you have on your team, but you owe it to your team to seriously explore the possibility, every time, before you give in and begin to explore outside possibilities.
That is an ethical stance which I happen to hold. But there are also pragmatic reasons for preferring internal candidates over external candidates where possible. Effective line management requires a manager to have a reasonably good understanding of the tech stack and the slate of current problems and tradeoffs; who better than one of the engineers working on it? And good management, in general, is all about relationships, relationships, relationships; someone coming in the door will always take longer to build those relationships and be effective than someone who already knows the lay of the land and the people who dwell in it. Internal candidates taking a lateral transfer to a management role are the most likely to succeed, in my experience.
So, what are some questions you might ask yourself when looking around for management candidates?
Who is the best engineer?
This is traditionally the first (and sometimes only) question leadership asks before ‘promoting’ (sic) said engineer to management. Unfortunately, this is the wrong question to ask yourself. There is no correlation that I’ve observed between someone’s engineering skills and management skills – no positive correlation, at any rate.
I do believe engineering managers need to have a strong technical background in order to be effective, but they don’t need to be the best engineer in the room. Many fervently mediocre senior engineers have developed into strong, admirable engineering managers – some of whom then swing the pendulum back to IC and leverage those hybrid skillsets to become supremely valuable senior technologists.
This is one big reason why it’s important to decouple leadership from management. Your best engineers are likely hungry for advancement, autonomy, and impact (just like everyone else), and you do not want them to conclude that management is the only vehicle for their ambitions – the only way they’ll ever get a seat in the room where it happens. You want them to solve your hardest technical problems if that is where their heart is. A better question to start with might be:
Who is senior enough to be a manager?
Don’t consider anyone for management until they have achieved a solid senior level and status – at least 5–7 years of hands-on engineering. Their technical judgment should be well-respected by their peers; they should know enough to know how much they don’t know, and where to trust their own opinion or not.
You won’t be doing them any favors by asking them to switch careers earlier in their tenure, and you might well be inflicting permanent damage on their career. At least half of those who try management end up not liking it, or go back to engineering at some point. If they make the leap to management too early, it will be extremely difficult for them to return to engineering a couple of years later. You might be sentencing them to a one-way trip whether they like it or not.
It will also be difficult for them to effectively manage junior engineers, who need mentorship and career development, or senior engineers, whose experience and judgment will far outstrip their own. Too many managers end up frustrating their teams by lurching between command-and-control leadership, and blind trust and abdication of leadership – not because they want to, but because they lack the technical subtlety to know when to speak or shut up.
Are any of your engineers interested?
Is anyone on your team interested in trying out the manager gig? Don’t guess; ask. Not just once, but regularly. And don’t wait until a position opens up to ask, either. Managers should have a chat about career plans with everyone on their team at least once or twice a year, and that includes asking whether they would like to try being a manager at some point.
Management is just a bundle of skills and practices, after all. You don’t have to have a formal manager title in order to be tasked with or practice things like running an interview loop, mentoring an intern, running team meetings, writing up plans, etc. If someone wants to become a manager at some point in their career, you should help them find opportunities to practice some of these skills and habits.
This is the quickest and easiest way for someone to find out if the work actually doesn’t interest them. And it’s a great low-risk way for you to watch them in action and observe their skills, without having to entrust the fate of an entire team to them yet.
When an opening does arise, you should already have a mental map of who on the team is likely to be interested, and how skilled they are.
Do I need to interview them, or what?
If you’re seriously considering an internal candidate for management, start by having a conversation with them – a different sort of conversation than you may have had up to this point. Start with some simple, open-ended questions, like:
‘Why do you think there are so many more men than women in software roles?’
And let them talk for a while. You aren’t trying to trap them, or looking for ideological purity, but if you are going to put someone into a position of formal organizational power over others, it’s your responsibility to make sure they won’t inflict harm.
You have to have a higher bar for managers when it comes to awareness of structural racism and interpersonal power dynamics. Being a ‘really good person’ is not enough to do the job; ‘good people’ inflict immense harm every day without meaning to. You need managers who are humble, self-aware, and eager to learn – not ones who will have a meltdown and become the problem any time they mess up.
What if there are two or more who want it?
This is another great argument for treating management as a change of career, not a promotion, and for legitimizing and normalizing the idea that it’s okay to go back and forth between management and engineering, every few years. If it’s not a promotion, then you don’t have any status to give up. If it’s an ordinary thing, there will be other opportunities. Not every opportunity exists at every company at every time, but the more you can do to lower the perceived scarcity and intensity, the more you will find people becoming managers or engineers for the right reasons rather than the wrong ones.
The team’s opinion matters more than yours
You should never inflict a manager on a team who doesn’t want to receive them in that role, no matter how qualified they seem on paper. If someone wants to be manager, your next move should be to quietly chat with each of the team members to see how they receive the idea, giving special weight to the opinions (and body language) of any underrepresented minorities on the team. Do they want to report to this person? If not, don’t push it – even a little.
Slight caveat: if the proposed candidate is a gender or racial minority, and if you suspect the team’s discomfort is related to their status, it’s worth digging in a little more to understand the situation and even possibly overrule some hesitation. As ever, trust your intuition but interrogate it, and use your best judgment.
Reasons to go ahead and open an external req
I said that internal candidates are my preference by default, but there remains a long, long list of reasons why you might decide to hire externally after all. A few of them include:
- Your team is mostly junior-to-intermediate, and your senior folks are lukewarm on the idea of management (never push someone into it!)
- All your existing managers are first-timers, and you really need some more experienced managers in the mix to help you formalize policies and processes as you grow
- The team is split, and there is no consensus behind any internal candidate.
Listen to your own intuition, too: if you don’t have a great feeling about any of your options, take that seriously.
If you decide to hire a manager from the outside, the first thing you need to do is sit down and take a long hard look in the mirror. Hiring isn’t about finding the ‘best person’, it’s about crafting the strongest team. Where is your team weak? Who do you worry about? What are your strategic goals for the upcoming year or two, and what kind of leadership experience will help you get there? Do you need someone who can be very hands-on with the technology, or someone skilled at systems building, or driving transformation? Will recruiting be make-or-break for you? How diverse is your team, and what are your diversity goals?
All of these archetypes call for different types of leaders. But that’s a topic for another time.