A tech lead is not just someone who can code; they also take responsibility for the entirety of the delivery process, including its success or failure. What skills does a modern Tech Lead need? What techniques can help in their daily work? How should a team collaborate on project architecture?
In this series of articles revolving around the role of a technical lead in product teams, I will try to answer these questions (and some more), based on my own experience and observations from organizations I’ve worked with.
Who is a Tech Lead?
A Tech Lead combines technical skills with non-technical ones, such as project management and analytical abilities. They are responsible for guiding the technical team’s work, creating a cohesive technical vision, and delivering solutions to clients.
There is no one-size-fits-all definition of a technical lead. The role can vary depending on the company’s scope. However, several common responsibilities are shared across all Tech Lead positions. Learn and apply these to ensure your team works well together and projects succeed.
Responsibilities
The following responsibilities are summarized with examples. In the next articles, I will also describe these responsibilities in more detail:
Translating Business Goals into Technical Aspects
One of the most important responsibilities of a technical lead is understanding clients' business needs and goals and translating them into technical solutions.
Start by understanding what your stakeholders expect. What do they want to achieve? What are their concerns? Translate these answers into architectural drivers that influence system implementation, such as functional requirements, quality attributes, or design constraints.
By summarizing all the gathered information, you can plan the optimal solution.
Example: The business prioritized real-time data from the CRM portal with minute-level delay instead of days. Therefore, focus on stable data retrieval and updates every 5 minutes, with data caching in case the external system fails.
Designing the Solution
After translating business goals into technical aspects, it’s time to design the solution. As a Tech Lead, your task is to create and evaluate several proposals based on architectural drivers. It’s also important to document the solution plan, using methods like RFCs or ADRs.
This will help define the proper solution, outline the necessary processes, and maintain operational consistency.
Example: Our team created three proposals for retrieving data from an external system: via a serverless function, a separate web application, and within the existing application. After evaluating the drivers and risks, we chose a separate web application and documented this in an ADR.
Defining the Delivery Plan
As a Tech Lead, you are responsible for guiding the developers' team. Your job is to determine what needs to be delivered first, assign tasks, and assess delivery risks. Many teams approach the delivery plan superficially, not realizing its impact on the project’s success or failure. A technical lead engages the team in its development to foster internal interactions and ensure good cooperation.
Example: The functionality to be delivered includes: 3 tasks on the front end, 2 API changes, 2 new tables in the SQL database, and a new index in ElasticSearch. The order is SQL / API / Front / ES. API and front-end tasks can run in parallel.
Ensuring Solution Quality
As a technical lead, you oversee the team’s actions, evaluating the fulfillment of functional requirements and quality criteria of the designed architecture. Additionally, you are responsible for ensuring a consistent testing strategy and implementing best practices within the team. These actions enable effective and long-term solution development.
Example: To prevent observability issues for functioning features, we added the task “add monitoring capability” to the upcoming tasks. Monitoring was also included in our “Definition of done” as a checkpoint.
Teamwork on the Solution
A good technical lead knows their team, understands different personality types, and assigns tasks accordingly. You don’t have to make decisions alone—allow the team to participate in the process. Discuss the pros and cons of each option and analyze mistakes together to learn from them. For smooth operation, your team members must understand each other’s insights.
Example: While working on data synchronization functionality, we developed an API solution that addressed the main team concerns. For the data filtering issue, we couldn’t decide on the best option, so we decided to test both on sample data.
Summary
The responsibilities I’ve described are independent of technology. Whether you work in the cloud, data analysis, or frontend development, certain responsibilities are identical.
In this role, you shape implementation processes and become responsible for the team’s work, often guaranteeing success. The position of a technical lead comes with great responsibility, but it also provides a lot of satisfaction. When a delivered functionality works, the business is satisfied, and quality is high, it’s a reason to be proud 😎
More about the skills of a modern technical lead in upcoming articles. You might also be interested in the Tech Lead workshop, where we go deeply into these topics and practice them.