Short answer: Yes they do!!
The secret sauce to an engineering team's success is an effective tech lead guiding the team to be on the right track. Without a tech lead the team is really going to carry swords in a battle of tanks. In this blog, we start by defining a tech lead and their responsibilities and explain the important traits of the really effective ones.
A tech lead is a person who will assist the developers with the technical tasks and coordinate the delivery timeline with the manager and other stakeholders. Technical lead in most cases is an unofficial position and sits as the communication bridge between the management and the development team. It’s not easy to be a technical lead as managing the delivery is a responsibility along with his / her personal technical contributions to the team’s deliveries.
The way 10x engineers contribute much more effectively to a team than their peers, a 10x technical lead is someone who ensures the team is making the right technical decisions and guides the team much more effectively than the rest.
Having the right person as a tech lead is really important as it doesn’t matter how hard you are pushing if you are pushing in the wrong direction. A 10x technical lead is going to help you in making the right calls and help you have predictability in the engineering team’s delivery.
Absolutely!! A tech lead is mostly an unofficial designation and is assumed by the best-suited team member. While a technical lead is majorly involved with the technical decisions of the product a manager is heavily involved with people management, 1-on-1s, and even appraisals of the development team.
Q: Are you responsible for appraisals of the development team?
A: You are a tech manager.
Q: Do you connect the development team with stakeholders across the organization?
A: You are a technical lead
Q: Does your team frequently seek your advice on technical/architectural choices? Do you question the technical decisions of your team?
A: You are a tech lead.
Q: Do you spend a significant part of your day reviewing others’ code?
A: You are a tech lead.
Q: Are you the most important person taking the decisions when your team is firefighting a production issue?
A: You are a technical lead.
Q: Do you feel you work more than the manager but earn less than him?
A: You my friend, are a true tech lead :D
The fundamental roles and responsibilities of any tech lead remain the same. What differentiates a 10x technical lead is the effectiveness with which the responsibilities are carried out. Whether you are an experienced tech lead looking to grow or a developer wanting to take up this responsibility, knowing these key functions of a tech lead will help you be a “10x technical lead”.
If you are leading a technical team, very strong know-how of technical architectures and engineering systems is a must. Making the right architectural and technical decisions will be a major part of your role. “Technical know-how” is very commonly confused with “complete understanding” of a technology or a framework, which is often not expected. But having strong basics for evaluating design choices is a must.
Technical know-how includes the ability to conduct effective code reviews and instill that quality in other team members. As the team is going to rely on your reviews to ensure they are following the well-accepted coding and design practices. A major time of your day (30-40%) may go into reviewing code and design documents. Having the knack for figuring out the places a design or code may fail quickly is a must-have quality for effective technical leads.
Your team members are also going to rely on you when firefighting production issues. Having someone who will be able to figure out or ask the right questions when things go wrong will help the developers grow. Figuring out places to look at, is not going to be possible without a strong understanding of how the system and underlying frameworks work. For example, you cannot debug a “Heap OutOfMemory” exception without knowing the basics of the Java processing framework and what application objects could potentially be causing a problem in the failed flow. And this needs knowledge of both the fundamentals of the framework and how the application works.
“10x tech leads” are NOT the senior most developers in the team. They are the ones who are the most capable of leading a particular delivery because of their skills. Including the technical know-how needed for this project and are ready to get their hands dirty when needed.
A tech lead needs to communicate effectively within and outside the team. The technical lead is going to represent the team in discussions with other stakeholders and it's important that the communication channel is both ways. Where the tech lead knows what strategic decisions need to be conveyed to the team and what blockers or concerns from the team need to be raised externally.
“Right attitude” is key to communication. An effective tech lead is not someone who knows everything but rather the one who can accept when something is unknown and accept better ideas from the team. It’s not important to come up with the best solution yourself but to ensure everyone’s voice is heard and the team settles on the best solution irrespective of who is saying it.
Often people confuse good communication skills with sugarcoating and filtering difficult conversations. Sometimes it's important to correct someone and guide the discussion in a particular direction rather than letting the team debate about it. It’s important to convey the message correctly without humiliating and disrespecting someone. When a group of smart people come together to work as a team, it’s almost certain there will be conflicts within the team. Knowing how to gracefully handle them and resolve them is a characteristic of a 10x tech lead.
Guess who a new developer in the team will learn the most from? It’s not going to the manager but from the peers and the tech lead. As the developers are going to work very closely with the tech lead they naturally become the first influence for them even before the managers. And it's important as a tech lead you are mindful of the happiness of the team members and the culture the team is working in.
Being mindful of the team’s happiness is knowing when to ask someone to push and when to take a break to avoid burnout. It’s really important to create a safe and healthy environment for your team, if that means shielding the team from a micro-managing manager so be it.
Technical leads also act as the culture bearer within the team. If the team is seeing a lead work late nights it automatically becomes a norm within the team to work late nights. Similarly, if the lead follows a practice of seeking complete logical clarity in what needs to be done before writing a single line of code, that is what the team will try to imitate.
There is a very high correlation between the happiness and productivity of the team. A healthy working environment is a must, and an effective technical lead ensures one.
Did you know the biggest reason “homo-sapiens” are such a successful species? It is “our ability to form collective intelligence far more superior than of any one individual” -
Applying the same concept to engineering teams, a culture of knowledge sharing and peer help within the team is a trait of all high-performing engineering teams. As a technical lead, it's important to enable this within the team. Sometimes this knowledge sharing and mentoring of developers could come directly from the tech lead or also from other team members that have the right expertise.
Mentorship could mean delegating tasks at the right time. Doing everything, or thinking through all architectural choices is never a technical lead’s responsibility. Mentorship could also be in the form of knowledge-sharing sessions. Team members may have a lot of beneficial information only with themselves, but creating the right platform to share this with everyone helps the team grow together.
Learning from peers and from the tech lead is a great way to introduce the team to newer concepts and keep it challenging for the team. Helping your team members grow eventually makes them capable of making better design choices, writing better code, and helping others. An infectious knowledge-sharing environment within a development team is a sign of a 10x tech lead.
As a technical lead, one inherent responsibility is to also make architectural and technical decisions keeping the context of the organization’s domain in mind. You cannot take architectural decisions like a video streaming platform if you are creating an e-commerce application. It's also the responsibility of a tech lead to not let the team re-invent and learn from others when needed, as they are the ones that are most aware of technical architectures across the organization.
It’s crucial that the technical lead shares the direction in which the organization is headed with the team members, as a tech lead would know most about it as compared to anyone else. No team member would want to just complete a task, but also understand the impact and the logical reasoning behind the change. As an example, if the team is working to reduce the response times of the service, they have to understand why is it important, the extent of the problem, and what changes if it’s reduced.
The concept of “Start with Why” by Simon Sinek is something that applies to a tech team as well. Understanding the functional impacts a change will bring and understanding “why” we need to do it is important for the team to come up with the best solution to the problem at hand. And an effective technical lead ensures every team member is aware of it.
A tech lead is most closely related to the development process than any other engineering leader. And it becomes their responsibility to understand what areas need attention and to actually facilitate action to improve them. Improvements could be as simple as enabling local testing to optimizing deployment cycles.
It’s important to create an environment where the team members are comfortable enough to share when something is wrong and are able to suggest improvements. Having the right processes in place to ensure an efficient working environment and delivery is as important as taking the right architectural decisions for a tech lead.
Process optimization also means looking at the development activity of teams to figure out where is the team investing the most effort and optimizing it. Here are a few questions that will help you understand the high-level areas of improvement.
Is the team spending more effort on production bugs than new features?
Are you experiencing a high change failure rate (percent of deployment that causes a production defect)?
Is the review process only bottlenecked on a fixed set of people?
Is your team taking more time to review than actual development?
Are your deployment cycles taking weeks instead of days?
A 10x technical lead knows continuous improvement is the only way to build a high-performing engineering team and will figure out ways to improve and act on them.
The effectiveness of a technical lead in these areas is what makes a 10x tech lead. It's impossible to do everything perfectly, but keeping in mind what matters will help a tech lead guide the team in the right direction.
If “Engineering is Magic” the ones leading these teams of “magicians” are the ones that play a significant role in providing the right platform for this “magic” to happen.
Explore how AnalyticsVerse facilitates process improvements and assists 10x tech leads
Also Published here