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](/_astro/javier-allegue-barros-i5Kx0P8A0d4-unsplash.0a2b4c4c_1qdLnF.webp)
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!!!