At Intersect we pride ourselves on delivering quality products quickly. A large part of our success is attributed to the people who lead our project teams. This series takes a look at common scenarios a new or seasoned Tech Lead may encounter.
Wait, what’s a Tech Lead?
A Tech Lead is an individual who, in addition to being a developer, frequently needs to wear several hats and play a different role during the project lifecycle. Factors such as the nature of the project, the phase of the project, and the project team composition impact the type of hat they may need to wear. A Tech Lead may not be the most senior engineer or the best coder, but in order for them to be successful, they do need to be a good listener and communicator and adapt to changes in a project. They are responsible for the project’s technical delivery and are accountable for guiding the team to the finish line. Being a Tech Lead does not always come with a formal title. It is a role that an engineer can play, which may be temporary due to the state of a project, or spontaneous based on a particular situation. Therefore, Tech Leads may not necessarily have the authority to influence others, or expect a higher paycheque, but leading a project is a tremendous opportunity for personal and professional development. The Tech Lead role can be a way for an individual to gain more recognition within their organization, which may become a stepping stone into management or leadership-oriented roles.
About this series
Articles in this series feature observations that have been made and shared throughout weekly Tech Lead sessions that we participate in at CoreLogic Intersect: lessons we learned from personal experiences, books we read, or strategies that have worked in the past. You may choose to read this as a guide, some stories of wisdom, or simply as an introduction to your journey as a Tech Lead. Please keep in mind that the role of a Tech Lead may differ from company to company, but there are fundamental responsibilities that are shared amongst everyone.
As Camille Fournier stated in her book The Manager’s Path: “being a tech lead is an exercise in influencing without authority.” How do you sell your team’s idea to other teams, or convince your team to do what needs to be done in order to reach the finish line? It is no easy feat, and how one prepares for this role is critical as the path of the Tech Lead can often be full of surprises and unpredictability.
Scenario III: Working with a remote team, you have noticed a member of your team has been silent for a few days. They often miss daily standups, miss code freeze, and expect other team members to complete last minute peer reviews. What do you do?
People management is the most difficult part of being a leader. No one likes to confront someone when it comes to difficult conversations, but work has to be done, and the longer it’s delayed, the harder it gets. A direct conversation with the team member is unavoidable here, and since there is a good chance that it will be a delicate conversation, it is important to be sure to prepare for the discussion beforehand. Some things to keep in mind as you prepare:
Could the team member potentially be experiencing any personal challenges you may not be aware of?
The individual may be going through some difficulties that they did not have in themselves to share with the rest of the team. Giving an opportunity to explore this potential is a good way to bring sympathy to the conversation.
If personal challenge has become an obstacle, it is wise to get an understanding of how long the issue may persist. Expect a decreased velocity from the individual, which may also require the need to reduce the entire team’s Sprint commitments. Is there any work that can be shifted around to better accommodate their scheduling? Perhaps they can work on bug fixes or hardening tasks rather than feature work? Make sure to consult the individual before making any of these changes, so that they still see value in their work.
Is there any support or help they need from you? Or anything that the team can come together to solve?
Should we modify daily standup times to accommodate their schedule better? Would a pair-programming session help unblock them? Are they afraid of not meeting the deadline? Can we hand off any part of the work to another engineer?
Do you need more visibility regarding the progress of their work? Is there anything you can identify to help ease the uncertainty?
Are there any other methods of providing status? Are they comfortable creating work-in-progress pull requests? Is the task they are tackling too large and / or complex? Are they perhaps having a difficult time organizing it into manageable chunks? Would it be helpful to further break down the task at hand? Do they need help researching any possibilities to the solution? Can any part of the feature be pushed back?
As you gather information and look to solve the problem, it is recommended to try and make sure your inquiries do not come across as an attack or accusation. Approach them with the reminder that we are all human, we all struggle at times, they are a valued member of the team, and that their accountability is crucial to the success of the project.
Every adventure poses a new set of challenges
Every team and every Tech Lead may have their own set of challenges, so feel free to share your stories with us. More scenarios will be introduced in the upcoming weeks, let us know if there are any particular experiences you would like to read about.