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 I: You have found yourself in a situation where you will be the Tech Lead of a new project. How do you prevent yourself from being overwhelmed and set the project off on the right foot?
Starting a new project is an exciting challenge, but there can be so much novelty that you may find the excitement transfer into anxiety or stress. One way to prevent yourself from feeling overwhelmed is to break down the information at hand. If this information is not documented and organized in a central place for the team, maybe a great first responsibility as the Tech Lead is to be the one to organize it (or work with the team to determine whose responsibility it should be)!! This may come in handy when you have to distribute information to another team member. Poke holes, and retrieve as much information as you need to cover all of the relevant themes below:
Who is part of the project and what are their roles?
It may be helpful (particularly if you are part of a new team) to have a spreadsheet of all the members of the project containing their roles and responsibilities. This way you have an overview of your points of contact should you have any questions. It is also important to make this resource available to your team, since you will not necessarily have all the answers to their questions, and you do not want to become the single point of contact for all items that your team raises if it can be avoided.
What is the project process?
What is the Sprint Schedule? What are all of the relevant Sprint Ceremonies that your team uses? How often are the Sprint Reviews or Releases? Are there any meetings that you can recommend be shifted around to give your team more optimal stretches of uninterrupted hours? Different projects with different teams involve different processes. As you learn about the flow in your team, if you do not trust the process, question it, and adjust it accordingly. Hopefully you are in an environment where these kinds of questions are welcome in order to help you fully buy-in and believe in the system. Start a working agreement with your team. Make modifications to it whenever there are disagreements, and make sure to follow it once a decision has been made so that others will do the same.
What is the product?
What is the business model and the needs of its customers? At the end of the day, your team is building products to meet the demand of the business and its customers. When you understand these requirements, you can then strategize the solutions to solve them. As a Tech Lead, you may find yourself questioning a particular decision, understanding the reasoning can help you propose the best technical implementation to the solution.
If you have them available, your Project/Product Manager or Solutions Architect may be of great help when it comes to documenting these requirements or to answer any questions you may have.
What is the tech stack?
Is there anything that you need to familiarize yourself with? As a Tech Lead, you may not be the expert on the technology, but be ready to explain it to others. Learn from your team, and always be prepared to explain your findings. If you are not going to be the ‘technical expert’ of the tech stack within your project team, make sure you have a good working relationship with the person on the team who IS the expert. If your team is large enough, you may have the opportunity to work with an Architect or Manager who can help you out with researching new technologies and tools to automate standardizing some of your team’s coding styles.
Are you satisfied with the tools your team is using in order to manage the project?
Are you familiar with any tools that you feel can legitimately help you or your team plan the project better? What existing technologies can your team utilize to speed up the development process?
You do not want to fall into the trap of thinking that some tool is going to be a silver bullet to help your project deliver smoothly and on-time and on-budget, but effective tools CAN make a difference. Whether your team uses Jira or a similar issue tracking software, there are great tools to track project progress and to plan the milestones ahead. Calendar software is a must to organize your schedule, book meetings, and block off personal time. Be careful about introducing new tools, especially after the start of a project.
Take your time to ask the right questions
Please keep in mind it may take several tweaks before you get to a comfortable position on your project. So don’t rush to the ultimate outcome, and aim for incremental changes instead. Once you and your team get into the right flow, things will move much quicker and smoother.
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.