[Из песочницы] 10 Tips for Being a Good Tech Lead
Leadership is not a service, it«s a skill. Professionals working as a software developer for a couple of years are given the chance to be a tech lead. However, remember that «with great power comes great responsibility.»
There are several things that you need to take care of while being a tech lead. Obviously, you don«t need to code as much as you need to do while being a software developer. However, there are several other non-coding related things that now are your responsibility to deal with.
10 Tips for Being a Good Tech Lead
Maintaining a tech lead position while not gaining any criticism from the team isn«t possible. This is not due to your incapacity albeit due to human nature. However, the effort can be made to minimize it and becoming better in what you do eventually. After all, you are the leader now.
In addition to leading the development team, the tech lead is, usually, also a part of the interviews. Hence, you might be aware about the most relevant interview questions to ask while recruiting new members for the development team.
Being a tech lead is not about commanding, it«s about taking everyone together for achieving success. The better a tech lead is, the better the development team under the charge will be.
Here are 10 tips that will help any new or veteran tech lead in becoming better at their role:
- Accepting that Imperfection is Inevitable
Being a software developer can be challenging. However, being a tech lead can be even more challenging. Being a tech lead can be extremely rewarding when the team is working well and enjoying their work. However, achieving and maintaining such a condition isn«t that easy.
The worth and patience of a tech lead are tested throughout the entire working time when a deadline is forthcoming, resources are about to go out, and there are unavoidable issues with the team members.
As a team is made of individuals who are all prone to errors due to human nature, the team is also vulnerable to chaos and imperfection. A tech lead doesn«t need to get demotivated from it, instead take it as a motivation to enhance continuously.
There are several solutions for minimizing such a mess in teams, one such is regular feedback. A tech lead needs to promote honesty and candidness in the team members. Moreover, a tech lead must continuously self-assess in order to keep getting better and better.
- Delegation Is Important
Learning to delegate is very important for rightfully assuming the role of a tech lead. When officially leading a team, delegating tasks is very important. It can«t be skipped as there is already much to be done by a technical lead.
Failing to delegate results into a wide number of issues ranging from getting overwhelmed to becoming an obstruction in the team«s way. Delegating is not commanding team members, it is about thoughtfully sharing responsibilities.
In order to build new skills and escalate in the seniority rankings, it is important to take on new responsibilities. Hence, delegating tasks to team members, when done right, can be a way of empowering them.
While delegating, allow team members to volunteer, but not every time. While some are outright ready to take on challenges, some others might lack the confidence. It«s your responsibility as a tech lead to motivate and ready such members for taking on the challenges.
Another thing that you need to take care while delegating is that everyone should get a fair chance. Not the same team member should be given the same delegated task over and over.
For tasks that nobody likes to do, you need to create a rotating list, allowing every member of the team to share the burden in an equal way.
- Don«t Be the Tech Lead All the Time
Being a tech lead is obviously a matter of great responsibility. However, you don«t need to act like a tech lead all the time and in all situations. Some tech leads become kind of gatekeepers and try to micromanage each and every aspect of their team«s functioning.
Software development requires an entire development team for a reason, which is complexity. Hence, it can«t be developed by a single person. Everyone in the team is important for making the project successful.
Don«t be possessive about the designation. Like every material thing in the world, it will be passed to someone else eventually, sooner or later. However, try to make the most out of it when you«ve got the chance.
- Give Attention and Time to Each Team Member
Perhaps the most important thing about being a leader is to be able to have an individual relationship with all the members. You need to conduct one-to-one sessions so that you can get in contact with every member of the team.
You need not to follow the typical regime of one-to-one sessions involving seating opposite each other in the conference room or your cabin. Instead, try experimenting. Take the person on a walk, play a game together, have tea or coffee together, et cetera.
Always remember that learning is a bi-directional process. It«s not only your subordinates who learn from you, but you might also learn something from them.
- See the Bigger Picture
A software developer is primarily concerned with the task at hand. When escalated to the position of a tech lead, focusing solely on the assigned task is not the main focus.
Instead, there are several things that require your immediate attention and even some of them need to be focused upon simultaneously. Hence, a tech lead needs to switch between focuses frequently.
A tech lead must have a broader overview of the entire system than any of the team members. To put it simply, a tech lead must be able to comprehend how the effort of each and every member of the team fits into the bigger picture.
Consider yourself a captain of one of many boats belonging to a fleet. Your team members are the sailors of your boat. They are focused on maintaining the sails, hauling the rope, and doing other tasks to ensure the boat stays intact and keeps on sailing.
However, it is up to you to jump to the crow«s nest every now and then and look way ahead for spotting potential hazards and then take necessary actions to ensure the boat stays safe and on the right course.
- Learn From Your Mistakes and Share It
Life is all about doing, failing, getting up, realizing what«s gone wrong, correcting it, and then doing it again until you succeed. This mantra applies to all walks of life, may it be your personal life or professional life as a tech lead.
You need to be daring enough to make mistakes and humble enough to learn from them. The importance of something learned from one«s own experience increases when it is shared. Hence, you need to share what you«ve learned from your mistakes with your subordinates.
Don«t feel shameful about making mistakes. We all are humans and thus everyone is prone to making mistakes. You need to have the courage to accept your faults, correct them, and let them known to those who will find your experiences helpful. It is a way of enlightenment.
- Manage Most of It, Not Everything
A tech lead is the primary decision maker for most parts of a project, not each and everything. A tech lead must have the final say on all decisions, however, she must at least hear out what team members have to say.
Nobody likes a leader that has complete control over the members or the team. It feels more like a dictatorship rather than leadership. Any genuine tech lead encourages and empowers the team members to take important decisions on their own.
- Prepare Team Members for a Better Integration to The Business
Typically, software developers capable of communicating in a highly technical language and explaining the same in non-technical terms are promoted to undertake the responsibility of being a tech lead.
It«s very common for conversations between software developers and non-technical business representatives to end up in a discomforting note. While the business people end up being confused, the technical people are restless because of not getting their point across.
Software developers that are able to communicate about the technical project in a way that is understandable by non-technical people are given the chance to be a tech lead.
However, in some cases, the tech lead becomes the sole source of communication between the technical team and the rest of the non-tech business personnel.
While the tech team thinks that the tech lead is the sole person capable of talking in their language, the business regards the technical lead as the only person capable of explaining the product in simplistic, non-technical terms to them.
This approach can be helpful in some scenarios like when the team is working on a deadline but not on a long-term basis. In the case when such a tech lead goes on vacation or goes ill, there is no workaround to establish proper tech-non-tech communication.
Great tech leads understand this situation and hence always try to integrate the members of the technical team with the business for avoiding the aforementioned scenarios. This is easily done by taking some of them to the business meetings and inviting to join conversations.
In this way, the ones learning the mechanics of explaining technical things to non-technical people transfer the ability to other capable members of the team. Great tech leads also ensure that the development team has all the resources to successfully pull off the project.
- Same Treatment for One and All
The biggest mistake to avoid while assuming the role of a tech lead is to prioritize one member over others. This creates a gap between you and other team members. A genuine tech lead is one that gives a fair treatment to each and every member of the team.
It is unfair to give special treatment to one team member and undertreat the other. A leader not only keeps everyone together but also maintains equality. For a team, every member is important. That«s why it is a team in the first place.
- The Middle Path in Coding
When one gets promoted to tech lead, the coding responsibility decreases. However, some people continue coding to the same extent as they did before. If you are coding all the time, you«re only fulfilling one part of your multifaceted job.
On the contrary, some newly-appointed tech leads give up on coding altogether. Both scenarios can be equally harmful. Typically, software developers that are able to write quality code quickly are given the charge of a technical lead.
Hence, it is very important to keep and evolve their coding ability. It is desirable for a technical lead to spend about 30 to 60 percent of the total time coding.
These were our 10 tips for championing the role of a tech lead. In addition to having programming prowess, a tech lead must be able to sympathize with the members and understand them inside out. Having a good understanding of the overall business is also important.
Do you have some great tips for ambitious tech leads? Please share them via comments.