Engineering Leadership Positions: What You Need to Know
A successful eng org doesn’t just need a group of talented developers — it also needs a competent engineering leadership team to keep pushing things forward.
For many, the distinction between the positions of Tech Lead, Team Lead, and Engineering Manager isn’t necessarily clear-cut. And when you add to this the fact that different companies use these terms differently, and sometimes interchangeably, things can get a little messy.
In reality, however, these positions each take a unique place within an org — and thus probably shouldn’t be used interchangeably. That doesn’t mean that you need to follow any single mode, though; your company’s structure and goals ultimately determine where and how management is organized.
So what does the breakdown of engineering management roles really look like on the day-to-day level? Let’s take a closer look and understand how the differences come into play.
Focus areas for Engineering Leadership positions
To best understand the differences — and overlap — between engineering leadership positions, it’s helpful to establish a few key focus areas for reference. These are:
- Tech Leadership: This encompasses code quality, architecture, code reviews, and evaluation of new frameworks for specific projects or features
- Process Leadership: Software development lifecycle, ensuring standards across teams, and devising/tracking delivery metrics
- People Management: Performance, coaching, mentoring, and understanding how different teams and members fit into the eng org
- Business Strategy: Making decisions about short- and long-term business growth and understanding the strategy of various teams and stakeholders in the org (both your team and adjacent teams)
Because so much depends on the size of an eng org, its goals, and the structure of the planning process, there are cases where one person takes on a bit of everything just as there are cases where it’s best to divvy things up. No matter the situation, though, each management role can serve a crucial function. Now, on to the details.
Tech Lead vs. Engineering Manager
Let’s start by looking at two often-confused roles: Tech Lead and Engineering Manager.
There’s an important distinction to make out front: Tech Lead itself isn’t a formal career level, and it’s a role that might be played by an IC Software Engineer or an Engineering Manager depending on the size of the organization. Likewise, a Tech Lead isn’t necessarily a permanent position or even a promotion within the career ladder.
Tech Leads ensure that the technical aspects of a project are up to snuff before the code is shipped. They spend more time directly alongside the engineering team and might need to get ‘in the weeds’ while also delegating more specific tasks. Senior engineers need expertise in technical subject matter and programming languages, while Tech Leads use their expertise in different ways: sharing resources, solving problems based on a team’s characteristics, or evaluating which strategy best fits a sprint.
Because a Tech Lead evaluates and ultimately helps roll out the code, it’s also likely that they’ll spend time:
- Developing and evaluating test metrics like code churn
- Evaluating technical debt
- Ironing out the technical roadmap as the team progresses
- Providing architectural and design oversight
- Hands-on debugging and assessing individual bottlenecks
Engineering Managers, on the other hand, are where tech meets people. Though there is overlap in responsibilities — for instance, planning and communicating goals — an Engineering Manager navigates between a wider variety of stakeholders, including the Product team and broader cross-organizational parties. They’re also the ones who handle things like:
- Professional development of ICs
- Hiring and promotions
- Building team culture
- Mapping out progress and ensuring productivity
TL;DR Tech Leads tend to spend a majority of their time on tech leadership and will have some crossover on the process leadership side, whereas an Engineering Manager dedicates most of their time to people management, process leadership, and, occasionally, business strategy.
Team Lead vs. Engineering Manager
People, people, people: they’re what keep a successful org running and innovating. So when it comes to motivating ICs and executing against the roadmap, it sometimes takes multiple managers.
That’s where a Team Lead comes in.
The Team Lead’s job is to guide the ship for a technical team. Team Leads make sure individual projects run smoothly and can prioritize tasks to make them happen. They don’t necessarily need (or even always benefit from having) a technical background and are instead concerned with how individuals in a small team — usually of around four to ten — are progressing.
A key difference between Team Lead and Engineering Manager is that EMs report to and coordinate with a wider group of stakeholders. You can think of a Team Lead as the type of manager who is laser-focused on just their individual team, while an Engineering Manager may need to take a look at the bigger picture and determine a longer-term roadmap and corresponding metrics across multiple teams.
Whether your organization needs a Team Lead depends on not only its size but also the model of work it follows. Let’s look at a couple of examples to see the interplay of Team Leads and EMs:
- Feature Teams: For this type of long-running, cross-functional structure focused on end-to-end customer products, it’s common that an Engineering Manager can also play the role of Team Lead
- Spotify’s ‘Squad’ Model: This framework utilizes teams of roughly 6 to 12 and allows for localized decision-making based on each squad’s mission. As such, a squad may have a single Team Lead through the duration of a given project, but each IC could also have different EMs within the company
- Other Scaled Organizations: Engineering Managers might oversee a set of Team Leads, who then oversee ICs. For scaling and fast-growing companies, this allows for efficient team-based work while maintaining synergy through the company.
TL;DR Both Team Leads and Engineering Managers focus on people management. Team Leads, however, generally operate in the confines of their small team and assess the progress of individuals and projects rather than focusing on the ‘big picture’ like EMs.
A quick note on Tech Leads vs. Team Leads
Hybrid roles and the engineering career ladder
If this seems like a lot to keep track of, fear not. Engineering career ladders are a valuable tool that helps sort things out and provides real-world examples of how companies of different sizes organize managers.
DropBox, for example, clearly lays out the differences between their equivalent of Tech Leads and Engineering Managers by describing typical skillsets and results. For a Tech Lead (which DropBox labels an IC4 Software Engineer), the expectations include the ability to, “give quality feedback on designs written by other members of my team” and “effectively and quickly de-bug cross-module issues.”
For DropBox’s Engineering Managers, the focus shifts from craft to talent development and decision making. An M3 Engineering Manager is expected to, “structure a team so that the right people are in the right roles” in addition to identifying the right candidates and “proactively share information” across the organization.
To get an idea of how another organization melds these roles, we can turn to Carta’s career framework. Unlike DropBox, they initially combine the roles of EM and Tech Lead. At Carta’s first level of EM, titled M4, the responsibilities are almost evenly split between technical leadership and people management. This person needs to, “predominantly focus on mentorship, technical planning, resource allocation, and project delivery.”
Overall, as your company grows it’s also crucial to recognize that flexibility and adaptation are all part of the process of creating successful engineering leadership teams. The makeup of your team will change as the team scales, and the best way to determine how and when to make these changes is to deliberately review the org structure every ~6-12 months.