Tech Lead Responsibilities. How Do You Set Technical Direction?
Published on • 4 minutes readWhen I was going through recruitment questions, I found an easy one - what are Tech Lead responsibilities?
My first thought was technical direction. As an afterthought, I asked myself “What it actually means?”, and it was hard to come up with a response.
The set of skills for a technical leader consists of multiple elements. Some of them are people skills, some are connected to architecture, but there is also a technical part.
It’s usually first instinct to say that Tech Lead’s duty is creating a technical direction, but the term is so broad it’s actually hard to describe what that means.
Technical Direction Definition #
Setting technical direction means creating a vision for every technical aspect of the project. A plan on how to approach technical decisions and overcome future issues, but also creating a vision that should be a motivation factor for a team.
When setting the Technical Direction it's important to focus on four things:
-
Tools
-
Standards
-
Quality
-
Alignment
Tools #
Selecting tools for the project is an important task. If it's possible, it should be the team who should come up with ideas on which tools to work with. The choice of new tools can be an important factor in keeping teams' motivation high.
The tool should be researched before choosing to use it in the project. It will be a huge issue if the maintenance cost exceeds the gains.
The final decision should be on the leader's side. Tech Lead has to make sure that it’s a proper tool for the job.
The choice should be properly documented with the context of the decision, and it's a good idea to create an agreement that this toolset will be continually improved.
Standards #
Tech Lead creates the vision for best practices that will be used in the project. Think about rules regarding clean code, documentation, CI/CD, and automated testing.
It also shouldn’t be the sole responsibility of the Tech Lead to choose all the standards for the team to use. A Leader should rather create an initial idea of how that could look and make sure all the team is aligned.
It should be the team's decision on how to work with the code but it's Tech Lead's responsibility to choose if it’s the proper way. It’s also the Leaders responsibility to make sure that team understands the best practices and follows them.
As a Tech Lead, it's also important to come up with ideas to resolve technical disputes. It can be a process of introducing new standards to the project and receiving feedback from the team.
Quality #
Quality is also one of the most important concerns of a Tech Lead. Setting Technical Direction should include guidance on how to make sure that the project has the best technical quality.
It includes processes such as Code reviews, pair programming, and knowledge sharing.
It should also include a plan for assessing, managing, and resolving technical debt. It can be a process of creating architecture decision records or creating a backlog of tickets to keep track of technical debt. It can also be a process for refactoring code or creating special sprints to resolve technical issues.
Alignment #
It's crucial to think about the alignment that affects all previously mentioned categories.
The project should be aligned with the product and other teams in order to make sure that a proper set of tools, practices, and ways of achieving quality are chosen.
The project team would be set to failure if from day one it used tools that are non-compatible with the ecosystem of other products.
It would also be an issue if the quality assurance process were less strict than in other teams. It could result in misalignment in handling such important topics as security.
Tech Lead should be responsible for synchronizing team ideas with a bigger picture and making sure that it’s compatible with how the other projects work.
Summary #
It’s hard to create a concise technical direction definition, because it's a set of Tech Lead responsibilities that executed correctly should make the project successful.
Creating good technical direction is making sure that technology is proper for the particular project and company. On the other hand, technology should also be motivating and challenging enough for the team.
What is your experience with Setting the Technical Direction? #
Let me know your thoughts on Threads - @this.dev or Twitter - @IdaszakDaniel.
Tweet