Story by
Igor Crnković

Some time ago, I realized that to run a successful development department, I needed to form a core group of people that would push for excellence together. Within the group there is a challenging role of the Technical Lead, who is to lead engineering teams. I would like to explain my vision and expectations from that role.

A Tech Lead role stands for both leadership and technical position, and the result comes from the right balance between the two. Camille Fournier, author of “The Manager’s Path” and a tech lead who became CTO, categorizes specific responsibilities of the Tech Lead role. She describes Tech Lead as:

  • Project Planner
  • Systems Architect and Business Analyst
  • Software Developer and Team Leader

Her classification has inspired us to properly set our expectations! Fournier’s book helped us to learn some lessons and to put in writing everything we would like to implement in t-matix. So, here’s what our official documents say about the Tech Lead role:

Responsibilities of a Tech Lead

Your highest priority as a Tech Lead is to have a wide view of the work so that you can push the projects your team is working on. You have to make sure your team fully understands project requirements, the work is planned and the team is effective and performing well – delivering on time and overcoming any obstacles.

To achieve that and much more, you have to be a good communicator both within your team and to your superiors.

You directly report to Engineering Lead (Head of Development) and are responsible for presenting team performance and project status to them, and if necessary, to the rest of the higher management.

So, what are your exact responsibilities as Tech Lead? They are categorized in three parts:

  1. Systems Architect and Business Analyst

Always have good insight into the overall architecture and be able to design complex software; ask other seniors for advice and consult with them if you find it helpful.

Identify the critical systems that need to be changed and the critical features that need to be built.

Write documents with system architecture and design to serve as a guideline to everyone involved in the project(s).

Always be ready to present the system architecture once you learn all about it.

Finally, your goal is to provide some structure for task estimates and planning the work.

  1. Project Planner

You need to plan out the work of your team following a product roadmap.

In the process of planning, it is crucial to break down features into rough deliverables (milestones) which can be delivered periodically and help the team work faster.

Organize brainstorming sessions and consult with seniors and other team members competent enough to speak about the issue in question.

You have to prioritize, cut, and simplify work to find the best combination of features, quality, and delivery date.

The key is to find places for applying agreed-upon abstractions to enable parallel work of team members.

When you have finished with planning a project milestone, you have to present your plan to Engineering Lead and discuss it with them; it can be an iterative process so be prepared for it.

Also, always point out to the management any risks and reasons a project may take a longer time.

  1. Software Developer and Team Leader

You still need to write some codes by yourself and make certain technical decisions.

The key of your leading is to push work forward – pick up the pieces and do what needs to be done to make progress if any problems should occur during the process of implementation.

In that case, raise any obstacles or challenges as early as possible to higher management (Engineering Lead, Product Management) and ask for help if necessary.

Use your pragmatic urgency to deal with instances of pressure and dilemma, and to estimate when to do something by yourself and when to delegate the work to your team members.

Encourage your team to be self-disciplined, to always think through their work and to point out the problems they come across in the meantime.

This means that you also have to be a great listener; give your team members a chance to speak and hear what they have to say.

The Tech Lead role, after all, is a leadership position, even when it’s not a management position.

Other blogs

PLATFORM
December 18, 2019
Continuosly building, testing, releasing and monitoring t-matix mobile apps

Story by
Josip Virovac

PLATFORM
November 5, 2019
Kubernetes-what is it? And how do we use it?


Story by
GORAN PIZENT

PLATFORM
September 25, 2019
Locust- a Hidden Gem in Load Testing


Story by
Igor Crnković

View all