What does a Tech Lead do at Bravo Systems?
Tech Lead role is a very important role at Bravo Systems. This role varies across different companies although there are common things that are expected from an engineer with this title. Usually, this role in other companies is called Engineering Manager. Or Engineering Lead if it’s more technical.
This is what the Tech Lead role represents in Bravo Systems.
Team structure
First, let’s see how we structure teams at Bravo Systems. The basic principle is that we compose a cross-functional team that is self-sufficient to build, release, and evolve their product. That means backend, frontend, UX, QA, analytics, whatever the team needs.
All teams have a Tech Lead who is responsible for the team’s delivery, performance, and quality.
Team members report to Tech Lead, and Tech Lead reports to Head of Technology.
If the product has a considerable amount of external users, a lot of UX, communication with internal stakeholders like sales, account managers, or generally, there is a need for more than basic product management, we assign a dedicated Product Manager for the team. If the team is building internal products or services like our Data Engineering, Data Science, or Platform team, then it doesn’t have a dedicated Product Manager. Product Manager drives product decisions (“what”), prioritizes, and manages external stakeholders. Product Managers report to the Head of Product.
Tech Lead’s role
An engineer can become Tech Lead after advancing to Senior Engineer and showing potential for people and project management.
Tech Lead has three major areas of influence:
- execution (“how”)
- people management
- product management
Execution
Tech lead owns execution (“how”) for his team. First, that means he is responsible to guide technical decisions (architecture) for their product. This doesn’t mean that he makes all decisions but sets a framework for making the best technical decisions. No matter how much he is involved in coding, he needs to have a good technical overview of the whole product (backend, frontend, infrastructure, etc). Next, Tech Lead is responsible for the quality and performance of his team. Together we set goals for quality and performance, create plans for improving those, and monitor them over time.
Tech Lead acts as a project manager in many cases, so he needs to be prepared to continuously improve project management skills.
Owning execution means delivering quality projects on time, with proper project management along the way. Tech Lead needs to know who his stakeholders are, prepare communication plans, and act on them. Techniques like Power Interest grid helps. Next, he leads iteration planning where, together with the Product Manager and team, they break larger initiatives into stories and tasks, give estimations, and commit. Product Manager makes sure that the team understands why they are building a planned set of features. Tech Lead ensures that everyone understands what needs to be the output of that iteration. He also identifies dependency on 3rd parties or another team.
During project execution, Tech Lead regularly informs stakeholders about progress, escalates any blockers or risks, and acts as a point of contact for the team. He also pays attention to have proper documentation for their work.
People Management
To successfully improve team performance and to keep it at a high level, Tech Lead constantly works with his team members on their individual growth and growth as a team. He acts as a coach, delivering feedback so people know they are doing well. Giving feedback can happen anytime like, for example, immediately after a meeting where the developer showed that he went beyond expected, or in a more structured way during scheduled meetings like 1:1s.
He plans the team’s resources based on product requirements, amount of work, and deadlines. That means asking for more people if needed, interviewing and hiring talent for his team.
Tech Lead needs to know his team very well, what are their strong and weak points, capitalize on those strong points, and try to improve weak ones. He helps them evolve to the next level as Engineers and identifies who after advancing to Senior Engineer has the potential to be a Tech Lead (more management position). This can mean finding work that will help engineers evolve their skills, or organizing internal/external training, finding mentors, etc…
Product Management
Product Manager drives product decisions. Tech Lead helps Product Manager make decisions about product priority, what to do next, refine items, etc. Together they develop product strategy and backlog. It is also up to Tech Lead to promote technical initiatives, such as refactoring components, automating parts of the workflow, or introducing new tools or languages. He should also raise concern if the team doesn’t understand why something is prioritized and scheduled for work.
Challenges
This role can become overwhelming. There is a lot of responsibility involved and without a proper balance, the person in this role can become a pure-technical lead, and then team growth and performance could suffer.
Another example is when teams grow above four or five persons without enough senior people. In those situations, with constant 1:1 meetings, other work meetings, and communication overhead, Tech Lead can’t keep up with technical details and effectively manage a team. The team doesn’t have enough senior engineers to lead technical approaches and decisions, and it becomes too much for Tech Lead to handle everything.
Or when there is a deadline pressure, Tech Leads usually focus more on coding and technical guidance, paying less attention to the team’s pulse. This can lead to increased stress with other engineers, cause the product quality to decline, or leave junior developers without needed feedback, slowing down their progress, etc.
What we do right now to overcome this challenge is delegation and with communication between Tech Lead and Head of Technology, ask for help outside of the team.
Another challenge that we face is that people who are excellent technically don’t have a desire to manage people. That’s why, after we identify a Tech Lead, we review it after half a year and check if that person sees himself in that role. Returning to a pure technical path is not considered a downgrade in position.
Conclusion
Tech Lead role can be an excellent opportunity for self-improvement and advancement in an engineer’s career. Staying in a pure technical path above the Staff Engineer level requires challenging and complex projects. And usually, those kinds of projects are not so frequent. Transitioning to a management role like Tech Lead means opening a whole new set of challenges, which are indeed hard but also rewarding.
Tech Lead role is a heartbeat of our organization. Prior to introducing and empowering this role we had hard time managing individuals and their progress, communication channels were ambiguous, and quality and delivery suffered. Now we are continuously getting positive feedback from team members about Tech Lead role and we are certain that we improved our organization significantly after introducing this role as described above. We will continue to support and grow Tech leads at Bravo Team in every way we can.
Written by
Dejan Cvijanović
Head of Technology