This article was originally written in May 2022 for one of my favourite publications: Gergely Orosz's The Pragmatic Engineer. I recommend subscribing for a 30-minute length version of this article and much more.
When I transitioned to my first formal management role, I remember feeling that I was doing well as an engineer with minimal effort. Work just flowed naturally. I gave folks code pointers sometimes without looking at the codebase. When posed with challenges, I knew how to act and get to the solution.
The journey from junior engineer to senior engineer feels like a continuum, where your perspective of the work changes with each stage of progression. However, the IC to EM transition means learning an entirely different job. The change starts long before you get the title and takes much longer to complete, afterward.
§Transitioning from IC to EM
In most tech companies, the career progression path in engineering forks at around the senior level into two distinct paths. Once at the senior level, you choose if you'd like to progress in the individual contribution craft, as a staff+ engineer, or the engineering management track.
There are good reasons why this happens at around the senior level: it becomes ineffective to shift context between solving complex organisational problems and driving deeply technical challenges toward clarity.
It's natural then that senior engineers might feel interested in trying engineering management to progress their careers. But what does it take to make this career transition a success?
Engineering management roles are rarer: you first need enough engineers in a team for a manager to exist. A significant component of being considered for the role once the opportunity arises is showcasing leadership traits as an engineer.
Most of the time, expectations boil down to four dimensions:
- Technology Strategy: how this person enables the team to build great technology. How they ensure software being shipped is of high quality, that the team has sound engineering practices, and that there is an underlying tech strategy and vision articulating how the team's systems and architecture will evolve over time.
- Business Impact: the impact of the software this team ships, relative to the size of the team. The primary measure is not productivity or throughput, but rather how this team enables the overarching business outcomes and how the EM plays a role in making them happen.
- Process & Delivery: how this person organises their team. How well they work and collaborate with external stakeholders, ensure accountability is well defined, risks are flagged in proactive ways, and the team functions sustainably and autonomously.
- People Management: how this person empowers the people they support. This is not just what their reports have to say, but how this EM promotes growth, matches people to their strengths and growth paths, hires for gaps in capability, and builds a diverse team that fosters a sense of inclusivity and belonging.
Besides the general expectations, some of the key advice I have to offer are:
Know how to manage yourself. While this can sound obvious, it is not an easy task. It's not unusual even for senior leaders to mismanage themselves. Typical examples of mismanaging yourself include:
- Seeking hard goals, forgetting to pace yourself and burning out as a result.
- Drowning in tactics because of pressure and failing to think longer-term.
- Focusing on speed of execution, mistaking motion for progress and noise for signal.
- Learning how to manage yourself is a cornerstone of management and leadership.
Know how to manage up. The best reports I ever had made my job easy. Not because they didn't need my guidance and support, but because they held me accountable for what they needed from me.
Managing up is fundamentally doing a part of your boss's work, so it's an excellent way to show aptitude for the role. A good example of managing up is taking ownership of problems in the team and coming up with options and a recommendation, rather than just talking about it.
Propose solutions to problems. When you're a manager, accountability becomes an even higher expectation. As a manager, your accountability spans beyond your direct team; it percolates the overarching organisational culture, hiring, fairness, diversity, belonging and inclusion. Leaving issues aside has a much larger blast radius, impacting other people. Holding yourself and others accountable for resolving problems is another key trait that makes you prepared for the opportunity.
When you spot something that feels wrong, flag it to the accountable party, and beyond that, make a recommendation for a path forward. You may not have the answers, but start the conversation.
Prioritise hard. In a high accountability environment, one common trap is trying to solve everything that feels wrong. The issue though is that the more responsibility you are trusted with, the harder it is to get to the bottom of your list of problems. It becomes essential for EMs to prioritize well to avoid hindering the team's ability to focus. These traits are also widely applicable for strong individual contributors; they know what matters most and so focus their energy on that.
Keep a running list of your priorities and every time something new comes in, add it to the list. This same list can also serve as a way to set expectations with your manager in case you are unsure, plus it gives visibility on what you are not doing – which can sometimes be as important as the things you are doing.
Most importantly, you should ask for what you want. Most of the time, doing so goes a long way.
The last missing bit is the need for a new EM to step up. It can come through your manager quitting, a restructuring in the organisation, your team growing to a point where your manager has more reports than they can manage, and many other situations. As the stars align – or you align them yourself by convincing your manager you can manage a part of the team – you'll be on your way.
§Stepping up to the role
So the stars align and you are given the opportunity to do the role in the interim. In your first year as an EM, some fundamentals can help you establish yourself.
§Understand the business
In a company, nothing exists in isolation. Everything serves a broader context. As an engineering leader, to be successful, you and your team need to be aligned with the business. You will not be successful if you jump straight into the tech side without understanding the purpose of the team. A large part of an engineering manager's role is building bridges between the team and the broader context. Only with this context in place can you execute against the goals.
To build a well-informed opinion, you need two inputs: local context (the team) and global context (the company).
For local context, my favourite method is Boz's career cold start algorithm. The method is simple, but works very well: you'll hear stories from different angles that will help you build your own beliefs. You will also begin building the relationships which will enable you to be successful in the role.
For global context, spend time reading and catching up on what's happening at the company. This is necessary to understand how the work you and your team does maps to the broader company mission. It also helps you spot opportunities to be impactful.
The more you understand the business, the better positioned you are to shape its direction. Ways you can shape direction include writing engineering strategy, partnering with product and stakeholders to develop a consolidated roadmap and defining longer-term Objectives and Key Results (OKRs).
§Build strong relationships
Your success in a leadership role largely depends on your ability to build and nurture relationships. This part of the work has to do with how well you can work with others and support and be supported by them:
- With your manager. In a healthy environment, your manager is the second most interested party in your success, after only yourself. Asking for help is fundamental to your success. As a new manager, you might assume that now you have to deal with everything yourself. Instead, learn how to use your manager and be okay with being supported by them.
- With your peers. Make your manager's reports your "first team." Do this to avoid the feeling of loneliness that can come with a leadership role. Your manager's reports face similar challenges to yours. They are more likely to have a useful perspective on your challenges.
- With your cross-functional peers. Engineering teams are usually part of a broader cross-functional team, with product, data, research, design, operations and other counterparts. As an engineering manager, these partners directly impact the outcomes of your work and your team's work. They are fundamental to your success and your team's success.
- With your direct reports. Your team defines the largest portion of your success as a leader. A team is a group of individuals, and your success as a manager comes from building an effective, motivated, and impactful group of people. The way people will get the most from you is by you understanding them as human beings, well beyond their technical skills.
If you don't intentionally invest time in these relationships, they will become strictly transactional. Or worse, the lack of relationships may get in the way of getting work done.
§Build a well-functioning team
"All happy families are alike; each unhappy family is unhappy in its own way."
Happy teams share characteristics which are not easy to create but are simple to understand. Here are three qualities that are components of well-functioning teams.
1. Team composition matches the shape of the work. Happy teams are staffed with people who do work they like, in the proportions of the shape of the work you have. Some of the dimensions to look into are:
- Discipline: % of backend, frontend, data, etc.
- Seniority: % of junior, mid-level, senior, staff, etc.
- Projects’ stage of maturity: % of projects which are zero-to-one, as in trying something new, vs one-to-hundreds which usually means scaling and optimisation challenges.
- Type of challenge: % of time the team is working heavily cross-functionally, with multiple stakeholder teams vs working in isolation and writing code.
- Desired trajectory: % of people seeking growth vs people seeking stability in the role.
Second, understand the shape of your team. By shape I mean the strengths, growth areas and development paths of the people you support. How strongly work and team match is a strong predictor of how successful people are in a team, and consequently, how successful you are as their manager.
In an ideal world you want a high-performing team that is motivated 100% of the time by exactly the challenges they're given. In reality, this rarely happens. Learn how to manage and enable performance, even if it means supporting people to find a better fit outside of your team.
2. Healthy engineering craft practices. Engineering managers are functional leaders. You are ultimately accountable for the quality of the software your team builds, even if you might not be writing software yourself.
Periodically running Likert Scale surveys to take into consideration all team members' opinions about different subjects such as state of on-call, architecture gaps, systems ownership usually works well. The maxima is being grounded in the team's sentiment and serves as an input for prioritising engineering investments.
3. Strong connections. What makes a group of people into a team is the strength and quality of the connections between members.
- Shared sense of mission. A large part of building this sentiment is being aligned on what success looks like. Ways to achieve it include crafting team vision and mission statements and being clear about direction rather than destination.
- Social bond. Especially in a distributed world, where video calls can become transactional, creating situations for social bonding is crucial. Social activities in a cadence and dedicating time for team offsites, are examples of ways to create some degree of connection beyond work.
- Diversity. Teams that embrace difference and celebrate diversity tend to be more connected. Diversity is a competitive advantage, and diverse teams make better decisions for their customers and the business.
As an EM, your primary role is in improving the team's outcomes. Building a well-functioning team consists of understanding your team's problems – as every team has them – and working towards improvement, in collaboration with the team members. Start by being a good listener.
§Growing as an EM
If you enjoy the role, your first year will fly by. You will experience the joys of promoting people you support, defusing situations that seemed unfixable, and executing long-term strategies that felt like improbable moon shots back when you started them. You will also experience some of the not-so-great sides of being an EM, such as letting people go, managing conflicts, and saying “no” to things you would've consented to if it was only your call. After some time, you may wonder: “what else is there for me?”
Owning and driving your development becomes more important the more senior you get. It becomes primarily your responsibility to spot, understand and pursue opportunities for your growth. Similarly to the IC track, there are many growth directions you can take into the engineering management craft.
§Broaden your canvas
Suppose your team’s mission evolves slowly over time, and you're near the point where further investment doesn't grant considerably better business outcomes. In this case, there's a high chance you will feel stagnant. On the bright side, at this stage you will have much more space for defining what the future should look like. Some ideas to further your scope and give you and your team a broader canvas:
- Explore collaborations with adjacent teams. With the network and relationships you build over time, it becomes easier to have the leverage to experiment with something entirely new. If you understand the basics beyond your local context, you might find challenges that can be solved at the intersection of teams.
- Ask your boss for more. You could be back at our starting point of being prepared for new opportunities. As mentioned at the beginning, making your manager aware that you could do more and asking for new opportunities can help.
- Make an investment plan. Sometimes you could be doing more within your scope, but you need to be resourced accordingly. Your manager might not fully understand how much more you could do if you were funded further.
- Widen your lens to the problem at hand. Assuming you achieved your original purpose, it makes sense to ask yourself what's next. Using Spotify as an example: it started as a music app, disrupted the music industry and became much more, with podcasts and new audio formats. It's still everything it ever was and is becoming much more.
One common misconception among EMs is that growth in the role comes from supporting a larger number of people. However, the answer is in the most important problems you should be solving for the business. Rather than going on an empire-building journey, you should seek business impact in order to grow as an EM.
§Try something new
Sometimes the answer to personal growth is changing your context. Before changing teams or companies, it's essential to understand what you want. The engineering management track is full of challenges, and there are many paths to further your growth.
- Manage multiple teams: when you support one team, you have total dedication to one problem space. Learning how to manage more than one team simultaneously comes with its own set of challenges such as time management, delegation and stakeholder management.
- Manage a team outside of your technical expertise: when your background as an IC predominantly matches your team's discipline, you have much more specific advice to offer. I had the experience of managing a team heavy on machine learning experience. Having been a web engineer most of my IC career, this taught me more about engineering than any other experience I had.
- Build teams from the ground up: if you had the experience as a manager of inheriting a well-established team, building a team from scratch is one thing to try out. It comes with its own set of challenges, such as establishing the team's identity and hiring all or most members.
- Join a team that is well established: on the flip side of the above, joining a well-established team is another type of challenge. As a new arrival, you won't share all the context and perspectives that the team may have built up over years of working together.
- Manage the managers: Similarly to the IC to EM transition, line management to group management is a complete job change. It comes with its own intricacies, such as having a wide-reaching impact within the business, learning how to manage managers and nurturing a team of teams.
In closing, I hope you find fulfilment in engineering management. I found much more happiness in doing the EM role, even when this meant taking a back seat on the engineering craft.
You may feel differently and if you do, a sideways move from EM to the IC track is career progression. Remember that your decision is not a one-way door. Stay curious, loyal to yourself, keep your heart open to change, and everything else will fall into place.