The Tech Lead sits at the crossroads of management and engineering. It’s a hard job that requires a willingness to do a bit of everything, and done well it’s a job that can help multiply a team more than a good roadmap or manager can. It’s a lot of fun! Everyone should get to give it a try when they’re ready.

But there’s a catch: unlike other titles like Senior or Staff, there’s only room for one Tech Lead on a team. If you look at things from an individual’s perspective, it seems fine:

%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#90caa7', 'edgeLabelBackground': '#f2eaa3'}}}%% graph LR; A[Entry Level IC]-->B[Mid Level IC] B-->C[Senior IC] C-->X[Tech Lead]; X-->E[Staff Eng];

Thinking about the team as a whole, it’s the only title on the team that can’t have multiple people doing it at the same time:

%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#90caa7', 'edgeLabelBackground': '#f2eaa3'}}}%% graph LR; A[Entry Level IC]-->B[Mid Level IC] B-->C[Senior IC] C-->X[Tech Lead]; X-->E[Staff Eng]; F[Entry Level IC]-->G[Mid Level IC] G-->H[Senior IC] H-->X[Tech Lead]; X-->I[Staff Eng]; J[Entry Level IC]-->K[Mid Level IC] K-->L[Senior IC] L-->X[Tech Lead]; X-->M[Staff Eng]; N[Entry Level IC]-->O[Mid Level IC] O-->P[Senior IC] P-->X[Tech Lead]; X-->Q[Staff Eng];

If “Tech Lead” is a rung on the engineering career ladder it will eventually block the lane for other engineers who are interested in being a Tech Lead or trying to get past them on the ladder. Unlike other titles that allow for multiples. And, depending on the situation, might encourage them to look for a new job where the opportunity is open.

My preferred approach is for Tech Lead to be a role that an engineer holds on a team for a period of time, but isn’t tied specifically to the career ladder. Kinda like a special hat you get to wear for a period of time, that could even include a pay bonus1. But also, when you put the hat on, you know it’s not forever.

%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#90caa7', 'edgeLabelBackground': '#f2eaa3'}}}%% graph LR; A[Entry Level ICs]-->B[Mid Level ICs]-->C[Senior ICs]; C-.->X[Tech Lead]; X-.->C X-.->E C-->E[Staff ICs]; E-.->X B-.->X

If you make Tech Lead a temporary role, on an individual level, it allows more people to experience leadership, and, give them more control over the demands of their career. And on a team level, it’ll allow for greater flexibility depending on the needs of the team.

I generally feel that the best teammates are people who have been in leadership positions before, so, over time, it can be great if many people on a team have held the Tech Lead role.

As a manager, that flexibility is critical when managing teams that don’t have a standard shape. Teams need leadership and clear responsibilities. Tying the Tech Lead title up into a promo conversation and cadence limits what a manager can do to help their team succeed.

  1. Not a salary increase, but something like a bonus after a few months. It’s different work and should be compensated, but you don’t want to have giving up the role be a pay cut. Also, I’ve never tried this, but have heard of it being a thing, and like the idea. ↩︎