A Tech Lead is a senior engineer responsible for leading a team of software developers to achieve a collective goal.
Given my experience in the progression from engineer, to Tech Lead, to manager, to VP of Technology & Engineering, I wanted to share my thoughts on what it means to be a Tech Lead. Much digital ink has been written on this topic and there are doubtless only slightly less Tech Lead definitions as there are technology companies and teams. However, two definitions resonated with me and helped enrich my perspectives on Tech Leads.
In her seminal book The Manager’s Path, Camille Fournier states:
The Tech Lead role is not a point on the ladder, but a set of responsibilities that any engineer may take on once they reach the senior level.
This is an important point as it outlines how someone may assume the role of a Tech Lead for a particular project or business objective, but after a period of time, return to their “regular role”, with someone else assuming the set of Tech Lead responsibilities. Further, this enables different engineers to assume the role at different times with the added benefit of letting people try out a leadership position, in order to see how they like it and perform in the role.
A Tech Lead is learning how to be a strong technical project manager, and as such, they are scaling themselves by delegating work effectively without micromanaging.
For many Tech Leads new to the role, this is a different mindset and a new challenge. Oftentimes as engineers we are accustomed to performing all the development tasks ourselves(I can write all that code, just give me 8 hours and some headphones). However, as we gain seniority and responsibility, one of the keys ways to truly scale ourselves - and the business - is to learn how to delegate tasks and trust in our teammates to perform (and excel)!
Additionally, in his Definition of a Tech Lead, Patrick Kua succinctly defines a Tech Lead as:
A Tech Lead is a developer who is responsible for leading a development team.
Who must code for an
ideal minimum time of about 30%.
Building on this definition, I would add from personal experience that I encourage my Tech Leads to code at least 40-50% of the time! The reason is manyfold:
- Coding allows the Tech Lead to build trust and empathy with developers while also keeping a pulse on the technical beat of the system
- The Tech Lead has sound technical skills that benefit the organization/team and we want her to use them!
- When first trying out the role of Tech Lead, some developers enter with the trepidation of “losing their technical abilities”. As a manager, I want to make sure they are getting plenty of time to code!
What makes a strong Tech Lead?
There are numerous skills that a strong Tech Lead must exhibit. However, in my experience, there are two core competencies of a strong Tech Lead: technical skills and the ability to communicate. While the technical skills are essentially built into the title and requirements of the role itself, the ability to communicate - including the ability to listen - is paramount in an effective leader.
While it is expected that the Tech Lead has strong technical skills, it would be a mistake to assume that a Tech Lead is simply the best or most experienced developer on the team. People skills are equally - if not more - important than technical skills as the Tech Lead must coordinate with other leads, work with team members in other departments, break down technical problems to members of the team with different levels of experience, and communicate the “why” around a specific business problem, rationale, or solution.
Strong Technical Skills
- Has technical experience in a given field or discipline
- Has sufficiently developed in the software area (e.g. feature, Frontend component, DB, etc.) that they are leading
- Listens to the team
- Is an advocate for the team, voicing pain points and successes
- Communicates effectively with management
- Provides constructive feedback
What are some specific tasks a Tech Lead may perform?
- Create project plans and help set timelines
- Maintain and update the project plan(s) based on current team status
- Keep the team focused on the common goal
- Communicate project and team status to management
- Coordinate and partner with additional business units and teams
- Perform code reviews
If the Tech Lead manages or mentors developers, they may also be expected to:
- Conduct 1-1 meetings with members of the team
- Work with direct reports/mentees to provide career development feedback
Musings and assorted questions
Is a Tech Lead a manager?
A Tech Lead can be a manager, but it is not required. If the Tech Lead is a manager, they are expected to conduct 1-1s, provide career development support, and adhere to the management responsibilities of the given organization.
Is a Tech Lead on the path to management?
While being a Tech Lead does not make one a manager, obtaining leadership experience is a prerequisite on the management career ladder.
What if the Tech Lead does not like the role, are they now stuck in it?
This depends on the organization, but in my experience, no. I prefer to give senior developers the opportunity to try their hand out at a leadership role and see how they like it and how they perform. If its a fit, great, if not, no worries. The key for any organization is having a solid career path that equally maps out the management and individual contributor path.
A note on teams.
The role of a Tech Lead varies from organization to organization and even from team to team. Some teams with more experienced members may need less guidance in certain areas and may even share responsibilities across the team. For example, one individual may be responsible for communicating to management, while another takes the lead on updating the project plan, while a third plays the role of a mediator. Ultimately, we want to ensure high-performant teams that efficiently deliver and solve business problems in a scalable manner.
A Tech Lead is a leadership role that can be assumed by any senior member of the engineering team. This role requires a unique mix of technical skills and communicative abilities combined with an openness to grow and learn. A leader who guides an engineering team towards a shared vision while writing code, delegating, and communicating effectively, is on the path to being a successful Tech Lead!