Are you an individual contributor considering a career change? Do you think of management as the next step in your career? Not sure if it’s right for you? Don’t know where to start?
Then read on, this article is just what you’re looking for! I’ve been in a similar situation, so let me share some tips on what to look for and which questions to ask yourself before you decide to switch to a management career path. After reading this article, you’ll have a better idea of how to transition from an individual contributor role to a managerial one, and whether it’s even the right choice for you.
My personal story
I’d been working as a software developer for about six years in various teams and departments of 15 to 120 people in companies sized from 15 to 100k+ employees. I could always imagine myself as a manager since, besides tech stuff, I also like connecting people, searching for solutions, helping people grow, and more. But on the other hand, I quite enjoyed my work as a developer, so I didn’t push for the change, I just let it be known in every company that I was open to becoming a team leader or engineering manager in the future. We talked about my moving to a management position in a couple of companies, but only here at Mews did it go smoothly from both sides, so after six years I moved into engineering management.
What does the engineering manager or team leader do?
That’s the million-dollar question. It varies from company to company and team to team. In my opinion, this is one of the most important things to be aware of. You may be a perfect fit for an engineering manager position in one company, while in another you may not be a good fit at all. I’ll elaborate a little on the cases I’ve encountered on my own journey. It won’t be an exhaustive overview, that’s for another post, but it should be enough to highlight the possibilities.
The most typical responsibilities of engineering managers are:
- People (including hiring)
- Facilitating team meetings (e.g., standups, retrospectives, etc.)
- Tech stuff (tech decisions, code reviews, coding)
- Participating in customer interviews
Engineering management with respect to team structure and company size
In smaller teams (around five people) there usually aren’t many formalities. Cooperation is rather organic, roles aren’t narrowly specialized, and team leaders often still do a lot of tech stuff like making architectural decisions, code reviews, or coding itself. Depending on the other roles in the team/company, they’re also often responsible for delivery (when there’s no project manager or similar) and people. I also experienced a situation where the CEO mainly took care of people, but it wasn’t ideal. Since he didn’t work with them on a daily basis, he couldn’t provide good feedback. In this case, the engineering manager was primarily responsible for delivery and communication with customers.
Wanna work with Vaclav?
And check how he’s doing as an engineering manager? Or work in a totally different team and meet Vaclav only by the watercooler?
In larger teams (10+ people) there is a much bigger need for some processes and rules, which is often up to the engineering manager (especially when there’s no Scrum Master). Managers in such teams are almost always responsible for people and do more administrative tasks such as ordering HW, approving vacation, etc. Tech stuff is usually the responsibility of someone else like a technical leader, architect, or lead/senior developer. But I’ve also come across a line manager of a 10+ people team who still wrote code. In general, responsibilities are clearer and typically divided among more people than in smaller companies.
Engineering managers also often attend customer interviews representing a technical point of view. But some teams have business analysts, product managers, or product owners who are responsible for translating customer requirements into tech language.
Of course, every company and team is different and none of what’s written above is set in stone. The main point to remember is that the role of the engineering manager or team leader may vary a lot from company to company and you should consider which one will suit you the best.
What to ask before moving into engineering management
It mainly depends on the nature of your engineering manager position. But in general, the nature of the work will change. You’ll suddenly need to think much more about others than yourself. You’re basically the one ensuring the team works as smoothly as a well-oiled machine.
How will I know that I’m doing a good job?
As an individual contributor, you typically finish a task then get feedback on it. That’s the most common way to find out if you’re doing a good job. As a manager, the situation is quite different. You get your feedback much later or never. And the diversity of engineering manager roles goes hand in hand with the definition of success in those roles. In one team or company you’ll be considered a success when there are no production incidents or surprises. Another company or team might measure success based on customer satisfaction and delivery features. So, my main recommendation here is to ask the relevant people before you start about the definition of success in your role.
Am I ready to change my mindset?
As an individual contributor, you’re responsible for your individual outcomes. You build the solution and it either works or it doesn’t. You get an error, or you don’t. Almost immediately. It’s 1 or 0, true or false. As a manager, you should think differently. There isn’t just one correct result. You’ll make mistakes. You need to think in scale. You don’t necessarily need to write the best code or solve the biggest technical challenges. You should help people in your team and let them grow. Not only that, but the ways in which you’ll feel accomplished will also change.
So instead of questions like:
Should I divide the code into two classes/methods?
Does it make sense to use cache here?
Wouldn’t this query be too resource intensive?
Is this code understandable for others?
You’ll be asking yourself:
- Is this format for standups effective?
- Do those people collaborate enough with each other?
- How can I improve communication with my product manager and customers?
- Should I delegate this task?
- How can I let this person grow both for themselves and the team at the same time?
Am I ready to lose full control?
As an individual contributor, you usually have a lot of control over your outcomes. As an engineering manager, you need to free yourself from the desire to be in 100% control. If you don’t do this, you’ll end up a bottleneck micromanaging everything around you. You won’t attract skilful teammates willing to grow but only “head-nodders” following your will. And I believe this isn’t the most effective approach in the long run. Instead, set the direction, lead by example, trust your teammates, and let them contribute with their qualities on your common journey.
The differences between the two types of roles are summarized below:
|Wants to avoid errors
|Mistakes are inevitable
|Binary logic (right/wrong, 1/0, true/false)
|Fuzzy logic (there could even be situations without any result)
|Focus mostly on him/herself
|Focus on team and scale
|Short feedback loop
|Longer feedback loop
How to find the right company to become an engineering manager
In one sentence? Be proactive! Naturally, the first choice is your current company. You know the culture, people, processes, customers, products, and projects. This all makes it much smoother for you.
But if you see no suitable way in your current company, don’t be afraid to make a change. Think about what kind of company would suit your personality. Ask friends or former colleagues, because information from an insider is always better than PR information from a recruiter. Let people around you know that you’re open to new opportunities. The current IT market is hungry for skillful people, so there’s a solid chance you’ll find what you’re looking for.
From my personal experience, there are usually more capable people and money in companies building their own product for more customers rather than companies building custom software for one customer. On the other hand, it’s often more challenging, but this isn’t always the case.
Don’t forget to ask yourself if you want to try all the challenges described above. And if you’re still hesitating, just try it! At least you’ll know if it’s for you and don’t worry, you can always get back to a developer job later.