Management: The Most Important Things
As an engineering manager, you can expect to be immediately overwhelmed with demands on your time! It can be hard to identify the truly important work when everything feels like something you should be doing. Here’s my philosophy: the two most important things you need to do as a manager are setting an inspiring vision and getting the right team in place to execute on it.
Sure, the best managers do much more than this, but these two things are the most important because they have to come from you. A team of great people with a shared vision can figure out how to overcome many obstacles in their way independently.
This isn’t intuitive — I’ve known a lot of managers who would describe their primary mission as “unblocking the team” — but that’s actually less important! As a manager, your first focus needs to be on giving your team the things that only you can give them.
Setting a Vision
If you want to build a ship, don’t drum up the men and women to gather wood, divide the work, and give orders. Instead, teach them to yearn for the vast and endless sea.
– Antoine de Saint-Exupéry, maybe?
Your vision is what your team will use to decide what to work on and how ambitious to be. If you are an engineering team with internal customers, like an infrastructure or platform team, your vision will tell those stakeholders what they should expect from you in the long term. And your company leadership will look at your vision to judge how important it is for the business – and how much they should invest in your team for the long run!
To articulate a great vision for your team, you need to identify where things are today, where they could be or should be instead, and ideally how you’ll get from here to there.
Critically, you have to avoid getting too attached to the current state of the world when doing this. I think this is a trap that many engineering managers fall into – and I’m particularly vulnerable to it! As engineers, we want to make realistic promises. Our instincts, cultivated over the course of a career as individual contributors, steer us away from fluffy promises and pie-in-the-sky nonsense and plant us firmly on earth, with incremental milestones we know we can deliver with proper investment.
Now that you’re a manager, though, you do need to be ambitious! Your story of how things should be has to be so much better than the status quo that it becomes a motivating and exciting future. It’s better to set an ambitious goal than it is to be certain you can deliver. You can admit that you’re setting an intentionally audacious target, but make sure you choose something that is actually worth striving for!
You also have to make sure you’re choosing the most important work that you or your team could be doing. Often management is about making difficult decisions with limited resources, and a good way to keep yourself honest here is to ask yourself how your company leadership will evaluate your impact. When you articulate your vision, remember that it’s probably not enough to talk about technical endpoints, like your API getting faster. Find the business metric that really matters. If it’s customer churn, make your mission about reducing customer churn by making the API faster. (If customers are churning for other reasons, you should figure out if there’s a more important problem for your team to be working on!)
Getting the Right Team in Place
Once you know what your vision for the team is, it’s time to figure out what team it will take to get you there. This is way too complex an area for one blog post, of course! But when starting with a new team or a new vision, it’s a great to time to sit back, take a look at the team as a whole, and ask yourself some high-level questions.
Here are some of the things I’m thinking about when joining or forming a new team:
Do we have the appropriate skill sets?
If you’ve signed up to deliver a great user experience and no one on the team has done any frontend work, you might have a gap to fill. Sometimes folks on the team will be excited to dive in and learn a new area, and you’ll be able to give them the time to spin up. Sometimes you’ll need to find someone with more experience to add to the team. (Evaluating an expert outside of your own areas of expertise is playing the game on hard mode. See if you have a network inside or outside of your company that you trust to assist you.)
Do we have a good mix of experience levels?
You will almost certainly benefit from having senior engineers who can design large, complex projects based on their past experience – or folks who can take on a tech lead role, scoping and coordinating projects. Remember also that having a mix of experience levels can make the team stronger than an all-senior group – often a junior engineer asking why is the impetus for making something better! Just be sure you build the psychological safety that asking this question requires.
Are we building a diverse and inclusive team?
If you aren’t consciously focused on this, it won’t happen by default. To get started, take a look at Project Include’s recommendations – although they’re targeted at startup CEOs, there are items that you’ll want to think about when hiring, giving feedback, or sponsoring folks for promotions. Teams which are diverse and inclusive are stronger in the long run, and it will be much harder to build such a team if you don’t think about this at each step of the process.
What challenges do people need to grow?
It’s worth thinking about each person on the team and what the next growth opportunity looks like for them. I really like how Lara Hogan described it: sometimes “the best gift you can give your direct reports is a messy, unscoped project with a bit of a safety net”. If you’re not challenging the team with projects that are slightly out of their comfort zone, you’re probably not giving them the growth opportunity they need – and your team isn’t as effective or productive as it could be.
What is the current team dynamic, and is it healthy?
I really like Tuckman’s stages of group development as a model for thinking through team formation. While this model is more than half a century old, the forming–storming–norming–performing cycle is useful for contextualizing some of the common challenges that teams face when getting started or changing their mission. Think about what the team needs to help establish healthy operating norms – in some cases, you can prompt the team to create some of those norms themselves.
What Next
Of course, this is barely scratching the surface of what a highly effective engineering manager does. You’ll want to think about how to measure your team’s impact and progress, how to communicate with your stakeholders, how to make sure that your goals are aligned with those of the company, how to recognize and support high performers, even how to help set technical direction without getting in the way…
But all of that can come later. Start by setting a vision and getting the right team in place, and you’ll be giving your team what they need from you most of all!