Given that I’ve chosen a pen name that includes the term “tech lead” (Just Another Tech Lead), I thought I should address what I think a Tech lead is and what one does.
I’m not sure my professional role at the moment is a pure tech lead, it’s more of a tech lead team lead engineering manager combo role.
To me, a tech lead is a technical expert, who oversees the technical aspects of a software team.
A tech lead will make architectural and design decisions for the entire team whilst also helping guide team members in their technical choices.
A Tech Lead works in a technical capacity and a people leadership role.
The roles and responsibilities of a tech lead are varied and can differ from company to company, but mainly they:
Again, these definitions vary in different businesses, but this is a rough overview of the roles and responsibilities of a tech lead.
A tech lead also needs to work with other team leads, product owners, and other stakeholders to deliver projects and ensure that the software is going in the same direction as the company’s vision.
Tech leads also support the software development team to give the software engineers technical guidance.
Usually, you would need to have a good level of experience as a Senior Software Engineering field to become a technical lead. Somewhere between 5 and 10 years.
This experience should be varied enough that it gives you enough different experiences from which to draw when making technical decisions.
You should be the person in the team to which people already ask for help with technical decisions, even without the formal title.
To become a technical lead, you want to be keeping on top of new and emerging technologies and make sure you always know the right tools for the job.
If you show these characteristics already, you are ready for a technical lead position.
Tech leads can be managerial positions (depending on the company) or can be a stepping stone toward a managerial position.
There are also technical and leadership courses that you can complete to extend your real world experience.
Nobody said it would be easy to be a technical lead!
You become responsible for all of the code bases, no matter how old and legacy.
You have to communicate to the non-technical stakeholders.
When there’s a bug (and there’s always a bug!) you will be asked why it wasn’t caught in your testing and regression suite.
In some periods of time, you may also have to completely give up coding. You may be needed in other more administrative roles for a period of time and you may not write code.
That’s a big challenge for someone who thusfar has been writing a whole of code.
From a technical perspective, the buck stops with you.
You get more power (don’t let it get to your head) to change the products the way you see they should be.
You get more opportunities to implement best practices as you see them.
You get to learn to be a leader. You mentor, and drive technical innovations.
For me, the upsides really do outweigh the downsides.
Whilst a Technical Lead focuses on technical development predominantly, there are the people leadership aspects to think about.
You are there to supervise (and sometimes, as in my case, full-blown manage) individual contributors.
You are a leader in both a technical capacity and a career guidance capacity.
You need to guide them toward your vision and use them to actualise it.
It’s your job as a tech lead to implement new processes and streamline existing operations.
You will give technical support and guidance to your team on a daily basis.
To be a good tech lead, you will need to be able to communicate well.
The days of just writing code well are done.
You need to be able to communicate your thoughts and vision upwards (your manager) and down (your ICs).
As a good tech lead, you need to be able to explain technical topics to non-technical stakeholder and customers.
You will need to liaise with other departments, such as Product, Sales, UX/UI designers and make sure that everyone is on the same page.
Written and verbal communication skills are a must for a good tech lead.
As a Tech Lead, I would say this, but a tech lead is a critical role in creating a good working environment and a good software product.
You need strong technical and non-technical (soft skills) skills to be a truly great tech lead.
But, from my experience, it’s such a fun and varied role.