This is the second article in a three-part series exploring the important role of the Tech Lead.
The tech lead is an unusual role, which blends both technical and non-technical responsibilities. On one hand, an effective tech lead will still write code, grounded in the reality of an ever-evolving software system.
However, on the other, he or she is responsible for acting as a lead, and this article will explore the different ways a tech lead adds value through leadership.
Leading the development team
The first leadership priority for the tech lead is to help a team of developers work towards a common goal. In instances where a common goal does not exist, the tech lead works with the team to establish a shared technical vision to help the team regain focus in case it starts to pull in different directions.
A group of people are only a team when it is working towards the same goal, and a good tech lead assures that everyone understands what that common goal is.
Small teams of two or three developers often do not need the help of a tech lead, because they can organise themselves and agree on a common direction. However, disagreements are more likely to occur as the team grows, and even small teams consisting of four or five developers can find themselves stuck without a way forward. An effective tech lead can resolve conflict by working closely with the team to find a way forward, or, when necessary, making an executive decision on behalf of the team.
Developers are often highly-opinionated, taking stubborn positions on choice of tooling or frameworks. The tech lead uses his or her conflict resolution skills to focus on uncovering mutual interests and opinions within the team and generating solutions that appeal to a majority of interests. In this manner, the tech lead helps the team regain its focus so it can continue moving towards its goal.
Lead by enabling, not doing
The instincts of a first-time tech lead will be to write code for the most difficult problems. Although this sounds like the best way of making sure the tech lead is happy with the final solution, it sends a message to other team members that they are not good enough to solve the problem. It would also be impossible for a tech lead to solve all technical problems as both the team size and the amount of corresponding work in his or her new role increases.
The effective tech lead realises that he or she cannot work on everything at once, and therefore aims to train the other team members so that they are just as capable of solving the most difficult problems.
The effective tech lead recognises when to simply delegate tasks to an experienced and capable team member, and when he or she might need to coach or guide a less experienced team member to handle a difficult problem, in order for the team member to grow as a developer.
Build on team strengths, not your own
Tech leads can lean too much on their own individual strengths, and it is too easy for him or her to judge others for not possessing certain skills. Over time, a tech lead realises that he or she does not need to be good at every possible skill or task because there will be others in the team who could be better equipped to handle the problem.
The effective tech lead spends time getting to know the people on his or her team. He or she talks to team members one-on-one to clarify their goals, to find out more about their history and the unique skills and strengths they bring to the team. The tech lead can then have a better understanding of who may be better at thinking strategically, or who will be more fastidious with a critical task. The effective tech lead discovers a team is stronger than an individual.
Leading the business (from a technical perspective)
An effective tech lead has a very up-to-date understanding of the ever-changing landscape of relevant software systems. This knowledge, combined with his or her broader understanding of technology, helps people generate better options for their business plans and priorities.
The internet age creates different opportunities that non-technical people may not even be aware of, giving the tech lead the opportunity to play the expert advisor role. He or she can educate and raise awareness of new technologies and platforms, to either build or expand products on, or provide opportunities to improve the operational effectiveness of the business.
Tech leads bring tremendous value to teams and the organisations they work with, outside of the code that they may also write. They help teams focus and move towards a common goal, and focus more of their time on enabling others to improve instead of focusing on completing tasks themselves. Effective tech leads are aware of their own strengths and the strengths of others, building on the collective assets of the group to solve problems more effectively.
Finally, the tech lead can lead the organisation by offering insights to business problems and opportunities which can only be seen through a technologist's viewpoint.
Patrick Kua is a speaker, author and tech lead currently working at ThoughtWorks