Hiring engineering managers: Crafting an interview process to build the best team

Asana Engineering TeamEngineering Team
2019年1月28日
facebookx-twitterlinkedin
Hiring engineering managers interview process article banner image

Management Philosophy

At Asana, we are focused on building the best work management software out there. Our product is centered around how people and teams work together, so it’s very important to us to create an environment that sets an example of workplace culture. To that end, we’re working on building a culture that reflects our mission and values. Our management culture is a formalization of the important elements of great management relationships we’ve observed throughout other organizations.

Distributed responsibility is the foundation of our approach to management, where leaders mentor and empower others to be as autonomous as possible. Managers act as coaches to their reports, offering expertise and guidance as they navigate their careers. Great managers get involved just enough to make sure their teams are executing effectively and their reports are growing quickly—and then they get out of the way and empower their teams to own as much responsibility as possible. In addition to being coaches for their reports, engineering managers at Asana are technical leaders who own technical and/or process responsibilities that they are accountable for.

A majority of our engineering managers started their Asana careers as individual contributors (ICs), and then moved to engineering management, so they have a lot of context on Asana values and processes. We also strive to learn from best practices outside of our company, by relying on our teammates who have managed elsewhere, as well as hiring great new managers who bring their own perspectives.

When a new manager starts, we place a huge emphasis on onboarding them successfully. We invest heavily in the initial ramp up process to set new managers up for long-term success. For each new manager, we craft an onboarding plan that allows them to ramp up technically and ease into other responsibilities.

We’ve crafted an interview process that we feel assesses the skills our managers need. Here’s a look at that process.

The Evaluation Process: Interviews

Hiring leaders from outside the company is a high-reward and high-risk endeavor. They have the opportunity to have a big impact quickly, but it can result in a negative outcome if they are not a good fit. We have designed an evaluation process that mitigates the risk by identifying folks who have the skills and attributes to succeed at Asana.

We’ve set up a deliberate interview process that aims to give every candidate the opportunity to showcase their strengths and evaluates candidates on both technical ability and management skills. Our standard interview loop includes:

  • Recruiter phone screen.

  • Phone interview with an engineering manager (60 min). Containing 1 technical question, and 1-2 questions covering management experience.

  • On-site interview loop (1 day). Containing 2-3 technical rounds and 2-4 management rounds.

What we’re looking for: Technical Ability

Engineering managers at Asana are seen as experts and advisors on technical matters, so we measure technical skills at several points in our interview process. We are looking for builders—folks who have a technical toolkit (software concepts, understanding of systems, knowledge of technologies) and an ability to apply it to solve problems. We don’t evaluate for deep expertise on any particular technology, though you’re encouraged to use and teach us things you know well. We get into implementation details on a subset of the technical questions, and when we do, we don’t expect perfect syntax or perfect recall of something you learned a long time ago. Ultimately, our goal is to assess your ability to analyze a problem, apply your experience to explore the solution space, and collaborate with the interviewer to make progress towards a solution.

There are a couple of reasons we want engineering managers to have strong technical skills:

  • As a manager, you’ll provide daily guidance to people whose job it is to build software and solve technical problems. Engineering managers with strong technical skills are equipped to be good coaches for their team.

  • As an engineering manager, you are often a backstop on your team’s technical decisions, and own the whitespace in the area your team works on. It’s crucial that you’re able to recognize bad patterns and help your team avoid them. We expect managers to identify areas in which their teams need technical guidance, and either provide it themselves or find help from experts outside the team. They should also be able to ask detailed questions to guide their team to good solutions.

We understand that people take different paths to engineering management, and that technical skills that are not used often can get rusty. We try our best to account for this in our interview process. We pay a lot more attention to system design and data modeling, and less on remembering particular data structures or algorithms.

Technical Design

We are looking for engineering managers who are experienced engineers, and when presented with a problem can quickly identify and focus on the difficult parts. We want to see candidates recognize where complexities might arise in their design, and what parts of their solution might break at scale. Our interviewers look for opportunities to collaborate with you, and you are encouraged to apply existing technologies as part of your solution. We often get a lot of positive signal when candidates describe a similar real-world problem they solved and the decisions they took (and then come back to solving the problem at hand).

