Engineering

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

Management philosophy

At Asana, we are focused on building the best work tracking software out there. Our product centers 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 commitments to one another. Our management culture is a formalization of the important elements of great management relationships we’ve observed in 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.

A lot of our engineering managers started their Asana careers as individual contributors (ICs), and then moved on to engineering management. We also strive to learn from best practices outside our company by relying on our managers who have managed elsewhere as well as by 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 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 an opportunity to have big impact quickly, but it can be negative 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 evaluate candidates on both technical ability and management skills. Our standard interview loop includes:

  • Recruiter screen
  • Phone interview with an eng manager
  • On-site interview loop (2 days)

What we’re looking for: Technical skills

Eng managers at Asana are looked to as experts and advisors on technical matters, so we measure technical skills at several points in our interviews. 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 learnt/did a long time ago.

There are a couple of reasons we want eng 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.
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

The interview includes coding questions in a language of your choice and you can use an editor you are comfortable with. The goal of these questions 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 manager 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 one on ones, 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 an approach to doing so that aligns with Asana’s values. In keeping with 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 a 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 team- 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

Would you recommend this article? Yes / No