Niraj Chauhan

Niraj Chauhan

#father #husband #SoftwareCraftsman #foodie #gamer #OnePiece #naruto

Who is a Tech lead?

Posted by on

Generally, every company will have roles for understanding seniority in the team, these roles can start from Junior Developer to all the way till Principal/Senior Developer. The term might vary from company to company but the idea is the same. The team will be composed of a set of developers with different expertise & experience. And it’s very important to have a SPOC(Single point of contact) for the engineering team to function. These anchor roles are generally called Tech Leads.

Team

Now it’s very important to understand this role before you start judging me 😁. IMHO, a tech lead is a developer who has a wider context of the product from the engineering side, who understands different components/layers used to build a product, can help the team to take tech decisions, and works closely with the product team.

Tech Lead is not a person who manages people, that role used to be called as Team Lead/Peoples manager, but in today’s agile team, you don’t need one.

So in short,

TechLead !== PeopleManager;

Let’s try to understand the difference between a developer & a tech lead by their daily schedule.

A developers standard day:

  • Start the day by checking emails
  • Attend standup & update the team about the progress
  • Work on the task assigned

A tech leads standard day:

  • Start the day by checking emails
  • Attend standup & update the team about the progress
  • Work on the task assigned
  • Attend meetings with the product team
  • Unblock the team by resolving tech issues, plan tech debts, tech huddles, etc.

Above, the schedule looks almost the same, it’s just that the Tech lead is a part of some extra meetings. These meetings will help the Tech lead to understand the product roadmap based on which he/she can start planning any upcoming tech challenges/changes. The Tech lead is also responsible to communicate this back to the team so that all team members are aligned with the upcoming changes.

Apart from attending the meetings, a tech lead also needs to have a good hand-ons experience in the technology. Tech lead also takes the ownership to maintain a healthy team, have good connections with other teams/stakeholders/clients, help the team to deliver a quality product, build trust within the team, and most importantly have a good quality & maintainable codebase.

One fact which we all are aware of, that each and every employee should be replaceable. A Tech lead is not an exception here, so it’s also a Tech lead’s responsibility to identify a mini-me(someone you think can replace you) within the team and start grooming & upskilling that person. This helps the team to transition smoothly from one Tech lead to another and most importantly this will have a very minimal impact in terms of the team’s productivity.

It’s also important to understand that it’s not a mandate thing to become a Tech lead, every dev will have some unique skill, and it’s Ok to continue in the same role. I have personally known some devs who are really good in tech, even better than me, but they are not Tech leads. Becoming a Tech lead should come by choice and not by some organization’s rule/pressure.

If you are a dev and trying to upskill yourself to become a Tech lead then the above writing should help you. Also, I would suggest you, talk to your current Tech lead, take some feedback and try to improve in those areas.

My last suggestion to a Tech lead or a dev who is in the transition to become one:

  • Don’t hesitate to ask questions
  • Maintain transparency & communicate well within the team
  • Never compromise in the quality just because of the release deadline
  • Create an environment in the team to failsafe

Hope this helps!!!