Another important attribute we look for in design interviews is identifying, describing and making trade-offs. We get a lot of positive signal when a candidate is able to explore a few options, quickly pick a path with input from the interviewer, and then explore the solution and its strength/weakness in detail.

Programming

We include a coding exercise for managers who have been actively coding in the past couple of years, and replace this with additional technical questions on systems design and data modeling for veteran managers. The coding exercise is in a language of your choice and you can use an editor you are comfortable with. The goal of the exercise is to evaluate your programming skills, and your ability to reason about input cases. Our attempt is to use relatively common algorithms and data structures, but we understand that these questions can seem unfamiliar, depending on how recently you last used data structures. We attempt to account for a certain amount of rustiness in our evaluation, but it definitely helps to prepare for this portion of the interview by brushing up on CS fundamentals. You should feel comfortable telling interviewers that you are out of practice on particular concepts and get hints and collaborate to get to a solution.

What we’re looking for: Management skills

Technical skills are only part of what we look for in manager interviews. Much of what makes managers at Asana successful is their alignment with our management values and philosophy, so we specifically look for demonstrations of these skills in our managerial interviews. Managers who thrive at Asana are folks committed to supporting their reports, mentoring others, helping teams, providing clarity and autonomy, and collaborating and communicating effectively with others.

Supporting reports

As a manager, your role is to help your reports be productive and happy, and build the careers they want. As part of this responsibility, you will need to run effective 1:1s, guide growth and provide development opportunities, manage performance, give feedback, and delegate responsibilities.

Candidates must have the desire to grow and mentor their team,  and approach this in a way that aligns with Asana’s values. To maintain our mindful culture, we look for folks to join us who are interested in nurturing growth, and cultivating excellence. We work hard to ensure every Asana has growth paths suited to their strengths and interests, and they are motivated to pursue the most leveraged opportunities.

Supporting teams

Managers at Asana are crucial to smooth teams- and organization-wide operations. In this regard, we look for candidates who can develop processes and remove hurdles to facilitate great and fast execution by their teams.

What this means in practice, is that we’re looking for folks who have managed process and organizational design improvements, successfully resolved conflict, and hired and supported successful teams. We also focus on maintaining positive relationships between engineers and PMs, so we’d love to hear about your experience with that, too.

Building teams

A large part of the role of manager is to hire and plan for their team. We look for candidates who have shown an ability to anticipate the needs of their team and look both internally and externally to fill those needs. At Asana, managers work closely with recruiting, so we’d love to hear how you’ve partnered with recruiters in the past.

Finally, a huge part of building teams is networking and brand building, especially for more experienced managers. We’d love to hear how you’ve created and grown a personal or company brand within your local engineering community.

Autonomy, collaboration, and communication

We look for autonomy, collaboration, and communication skills in all engineering candidates, but believe they’re especially important for managers. Managers must be able to make decisions in the presence of ambiguity to create clarity for their reports and teams. As a manager, you’ll be deciding what’s most important for you and your team to focus on, so it’s important that you can prioritize, create alignment, and provide clarity. Beyond being autonomous and guiding their team, we look for leaders who take ownership of problems that they see across the org, even if they are beyond their defined responsibilities.

A large part of our culture is built around collaboration—after all, the product we’re building is a tool to improve teamwork—so we also look for managers who are strong collaborators. To this end, we’ve built an interview process that is meant to be a coworking session, not an interrogation.

Communication is a vital skill for a manager to be successful at Asana. To assess it, we look for how candidates express problems they solved and describe situations they faced. We also focus on how candidates discuss tradeoffs and decisions they’ve made in the past. Finally, we also evaluate how well you receive information from your interviewer – does the interviewer feel heard and understood.

If you’re interested in joining Asana as a manager, we’d love to hear from you. If you’re already interviewing with us, we hope to see you soon.

Special thanks to Tim Bavaro and Andrew Fiore