Caught in the wild! A pack of strong engineering managers fresh from shipping a big release.
Finding great managers is tough, particularly if you don’t know what to look for. There is no simple leetcode test that can identify someone with the right technical background, people skills, and track record to match what your team needs. It’s a hugely difficult qualitative challenge, it’s also one that is critical to get right when building your engineering organization. Hiring a great manager can take your team to new heights. Hiring a bad one can be ruinous to a team’s culture and productivity. I’ve hired a lot of engineering managers in my career, and in this guide I’ll help you understand what to look for when you’re on the hunt for world-class talent.
If you are a new manager or an individual contributor, it may not be obvious exactly what the expectations for a manager are. Early in a technical career you will spend most of your time on the front lines working side by side with other engineers to build products. Moving into management means taking on a new set of responsibilities targeted at people and business objectives. Engineering managers are responsible for:
Attracting talent means actively participating in finding new team members rather than passively awaiting interview panel requests from the hiring manager or recruiter. It becomes your responsibility to ensure that the team is funded with the right set of skills AND that there is a healthy pipeline of people available for future hiring needs. Managers have many tools at their disposal to accomplish this goal such as recruiters, contingent staffing sources, LinkedIn, etc. The important point to remember is that a manager must continuously spend time on attracting the best possible talent.
Once talent has been acquired they must be kept engaged and excited to stay with the company. Managers should think about the systems and processes needed to ensure that every member of their team is motivated by their work. Regular 1:1s, praising accomplishments, team events, compensation, and shipping high quality products can all be compelling ways to keep employees engaged.
Developing talent means going one step further and finding ways to not only keep employees engaged, but to enhance their skills and abilities. Regular coaching and feedback, networking, trainings, and challenging/boundary-pushing projects are all good ways to push your team members to the next level.
The core responsibility for managers is pushing their team to get work done. Products can be developed using wildly different methodologies and team compositions. Some companies may prefer a meticulously planned waterfall development while most startups use some variant of agile. Some companies prefer “exploratory” execution in which delivery dates are optional and up-front goal setting is not required. Others have very rigid, “drop dead” goals that drive products to be shipped at very specific points in time (think a big holiday launch).
My own expectation is that managers should drive their teams toward clear goals and clear timelines. They should know what each team member is working on, why, and roughly when it will be done. Finally, managers should be passionate about shipping. They’ve got to love delivering new products and improvements to customers quickly and with high quality.
Managers have to get things done, but there will always be more work to do than available engineers. As a team grows in size, the expectations on the team grow even faster. So as a general rule, no matter how big your team is you will always feel understaffed.
This means that a large portion of your job will be deciding where to commit your team members, knowing that you cannot do everything. Engineering managers must be able to push back on requests that will overload their capacity in order to protect the release schedule, quality of the finished product, and team health.
Managers must also be able to identify necessary engineering investments and prioritize them against feature work. Bugs, incomplete or bad architecture, missing telemetry/monitoring, outdated tools/infrastructure all put the effectiveness of your engineering team at risk. An EM should not expect others in the organization to identify this work for him/her, rather they will know how to monitor this debt and advocate for improvements as part of a predictable engineering rhythm.
Finally, managers are the interface between “the company” and on-the-ground employees. Managers need to represent the ideals and values of the organization, understand and enforce its policies, and implement “downward” requests from upper management. At the same time, managers should build a strong connection with their team, collect feedback, and relay it “up” as necessary.
The following list attempts to outline traits that can be “measured” during a manager interview and provide some sample questions that could be incorporated. It is important to know that there is no right set of traits to measure for. Different circumstances will require different kinds of managers and the goal of the interview process is really to paint a picture of how the candidate will fit into the new organization.
The first question you should ask in most interviews is about the candidate’s background. Years in role, types of projects they have worked on, wins and losses, and how many people they have managed. Each will give you insight as to whether the currently available opportunity is a fit, or conversely, what skills you are bringing into the organization.
Years in Role — simply put, is this a new or experienced manager? New managers need training and mentorship just like any other type of employee. Does the organization have capacity and time to invest or do they need someone who can hit the ground running?
Team Size — tells you how hands on the manager will be and how comfortable they will be with designing / scaling organization processes.
Company Type — where has the candidate spent their time? Enterprise, consumer, growing, sustaining, internal vs. customer facing? A manager may have many years of experience building teams but in the wrong type of environment for what your current team needs. You may also occasionally spot managers who are comfortable working in many different types of workplaces.
Significant Wins/Losses — Past performance is a great indicator of future success. What are major projects this person has worked on and what did they learn from each? What does success mean to them? Can the candidate explain the impact that they had on their business?
Aspiration — what does the manager want to accomplish in the current role and beyond? Do they understand their own skill gaps? Will the organization be a place that this person can grow up in?
An engineering manager doesn’t necessarily need to be hands-on but they should have an excellent understanding of the relevant technology, development practices, and current trends associated with the role. A manager will be called upon to make decisions that impact not only the product but how valuable engineering resources are spent. Put simply, a manager can’t (or shouldn’t) manage what they don’t understand.
Depth — How complex of a problem can this person solve / contribute to and in what areas. The best developers and managers have had times in their career where they needed to go extremely deep into understanding a technical problem. Probing into this area will help you understand both how technically credible the person is as well as how tenacious they are.
Breadth — Managers often need to be able to oversee a variety of skillsets (front-end, back-end, DevOps, etc). Additionally, the best managers are capable of ramping up and performing effectively in very different technology areas. Has this candidate demonstrated an ability to tackle a variety of problems? The answer speaks toward how much risk they are willing to absorb and how flexible they will be when applied to new challenges.
Vision — Great managers inspire. Can this person answer “why” a particular task is important, either to customers or the business? Even better, can they play a role in the strategic direction of the organization?
Customer Obsession — Is the person more excited about the technology or its usage? The best engineering managers never lose sight of the end-goal: shipping great products to users.
Being able to move quickly and with high quality toward clear goals is a superpower that separates good teams from phenomenal teams. An engineering manager should strive to ensure that their team has the right tools and processes in place to deliver value to end-users as effectively as possible. The should understand how to balance resources, estimate and schedule tasks, track progress against clear goals, manage interrupts, and pay down debt.
Team Composition — Can this person break down a product into required technologies AND required skillsets. It is not enough to build the architecture, they must understand how they will staff and fund.
Delivery Pace — is this person accustomed to fast or slow moving teams. Faster doesn’t necessarily means shipping cadence. How comfortable are they moving forward without clear specifications? What triggers their ability to begin allocating work to a team member?
Delegation — Some managers are better or more comfortable delegating work to others. The best managers will feel comfortable delegating work but also have a system for checking on progress. Micro-managers can have a very negative impact when paired with Senior Level engineers. (Conversely, they can be great for managing teams of vendors.)
Process — How does this person track their team’s work? Can they develop a project timeline? What tools and systems are they familiar with? How do they interact with other disciplines during the planning process? Some managers will prefer lower process with ad hoc bug tracking and work decided through word of mouth. At the other end of the spectrum there are managers who are infatuated with processes, such as waterfall or very rigid agile frameworks. The best managers will understand that processes are necessary to scale but that they are also flexible tools which should be adjusted to fit.
Quality/Completeness — Does this candidate like to fully complete their tasks, meaning, do they think about bug debt, documentation, telemetry, and other details that make a project done. Alternatively, are they gunners who are more suitable to V1 and experimental projects?
Data — How does a candidate incorporate data into their decision making process. Avoid candidates who fall into the analysis-paralysis trap, also avoid candidates who discount the value of data altogether.
Note there are no “right answers” to the questions below, but the best managers will be able to explain their opinions and provide examples based on past experiences.
Besides execution, dealing with people is the other fundamental pillar of management. A manager has deep impact on the daily life of an employee, contributing to their happiness and sense of worth. As a manager’s scope grows they are less “on the floor” working side by side with team members and instead take on responsibility for multiple teams and then multiple groups of teams. Alongside this increasing responsibility and abstraction, a great manager never loses sight of the fact that their decisions impact individuals. They remember that in addition to developing great products, it is their responsibility to develop great people.
Ego — Does the candidate talk about his own success or the team’s success. Do they take credit for work clearly attributable to others? Do they say “I” instead of “we”? Do they exaggerate their accomplishments, more importantly do they denigrate/celebrate the accomplishments of others?
Collaboration — Is this a person who can work through conflict with teams? Do they need to be in charge of a situation or can they take a back seat when appropriate? Do they know how to balance the needs of others against their own goals? It is critical to understand this skillset if your project has many dependencies or unclear specifications.
Communication — The larger the organization the clearer and crisper their communication will need to be. Do they speak with confidence, directness, sensitivity, and clarity? How often and through what channels are they comfortable communicating with the team?
Empathy — How does this person incorporate the feelings of others into their decision-making process. How has this impacted their ability to deliver value to the company and/or customers?
Hiring / Firing — an experienced manager will have strategies and procedures for each. Both are very coachable skills. Avoid managers who are reluctant to remove poor performing talent. A trait of new managers is that they will wait too long before removing underperformers from the organization. A trait of a poor manager is that they will remove people callously without thinking about the impact to the individual or broader organization.
Developing — What importance does the candidate place on developing talent and how do they make the investment. Where do they focus their efforts? Great managers optimize for return on their investment by spending time turning B players into A players.
At some point during every interview, a good candidate will turn the tables and start asking the interviewer questions. One that often arises is “can you describe the ideal candidate for this role?” While I maintain that there is no such thing as a “best” manager, and that you have to take every hire on a case-by-case basis, as the VP of Engineering for Reddit I’m in the very fortunate position of being able to define the qualities of managers that I want to bring into the organization. At our company, a panel of at least six interviewers meets with every engineering manager candidate and I ask the interview panel to consider following:
Do they have drive and passion? Do they want to win?
Reddit is still a startup and we want people who can help us rapidly build new products and features. Bring in people who:
Can they be trusted to take care of other people?
Great people are the foundation of any successful team. Managers are responsible for the day-to-day experience of our employees, which means they are the stewards of the company’s most valuable asset. Bring in people who:
Are they technically strong enough to own an area?
Engineering managers must be able to take responsibility for product or infrastructure development. In order to make the right decisions, trade-offs, and cost estimates a manager has to be capable of going deep technically. This does not necessarily mean they need to be writing code every day, but they absolutely must understand the technology behind what they own. Do you trust that this person is capable of or can learn the necessary skills to guide the development of our service?
Can they scale up?
Reddit is expanding at a phenomenal rate in 2017. Of course, this means shipping lots of cool features, but we also need managers contributing to hiring, better processes, internal tools, and more. Bring in people who are excited about growing with us.
Finally, simply ask yourself “would I love working with person?”
Thanks to the amazing Marty Weiner for helping me polish up this article. You can find more articles from myself and Marty on our upcoming Reddit Voices profile. You can also read more about my career journey from intern to VP of engineering.