Help build the future of open source observability software Open positions

Check out the open source projects we support Downloads

Grot cannot remember your choice unless you click the consent notice at the bottom.

Inside the life of a tech lead at Grafana Labs

Inside the life of a tech lead at Grafana Labs

14 Apr, 2023 10 min

Here at Grafana Labs, I’m a member of the Data Visualization squad, working on features in the Grafana project such as the Geomap and Canvas panels. About eight months ago, I was asked by my skip-level manager to assume the tech lead role in my squad. 

I quickly accepted, but to be honest, I didn’t really understand what exactly that role entailed and how to be successful in it. I spent a few sleepless nights Googling things like “What is a tech lead?”, and reading blog posts or watching YouTube videos on the topic. Then I realized there probably was a healthier and more beneficial way to get the answers I needed. 

Grafana Labs officially defines a tech lead as someone who leads the technical decisions for a project. The tech lead role can be held by any engineer of any level, though typically it’s someone at least at the senior level. (Becoming a tech lead is not a job promotion, but it’s a great opportunity for growth.) Tech leads are responsible for the health of the code base, assisting with code reviews, and taking a keen interest in the productivity of the entire team.

While the definition is helpful, I wanted to dive deeper into not only what a tech lead is, but also what it’s actually like to be one at Grafana Labs.

I decided the best way to get the answers to my questions was to reach out to other tech leads. I chose five people whose experience ranged from newcomer to pro, and I set out to learn how each individual approached the role, how they operated in it, and how they found success.

Rather than keep my findings to myself, I thought it would be helpful to prospective and future (and current!) tech leads to share what I learned.

One big takeaway: The tech lead role has an innate degree of opaqueness to it, and the best way to find success in the role is to lean into that and mold the role into something based on your own strengths. 

Asking around for advice

An image of a Grafana Labs logo surrounded by the words 'Tech Lead' and question marks
A peek inside my brain when I was asked to be a tech lead.

For my research, I took a semi-scientific approach, asking each person a set of fixed, qualitative questions. I wanted to know about their career backgrounds, how they defined their tech lead roles, and what their days looked like. (How much time is spent coding vs time spent on other tasks?) I also asked about their favorite and least favorite aspects of the role. Finally, I wanted to know what advice (if any) they would give someone starting out as a tech lead, and what books, blog posts, or other resources they used to level-up their leadership skills and other tech lead-related soft skills.

The path to becoming a tech lead

“What was your background in first becoming a tech lead?” was the question with the most varied answers, though some key themes came through. 

Based on my limited sample set, it seems a common path to becoming a tech lead is a result of filling a natural gap in a team, whether that stems from a need for increased project management or increased team alignment. Rather than seeking the title on their own, most people were selected for the role by leadership because they were recognized as already fulfilling the role naturally — which was what happened in my case as well. 

It was interesting to hear how similar stories played out over many years and through different parts of the engineering organization. That speaks volumes about the ability of Grafana’s leadership to recognize people and provide them with meaningful opportunities for career growth.

One Grafanista’s path to becoming a tech lead was particularly interesting to me. They joined back in the earlier days of the company, around 2018. Outside of their normal individual contributor (IC) work, they took a keen interest in experimenting with different approaches to improve internal processes for their team and the engineering organization as a whole. This allowed them to increase their impact, and it showcased their interest in growing outside of the standard IC track. When leadership approached them to become a tech lead, they were pleasantly surprised and happy to be given a role that allowed them to continue to code a lot, mentor others, and participate in discussions that go beyond coding duties.

Defining the role 

Grafana Labs has the official definition of tech lead that I mentioned above, but those that I talked to have their own additional ways of defining their roles — which can vary depending on the team and even personal interests. But one thing is clear: It’s not all about coding and making technical decisions. A lot of what a tech lead does is manage projects, communicate, and tie-break. Here are a few ways they describe themselves:

  • A point-person ensuring the team is working towards quarterly goals
  • Someone who reviews PRs and writes and reviews design docs
  • A person who communicates with the manager, product manager, and the team, and improves team processes over time
  • The equivalent of an American football quarterback — someone who makes their own contributions and coordinates with the rest of team

In other words, no tech lead is the same. A tech lead should make the role their own by leaning into their strengths. Another a key lesson was that a tech lead should be an advocate for their team, representing their team’s interests at an organizational level, and protecting their team’s time through close coordination with the engineering manager.

Day-to-day life

Every tech lead spends their days differently. Some of the people I polled leaned into the project/coordination aspects of the role and spent about 30% to 40% of their time coding. Others, meanwhile, were coding 100% of the time (if that can even happen in a world with meetings 😉) and squeezing in project/coordination duties only as needed. 

What the daily tasks comes down to, it seems, are a mixture of personal preference (making the role your own) and juggling the needs of a team. How a tech lead allocates their time depends on the balance they want to strike: If you want to be a strong technical leader, you will need to code more. If you are more interested in honing project management skills, you will spend more time on the communication, unblocking, and planning tasks. That being said, things always shift based on what makes sense for the team.

