Being a Tech Lead and what it’s all about

The Beginning

Like most people that start in the software development industry I started working as a programmer. I was given tasks and I had to write code to implement the requested features. My goal was to deliver the tasks on time with the best code possible and no bugs. This was how my success was measured.

My main focus was on myself and the features I had to deliver. But as time went by I started to gain more experience and more knowledge of the product I was working on. People started to expect more things from me besides coding. They wanted someone to think about the technical vision of the product. Someone that could lead and mentor the team. Someone with a wider knowledge of the business.

After two years working on the product as a programmer, I became the Tech Lead and my daily tasks started to change. My success was no longer measured just by coding. I had more things on my plate now.

So, what is this Tech Lead role all about?


Technical Vision

The feedback most people gave me when I started as a Tech Lead was that we were lacking a technical vision for the product and they wanted me to come up with it. I didn’t feel it was right for me to think about this alone so I asked the team what they thought we should focus on in the near future. Curiously, we were all more or less already on the same page. So I gathered everyone’s input and came up with the most important technical tasks we should focus on.

We have many improvements to do on our Web app, our Database and on our API. Whether it’s new features or refactoring code, there’s a lot of stuff to work on. My goal is to guide the team through this vision that we all believe in and make it happen.

The Tech Lead attempts to bring team members closer together, so they see things in the same light.

Coding

In the early days coding was where I spent more time. Although nowadays I spend less time coding, I do believe a Tech Lead should keep writing code with the team. Having knowledge of the codebase is very important to understand the impact of adding new features and the cost of refactoring existing ones.

One thing that I spend more time doing with more attention is code reviews. It’s my responsibility to ensure the quality of our codebase. I expect clear, understandable and tested code from everyone on the team.

I would expect Tech Leads to spend at least 30% of their time coding.

People

As a programmer no one teaches you how to deal with people. It’s all about code. Now, as a Tech Lead, I deal with people more often. I dedicate a lot of time mentoring new team members. My intention is that everyone knows as much as possible about the product.

It’s also a challenge to help everyone feel motivated and growing as professionals. As a team, we have common goals to achieve. But at the same time, people have their own personal goals. It’s my responsibility to guarantee that we are all heading in the same direction and that everyone is enjoying the ride.

When you become a Tech Lead, harmonising the team requires you to spend time understanding individuals and focus on improving interactions between the individuals.

The Business

A software product isn’t just about the code. There’s much more to it. And, as a Tech Lead, I started dealing a lot more with other areas of the product. For example, customer support is very important to understand what difficulties our customers are having and where we can improve the product. With the sales team we get valuable feedback about missing features that prevent new customers from buying.

It’s important to understand how all the pieces work together so you can make the best technical decisions that will make the customers happy and allow the business to grow.

Tech Leads become more aware of the time-sensitive aspect of making decisions, because the timing may directly affect the ability of the business to make money and these have to align.

The Tech Lead role

This role is still new for me and I’m sure I have a lot to learn. I’m thankful that I have people around me that have helped me grow. I’m sure different people approach the Tech Lead role in different ways. But, for me, it’s all about:

  • Having a technical vision and guiding the team towards it;
  • Developing features and improving existing code;
  • Ensuring code quality and good engineering values;
  • Mentoring the team and helping people grow;
  • Understanding how technical decisions can impact the business.

Conclusion

The product I talk about in this story is InvoiceXpress which is an online invoicing software as a service. You can check it out for free for 30 days.

The quotes in this story are from the book Talking with Tech Leads which I highly recommend if you’re a developer moving into a Tech Lead role or even if you’re an experienced Tech Lead.

Hope you enjoyed reading. You can follow me on Twitter @paulosilva86.