A tech lead isn’t a manager and may not even get a raise. But it’s a reflection of your leadership skills as you climb the ladder.
On just about every engineering team, there’s someone who has a reputation for specialized skills or specific subject area knowledge that other team members end up turning to for advice. Maybe they will help new joiners improve their workflow or code quality. Sometimes they represent the team in dealings with management, helping to figure out the best path forward on specific projects or feature rollouts.
In some organizations, this role is eventually formalized, and such people are given the title of tech lead. Most of the time though, this is a role rather than a job title. A tech lead is a developer who’s taken on an expanded set of duties, helping with mentoring and decision-making, without actually making the jump into management. It can be a somewhat thankless job – but also a way to raise your profile at work and provide a launchpad to your next step up the ladder.
What is a tech lead?
A technical lead (often abbreviated to just tech lead) is a developer who has taken on a set of responsibilities within a team in recognition of their specific skills or talents.
For instance, a team might have a security tech lead who takes charge of security-related coding tasks and advises other engineers on security issues. Or they might take interest in the architectural decisions being laid out by management, and serve as the voice of the front-line devs in those management decisions. Think of them as a senior developer with a specialized area of interest, either technical or organizational.
The senior developer comparison is an important one. Like a senior developer, a tech lead is an individual contributor rather than a manager with direct reports. That being said, every organization is different, and you may find a tech lead with some formal managerial duties.
Tech lead vs. lead developer vs. engineering manager
A tech lead is different from a lead developer (sometimes called a lead engineer). Although they may sound similar, a lead developer is someone who, in addition to keeping their hands in the codebase, is formally responsible for managing an engineering team and working with other managers to advance company goals.
An engineering manager is another step up on the management ladder, spending more of their energy on budgeting, hiring, and strategic planning decisions than day-to-day coding.
What does a tech lead do? Roles and responsibilities
Generally speaking, a tech lead’s day-to-day responsibilities will be pretty similar to an individual contributor. They will typically spend as much as 70% of their time writing or debugging code, while also acquiring some additional responsibilities along the way:
- Help shape the big picture. While a tech lead isn’t necessarily going to be in the thick of strategic decisions, they can serve as the voice of their team when product requirements, architecture, or other big-picture issues are being hashed out, explaining what they and their teammates are capable of and what resources they’ll need to achieve their goals.
- Coordinating with other groups. Larger organizations may have multiple tech or engineering groups, and tech leads in those groups can serve as the “point person” to make sure actions are coordinated in areas of common interest. Again, this wouldn’t be in the realm of strategic decision-making, but if, for instance, company management has decided that two different groups are working on different aspects of the same product or feature, tech leads in those groups may have the responsibility of coordinating on a day-to-day basis to make sure everyone’s on the same page, and that efforts aren’t being unnecessarily duplicated across groups.
- Master the workflow. A tech lead may take a hand in transforming their group’s big-picture goals into a series of tangible tasks that can be parceled out among team members. They might end up with ownership over the Kanban board (or equivalent), or at least can take charge of standup meetings where duties are assigned. Part of this can involve keeping on top of the team’s tech debt and determining who should chip away at it.
- Take on the tough tasks. You get to be a tech lead in part because you’re a superstar developer – and that means that you should reserve some of the toughest team challenges for yourself. The tech lead could also serve as a “fixer,” tackling the issues that other developers have tried their hands at and failed, or problems that are serving as immediate blockers preventing a project from advancing.
- Help teammates level up. A tech lead shouldn’t just take tough problems out of their teammates’ hands; they’ll also want to help them figure out how to solve them. Tech leads should serve as mentors and resources to less experienced team members, helping the whole team work more efficiently. They may take charge of code reviews and pair programming to help upskill their fellow developers.
Not everyone in the tech lead role will take on all of these duties. Some of the scheduling tasks in particular may be seen as more the job of a true manager. And also, keep in mind the distinction between a jack-of-all-trades tech lead and one with a specialty in a specific topic.
If you’re the security tech lead for your team, for instance, your extra duties will focus on that area – making sure other teams within the company are following the same security strategy as yours, for instance, and showing team members the best way to implement encryption or other security techniques.
What skills do tech leads need?
In order to fill the role of tech lead, you must have deep technical skills, but that doesn’t necessarily mean having all the answers. Again, this could mean that you have some specialized area of knowledge that you become a point person for on your team, or that you simply have superior programming chops. But being a great developer is essential for this role.
That said, choosing a tech lead isn’t just a matter of figuring out who the best programmer on the team is and hanging a fancy title on them. A tech lead also needs the people skills that are important for the management track. A skilled programmer, for instance, may be tempted to just yank tricky problems away from other team members and solve them alone – but that’s a recipe for burnout, and doesn’t help your team grow. As a tech lead, you need to have the patience and communication skills necessary to mentor other team members and try to get them on your level as you review their code.
Those communication skills will come in handy in all the other aspects of the job as well: dealing with management’s concerns and translating them into terms your teammates can understand, for instance, or talking to tech leads on other teams and coming up with a common alliance on shared issues, rather than devolving into arguing or finger-pointing.
What are the challenges to the tech lead role?
Developers becoming tech leads may find the increased burden of communication requirements and people management responsibilities to be their heaviest lift. As such, you should think carefully about how you’d feel about spending much of your day in that realm before taking on the role. Keep in mind that the more time spent on tasks associated with being a tech lead means less time spent writing code – and if coding is your real passion, then you might want to think twice.
Tech leads in most organizations are considered a role assigned to a developer, rather than a job title in and of itself. The unfortunate consequence of this is that the role is often not accompanied by an increase in pay, especially in larger or more bureaucratic organizations where pay is banded based on official job titles and managers have little leeway to offer raises. (See this Stack Exchange thread from a developer who found themselves in this predicament for a lively discussion on the subject.) If you’re worrying about taking on extra responsibility without a corresponding increase in compensation, your worries might be well founded.
How can I become a tech lead?
The tech lead role can be a valuable experience for developers who are considering exploring the management track. Because it is often a relatively informal designation, one generally does not apply to become a tech lead in some formal way. Rather, if you’re interested, discuss the possibility with your manager. Be ready to showcase some ways that you’ve already served as a leader or specialist among your peers, and to discuss the parameters of your new role to avoid the potential for burnout.
If nothing else, a tech lead designation can be a feather in your cap when you’re angling for a true promotion, either internally at your current employer or when sending your resume out to other organizations.
Conversely, if you decide management and people skills maybe aren’t for you, transitioning out of the role is much less of a big deal than looking to get “demoted” back to a developer from lead engineer or engineering manager. But for many, serving as a tech lead can be rewarding in and of itself and also the start of a journey to bigger and better things.