5 min read

5 years @ Grafana Labs

5 years @ Grafana Labs
Photo by ANIRUDH / Unsplash

I've joined Grafana Labs as a Software Engineer on March 21, 2018, with one goal: "Learn how to build a company". But when I joined Grafana, I thought I'd be here for about 2 years. And I'm still here after nearly 5 years and I made plans for the next 3 years+!

Off to a kickass start

I joined the company to work with and learn from Tom Wilkie, who knew exactly what I wanted to learn. He told me right off the bat that I should build a public profile and taught me how to give effective conference talks. He also coached me on how to speak to customers. I played a crucial role in many of the contracts we signed in the early days.

I also learnt how to write high performance code and how to optimise and debug distributed systems. I mainly worked on CNCF Cortex, which powered our cloud Metrics product and is the base for the Grafana Mimir project. I helped introduce tracing with Jaeger which then was used heavily to optimise the read path.

I've done this while also working with our sales and customer success teams to make sure we can sign on more customers and support existing users. I also did some product management by translating user feedback and requests into the roadmap. I absolutely LOVED talking to customers and being part of winning deals.

At some point, the team started to grow quickly and I was designated the "tech-lead" for hosted-Prometheus. We assembled a team of high caliber engineers who constantly blew me away. I realised the best thing I can do was to unblock them as much as possible and get out of their way. I focused on their onboarding, and took on as much load as possible in terms of customers (both pre- and post- sales). After a while, I wasn't doing anything seriously technical but rather focused on customer success a lot.

🔥 Failing to evolve and burning out ️‍🩹

This was also a time of rapid growth for the company, and we were slowly setting up dedicated teams for each role. This meant there are now solutions engineers dealing with pre-sales, and product management dealing with product decisions. The company was evolving, but I failed to evolve alongside the company. I was now taking on proper software tasks and I was failing to deliver. Turns out what the company needed in the previous stage was not what it requires in future stages.

A lot of what I did involved a ton of context-switching and quick wins, whereas coding requires long periods of Flow time. I spent enough time away from this, that getting back into it was difficult; I kept reaching into what was familiar and at some point I was running customer support for all of hosted Prometheus. Any non-trivial issue with hosted-prometheus used to be forwarded to me and while it worked in the beginning, it didn't scale as we grew our customer base. I might even have caused some damage by not setting up our customer support up to pick it up later.

I had to eventually give it up and I was assigned some project work, and a couple of critical customers to work with. I struggled. A LOT. I was constantly distracted and could never made a lot of progress and I kept saying yes to the sales team requests to talk to customers because that was my comfort zone. In the end, me struggling with poor performance, moving into a house with low sunglight during winter + the second lockdown and a toxic relationship meant I was completely burnt out around July 2021. I had severe anxiety around deadlines and I couldn't pick up any critical work. It wasn't fun at all.

❤️‍🩹 Recovery and the work-life balance ⚖️

I am forever grateful for the support I got from Grafana Labs during this time. After a frank and honest conversation, they found me the perfect role in the company: Starting the OpenTelemetry squad internally. It was the start of Grafana Labs' strategic investment into OTel and soon after I formed the squad, Juraci joined. Together, our mandate was to figure out where we could make an impact, while also solidifying ourselves as good community members.

For me the best part was that there were no hard deadlines and no customers! I could do whatever caught my fancy in the community and I picked all the interesting issues for me. Soon enough, I started focusing on the Prometheus <--> OpenTelemetry components and had a lot of fun doing it for about 6 months.

But my main focus during this time was to fix my personal life. I had let work consume me in the past 6 months and my relationships deteriorated. Also, I was doing barely anything except work and wasting time. I found a new hobby (bouldering) that I immensely enjoyed and started learning to cook in the earnest. I also made it a point to hang out with my friends atleast twice a week. We established a movie night and did a ton of goofy things that brought us VERY close.

During these 6-ish months, I didn't do anything particularly challenging and that was intentional. I am sure I could have a lot more impact, but I was happy I took this break; it helped me center myself. But the break also didn't last very long; once I had a balance I was happy with, I was itching to do more.

Moving to Product Management

So right after I burnt out, I reevaluated what I wanted from Grafana. I was doing quite well as an engineer, and I could probably become a Principal Engineer in due time, but I wanted more. I joined to learn how to start my own company and I felt like I should diversify my skillset.

I had three paths in front of me: Engineering Manager (EM), Product Manager (PM) and Solutions Engineer (SE). I discarded EM immediately as I didn't think I'd be ready to manage people anytime soon. I was (still am!) barely able to manage myself so I was probably right :)

I love working with SEs at Grafana Labs. They are the technical counterparts working closely with the Account Executives (salesfolk). They help the customer understand the product, understand the problem and showing them how it delivers value. I've done a decent amount in the very early days and I absolutely loved it. PM was also equally interesting because it will teach me the tools to understand what to build. I would also learn how to subtly influence people, as a lot of what PMs do at Grafana Labs is influencing the engineers to go in the right direction. While it might sound duplicitous, it means that you have to work closely with both engineers and customers and make the engineers understand customer problems well so they build the right product.

In the end, I wanted to stay in the R&D org a little while longer, so I decided to become a PM. However I was burnt out, remember? There was no way in hell I was capable of picking up a completely new set of skills. But I let people know that it was where I was headed in about 12-18 months. My manager knew it, and the product organisation knew it. I spent the year and half in the OpenTelemetry squad, slowly talking to the PMs at Grafana, understanding where I could add value as a PM and also waiting for the right PM role to open up (junior-ish PM role).

The Future is bright 🔆

And now, here I am, a brand new PM at Grafana Labs. I plan to use the next couple of years to soak up as much knowledge as possible and hopefully take a sabbatical sometime in 2025 to figure out what I'd like to do next. Maybe I'll love my PM role enough that I'll continue, maybe I'll decide to learn how to sell a product and move to the GTM (Go To Market) org. Maybe I might even go back to engineering. But whatever it is, I do know that the coming years will be challenging and I'm super excited for those!