Main illustration: Nan Cao
One of our core values at Intercom is “We love people who genuinely want to learn and grow.”
Of course, celebrating and encouraging a growth mindset is all good and well, but how do we put in place structures and processes that actually encourage career growth?
In the Engineering org, we’ve thought deeply about how to foster long-term growth opportunities for people. Like some companies, our progression track for engineers splits in two after senior engineer – either continuing as an IC at staff or principal levels, or taking a turn into people management.
Engineering career path
For many people, however, making a move into management can feel like meeting a fork in the road – it feels like a choice that cannot easily be revisited. That doesn’t need to be the case, however. Here’s how we think about that career path.
Unlike a lot of companies, Intercom provides tailored training and 1:1 support for engineers who are interested in branching out into management. Unlike almost all companies Intercom facilitates what some call the engineer/manager pendulum – or a switch back to the IC track after some time as a manager.
“We believe that after, say, two years growing into and working as an engineering manager, our Intercomrades will be good engineering managers and better engineers”
Why? We believe in matching people to roles that play to their strengths and interests. We believe that after, say, two years growing into and working as an engineering manager, our Intercomrades will be good engineering managers and better engineers.
If it turns out after two years the role that now aligns with their strengths and interests is that of an engineer, why wouldn’t we offer a path back? Especially since they’re better engineers than when they left for management.
So why do we think they are better?
Increasing leverage through people management
There’s a limit to what you can do with one keyboard and one brain and 24 hours. Even for the best in the world, accelerated progress comes from increasing the amount you can get done per unit time. Even with the most expertise, smartest working process, sharpest IQ and fanciest energy drinks, your ability to graft through, scale yourself and create something great alone is likely lower than you think it is.
Think of the key people in your favourite open source project – say Rails. How would David Heinemeier Hansson (DHH) make time to talk smack on Twitter or go off the grid for three months if he was the sole developer on Rails? He wouldn’t. In reality Rails wouldn’t exist, or at the very least it wouldn’t be wired into the fabric of so many successful companies on the world stage.
“If you decide you fancy a change, you’ll go back to an IC role with a newfound ability to flex your leverage by working through people”
One of the oldest and most scalable ways of increasing your output per unit time is through people. Becoming an engineering manager offers you that gift of leverage from day one.
It’s not uncommon to get to senior engineer level and never have had the opportunity or need to work through people. The median project in the median company isn’t that challenging, and companies design org structures and processes geared towards keeping things this way because, much like predictable revenue, it’s great for business.
As an engineering manager, it’s your job to work through people. You might think that you’d be terrible at that, and you might be right about that at the start – but it’s unambiguously true that if you work at it, you’ll get better at it over time. And two years later, if you decide you fancy a change, you’ll go back to an IC role with a newfound ability to flex your leverage by working through people. This is a solid platform from which to plot your journey to staff or principal engineer and beyond.
Working on the system, not in the system
The simplest distinction between an IC and a manager is this: “A manager works on the system, ICs work in the system.”
If you move from senior engineer in a team to manager of a team, it’s quite likely that you’ve just assumed ownership of the most complex system of your career. Your job is to take the components of that system – the people, tools and the environment, the culture – and create something that’s better than the sum of its individual parts.
This can be ridiculously difficult in a way that is non-intuitive to beginners, but which becomes clear as you grapple with the challenges of team management. To give a flavor, here are some of the questions that managers regularly need to find answers to:
- What is the ideal headcount for this team?
- Did this team succeed because of my influence, or despite it?
- What should my team be working on in the next three months? Six months?
- How can I get this person to just listen to his peers?
- Is this engineer overworked? Is this engineer cruising? Are either of these okay in any situation?
- At what size and shape of meeting does group psychology dominate individual psychology?
- How can I give sufficient autonomy and stay close enough to ensure fair, unbiased recognition?
- What are the plausible second- and third-order effects of moving somebody to a different team?
- How can something like a project estimate be both bullshit and necessary at the same time?
- How can I tell if this engineer has better technical judgment than I have?
It’s incredibly difficult to come up with practical answers to these questions, and even harder to come up with an answer that generalizes to all teams at all times. There are certainly no easy answers to any of these questions. These questions represent hard problems – harder than most engineering projects.
The projects that you’ll drive to solve these problems as an engineering manager are also bigger than most engineering projects at most companies. It takes time to see the effects on your team of the actions you take, probably a lot longer than your average scrum sprint. The actions will also be bigger in terms of impact – making a change to a team of five people that lifts those five people for the longer term is multiples of what you might be capable of achieving by working as an IC directly on projects.
And if you miss working in the system and not on the system, and decide to return to engineering, it’s likely your experience working on these hard big problems and your newly developed ability to work through people will leave you in great shape to tackle harder and bigger engineering projects.
Maintaining technical skills as a manager
One of the refrains I often hear from folks who are considering some time in management is a fear of rusting technical skills, technical knowledge, and ability to execute. Remember, as a manager, you’ll work on the system, not in the system – that is at least one zoom level removed from the codebase.
On a manager’s schedule, you’ll find yourself in meetings a lot more than before. You’ll also find yourself spread across many different concerns at different zoom levels, possibly in the same day. It is, therefore, pretty certain that your raw execution skills will rust and your high-fidelity feel for a stack or technology will fade.
To which we say: this is the right sacrifice to make.
“You’ll need to understand things you didn’t understand well before. Not just the machines, but the people who operate the machines”
To effectively operate on the system, you’ll need to develop an ability to step back from the frontline to gain perspective. You’ll need to partner that with an ability to go both broad and then deep when required. This doesn’t mean just broad and deep in terms of the technology stack, or the organization – you’ll need to understand things you didn’t understand well before. Not just the machines, but the people who operate the machines. Not just the results, but the strategy that underpins the results. Not just the how, but the why.
Expand your horizon through management
This expanded horizon will require you to develop a whole new set of skills. You’ll need to develop a nose for when things look like they need deeper attention. This is hard because your picture is lossy and because you don’t have the same amount of time you had before. Something might look fine but feel off.
“You’ll need to develop not only expertise, but the ability to be an expert in not being an expert”
Then, when the need arises, you’ll need to be able to go deep. Deep into the details of the feasibility of a technical plan, the rationale of a long-range technical decision, or the motivations of your star performers. To do this effectively, you’ll need to develop not only expertise, but the ability to be an expert in not being an expert. The ability to lean on other disciplines, experts, and perspectives and to synthesize your learnings into understanding and then action. To manage your time effectively you’ll need to figure out how deep is too deep, and what the right zoom level is, and this will take practice.
So while your raw execution skills in the codebase might be rusting as a manager, your general ability to quickly absorb and synthesize new perspectives across different concerns and different domains, at different zoom levels, becomes a key tool to your effectiveness.
What’s important to appreciate is that this is also one of the key tools you need to develop as you grow from senior engineer to staff and principal levels. The skillset you acquire as a manager is not restricted to management, but amplifies your impact should you return to engineering.
The different paths to career growth
If you’re a senior engineer, or indeed an engineer at any level, spend some time in management. Enough time that it gets hard and you get to fail big, feel some pain, recover and learn.
At the very worst you’ll come back to engineering a better engineer with a deep understanding of how to scale yourself through people, how to take on bigger and harder projects, and a newfound ability to gain perspective by going broad and deep across many different disciplines and concerns. At the very best, you’ll develop a love for a different, potentially deeply satisfying way of building new things at a new level of scale.
Why not take your next swing at management with Intercom? Remember, we love people who genuinely want to learn and grow – which means we support people at every stage of their growth.