One question I inevitably get no matter what team I’m on is “What is your job as a tech lead?”
My default answer is, “I burp the manager” which is usually followed by either a smile or a puzzled look. When one of my junior developers recently asked me this it got me thinking, how would I describe my job? Well, I figured why not break it down.
What is a tech lead?
The answer varies depending on who you ask but I like to think that a tech lead can be loosely defined as
Tech Lead = Leader + Developer + Architect
As a leader you must… lead your team. Leading a team is a very broad statement and can be difficult to pin down what exactly that means but that’s leadership. As a leader you manage conflict, build relationships, work with and guide the business, and keep the train running. And that’s just the tip of the iceberg.
As a developer you need to be hands on, aware of best practices, set the technical approaches, and help answer questions. It’s your job to help build the product/project and tell the stupid computer what it needs to do. There’s also the less glamorous side of coding like documentation, dependency management, and CICD pipelines.
As an architect you have to be aware of the big picture and think about non-technical requirements. How does the product/project fit in the long term journey? What are the integration touch points? How can the product be deployed and maintained? What are the technical, legal, and business risks involved? Like leadership this is but the tip of the iceberg.
Do you code as a tech lead?
As much as possible! However you need to put the team’s need first. As a tech lead it’s your responsibility to mend relationships with other teams, prepare upcoming work, and do the “non-technical” stuff that keeps the team running. The challenge is to be up to date with the technical challenges that your team is facing and keep your skill sharp.
Is it meeting hell?
It ebbs and flows but you must make it a priority to code and be with your team! Some days (weeks?) are nothing but meetings, others are nothing but hands on keyboard. You need to assess your team and determine how long you can be away and who you can delegate to.
What leadership style is the best?
This is probably the hardest question to answer because it really just depends on you and your team. A strong overbearing leader on a team that has been beaten down will destroy what moral the team has. In contrast, a happy go lucky leader will quickly run into cowboy and sprawl problems and lose any perceived influence if not careful. TLDR, it’s a lot like parenting; give your team just enough rope to mature and make the right decisions but be firm and put the guardrails back up when needed.
Do you tailor your style to the person you’re working with?
Absolutely yes. As a tech lead you need to know how to reach your team. Some people just need you to coach them and be supportive. Others need a lot of hand holding and clear/concise direction.
Do you have to be the “best” developer to be a tech lead?
No. There’s always someone better than you, deal with it. You do need to know when things are being over engineered and when good enough is all you need.
What do you mean “burp the manager”?
As a tech lead you play many roles. You’re the voice of reason that talks business of the ledge. You’re the one that stay positive when things are down. “Burping the manager” is just a sarcastic way to say “it will be ok”.
I’m only scratching the surface of what being a tech lead is like. You wear many hats and it’s not the most glamorous of jobs at times but it can be a very rewarding position. Be the rock your team needs.