Across the board, the tech leads agreed that unblocking team members is critical. What this can look like is reviewing open PRs for the team, enabling the team to review PRs, and knowledge sharing through pair/mob programming.

Favorite aspects of the role

Here are some things Grafanistas like about being a tech lead:

The versatility

  • Focusing on technical growth but also wearing many different hats 
  • Doing individual contributor work and dipping your toes into leadership tasks
  • Solving challenges and working through possible solutions without just jumping to coding

The flexibility

  • Having slightly more freedom when it comes to making a decision on what you want to work on, whether it’s technical feasibility, experimenting on longer term solutions, working with a variety of people from across the org (such as product and UX), or more

The broad scope

  • Working cross-functionally across the organization with engineering managers, product managers, UX, etc.

The influence

  • Being able to help shape the roadmap
  • Mentoring others on the team and helping them grow 
  • Being able to participate in leadership and represent your team at the organizational level

Side note: If a tech lead starts liking interactions with people more than coding, it may be a good indicator to switch to the management track.

Least favorite aspects of the role 

As I assumed my responsibilities, I found it helpful to know what other tech leads didn’t love about the role. A couple of them noted the lack of authority they have — one called it a “diplomatic position.” I learned that balancing the limits of the role can be tough, too. For example, if a teammate has a performance issue, the tech lead can’t do much about it since they are not the engineering manager. I also found out that the role is a lot about passing around information and leading others through influence. One tech lead told me, “The best success you can have in leading others is through achieving mutual understanding and serving them, versus telling people what to do.”

A few other reported downsides:

  • Some chores may not be as satisfying as shipping code. These include backlog grooming, creating Github issues, and planning. This alludes to the more hybrid nature of the tech lead role, where your responsibilities now extend outside of the normal IC track of delivering bug fixes and features.
  • Dealing with changing priorities and balancing the needs of different stakeholders — basically the project management side of things 

Advice for someone new to the role

The current tech leads shared these pieces of wisdom:

  • Try to plan and scope out work into smaller chunks.
  • Over-communicate — this is especially important in remote work environments.
  • Lead by example.
  • Collaborate with your engineering manager.
  • Be patient if you’re not performing. It will take time to realize you are making a difference.
  • Realize you are not working alone — not all responsibility lies on your shoulders. Reach out to others for support. Leverage your colleagues’ knowledge to help you understand problems and push things forward. Be explicit about your vulnerability in the role and have humility. In expressing this vulnerability you should appeal to empathy: “I’m trying to get things aligned” or “I need help troubleshooting this.”
  • Keep a beginner’s mindset. 
  • Do not try to achieve perfection. 

Aside from the obvious resources that any software engineer reaches for (like Stackoverflow), the tech leads suggested a few other things to help me in my new role. 

Book recommendations

Staff Engineer: Leadership beyond the management track by Will Larson

Guidance and practical advice for individual contributors who want to advance their career in tech without becoming managers.

The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change by Camille Fournier

This book is standard reading for all EMs at Grafana Labs, and provides a shared understanding that tech leads can leverage to facilitate collaboration.

Managing Humans by Michael Lopp

A humorous yet insightful take on the challenges of leading and managing teams in the tech industry.

Sacred Hoops by Phil Jackson

This book explores the leadership philosophy of legendary NBA coach Phil Jackson, highlighting the importance of teamwork, trust, and selflessness in achieving success.

Not every recommendation was a product or book, though. One suggestion was to have meetings at a regular cadence, where tech leads in a given division or department share high-level updates of work in their team, their wins, and struggles. Another piece of advice was to have discussions with my manager to learn about their views on leadership and what constitutes success, which would help me level up my leadership skills and stay aligned.

Conclusion

Now that I’m eyeing a year of experience as a tech lead and I’ve put all of my learnings into practice, I’m feeling more confident. So far, I’ve found that my role has been relatively balanced between product and project management tasks, and the normal IC work of implementing and delivering features alongside my team. I’m still discovering new aspects of the role and areas in which I can improve. The toughest thing for me is measuring my overall effectiveness and impact on the team, and trying to figure out whether or not I’m fulfilling my role in the most optimal way.

Perhaps that is the point, though. The tech lead role isn’t completely clear-cut, and that’s okay — I’m leaning into it. The role should be shaped to suit what someone is good at. You also need to be open, vulnerable, and willing to discover your own unique perspective. And always remember, no two tech leads are exactly the same.

It’s great to work in a company that provides opportunities for growth, and gives me the chance to learn new skills that push and inspire me to become better. As I’ve assumed the tech lead role, I’ve felt support from both management and my team. I’m looking forward to continuing to grow in the role and strive for continuous improvement. 

Finally, thanks to Ed Welch, Dominik Prokop, Kyle Cunningham, Scott Lepper, and David Kaltschmidt for reading drafts of this.

If you’d like to be a part of what we’re doing at Grafana Labs, consider joining the team. We’re hiring!