I’m always looking for prospective new engineering managers. As a manager, having bench strength in this area is useful in case there is a sudden vacancy due to promotion, attrition or internal movement. Sometimes, the right backup is an engineer already on the team.
The Ideal Candidate
When I think about who might be a good first-time manager, I’m looking for experience and leadership.
Experience might look like having been at companies and on teams of various sizes, and with various seniority compositions. If someone has 10 overall years of experience, they have probably worked for at least 2-3 companies. They are more likely to know what “good” and “bad” look like, in terms of team health and performance.
Leadership could look like an engineer in a traditional technical lead role. But, it could also be the team’s Scrum Master, super-mentor or unofficial team counselor. If the engineer is not already the technical lead of the team, they should at least have the explicit technical trust of the team members. It’s more important for a first-time manager than an established manager to be able to leverage existing technical expertise when stepping in to a people leadership role.
The ideal candidate has a demonstrated strength in both verbal and written communication. They should also be process oriented; it’s a good sign if they are already running various team processes. If you ask them for thoughts on their peers or current manager, they should have insightful, valuable feedback.
The absolute gold standard for a first-time manager is that they are already effectively doing the job. It shows that this person takes initiative, and does not wait around for someone to bless them with authority, before going ahead and personally fixing something they think is broken. It shows a bias to action, and a strong sense of ownership. I would expect these folks to already be having more impact from their non-technical contributions vs their technical contributions.
Examine Motivations
Assuming they are open to being a manager, I next look at their stated motivations.
One good motivation is that they realize they can have more impact managing a team than they can have writing code and technical specs. Another good motivation is that they get more satisfaction from coaching and growing people than from solving a technical challenge, or shipping something. These are person specific; many individuals actually won’t maximize their impact as a manager, or feel fulfilled if they spent an entire week or month without writing code.
If someone wants to become a manager so that they will have authority over others, or get paid more, those are bad motivations. In any case, these generally are not true. First-time managers may be surprised how little authority they actually have. They will have responsibility and accountability, but perhaps less actual decision making power (and information to make those decisions) than they expected. Most companies also pay engineers and engineering managers in the same band similarly, and don’t think of the change to a management role as a promotion.
Some of the best prospective managers may be reluctant to lead others. They may be demonstrating leadership, be dissatisfied with their technical impact, and intrinsically motivated to coach others — look for these people!
Getting Started
If this is a path the person wants to pursue, I start them out with some self-learning resources. For example, I really like the Manager Tools Podcast for an introduction to a variety of management concepts. I typically recommend that the person start thinking about a more formal personal organizational system, such as Getting Things Done. Here’s a reading list of other books and articles.
I may also ask them to write-up some thoughts about why they want to be a manager, and how they are hoping to grow. If an engineer is willing to sink hours of time in to listening, reading and discussing management fundamentals, they are demonstrating the growth mindset (and will) necessary to make the switch.
A prospective manager should start to form their own fledgling best practices on issues like:
- One on ones
- Running meetings
- Execution model
- Career level framework
Looking for Opportunities
Once I’m convinced that this is the right direction for this person, I start looking for opportunities to get them exposure to management responsibilities.
For example, I might invite them to sit in on my staff meeting, team talent reviews, or hiring committees. I may delegate some meetings to them to run. I will likely ask them to ramp up on doing more one on ones with their peers. Afterwards, it’s a good idea to circle back with their peers to get feedback on how some of these things are going.
Eventually, they will be ready for more formal pseudo-management responsibilities. For example, they could be the official mentor for an intern. This is low risk due to the limited time period of an internship. They could try their hand at turning around a case of poor performance with another team member. This is higher risk, but mitigated by the fact that the low performer is more likely than not to leave the company, one way or the other.
A prospective manager can try mentoring a high performer, maybe someone I am building a promotion case for. Have them write-up a promotion document forces them to really engage with how to articulate performance in-level, and how to pitch it to other managers. If possible, I would include them in some pre-calibration conversations with peers.
There may be other opportunities that come along for on-the-job learning that are more exceptional edge cases. For example, if the person’s current manager is on temporary leave for any reason, that could be a good opportunity to try running a team in a low stakes environment. I might try them leading a team for a fixed period of time like a sprint or a quarter, such as when a team loses their current manager and we have not yet hired a new one. In either case, I would want the engineer to stop coding and fully delegate this and other technical contributions like writing technical specs, during this period. This will give them a sense of what it feels like, and whether they would be happy in this role full-time.
Making the Leap
Armed with my own observations and also 360 feedback from their peers about these trials, I’m ready to make a decision about whether this person is ready for a real management opportunity. Companies and teams are always looking for new engineering managers. You won’t have to wait long!
One thing I can start doing proactively along with this candidate is preparing our skip level manager. I want them to be totally aligned with putting this person in a management position when an opportunity does come along. I can also start making sure there is a transition plan and a back-fill ready to step in to this person’s current role.
Something which the candidate themselves can help with is coming up with a succession plan for their current role. If they are the tech lead of their team, how can they hand it off to someone else? Can we train that person up, now? They can also help make themselves dispensable. Delegate everything. As we get closer to an opportunity, stop coding. Stop doing code reviews. Identify an additional manager mentor.
The ideal opportunity often looks like taking over as the manager of the team that they are currently on. In that case, they have excellent context on the people and problem space. But, it might come in the form of a different, very small team, or a new team. I know I will need to remain flexible about moving this person out of their current role, and that they will need to be flexible about team and timing.