3 Years at Grafana Labs

How time flies! It’s now been three years since I joined Grafana Labs and I’m still extremely glad that I took that chance back in 2022. It’s not fair to compare my current work with my previous job simply because the context and companies are completely different, so I won’t even try.

Remote only

First of all, Grafana Labs in a remote-only company. This means that all processes are design around the assumption, that nobody is sitting in walking distance to each other. Unlike at my previous job, you don’t get a fully equipped desk in some office alongside dozens of your coworkers but instead you get a budget to build your home-office. Things are discussed asynchronously via Slack, GitHub issues, or e-mail. We also use Google Meet and Zoom for situations where synchronous communication would just be more effective or when you just want to catch up with a working buddy!

Combined with regular on-sites (yes, they are called “off-sites” but since we’re a remote company, I think “on-sites” is more fitting) where you meet the rest of your team or even large parts of the whole company, bonding has worked quickly for me. Whenever we start planning for a week together, I get really excited and cannot wait seeing everyone again!

What I’ve noticed, though, is that I take too few breaks during the day. In a shared office I naturally get distracted. When sitting at home or in an office without any coworkers around, it’s easy to get stuck in work. Whenever I notice me falling into this trap, I set up a Pomodoro-like system which forces me to take breaks every now and then.

From release to platform engineering

When I initially joined Grafana Labs, I worked on release-engineering topics for Grafana itself. Automated patching, back porting of fixes, CI, changelog management and so on. After about a year some folks seemed to like the way my squad was approaching things and decided that we should operate on a broader scope. That’s when we moved moved from being release engineers to joining the platform team and thereby become platform engineers, automating things on a whole new level 😁

Technology at scale

That’s also a nice summery for technology as a whole at Grafana Labs. Everything is designed to not just work for one or two servers but dozens, hundreds, or more clusters. Do you have a small service that should run only on single cluster in the production or development environment or should something run on every single cluster across all environments? Our processes need to facilitate that!

While most of our products and tools are written in Go, we are expected to use what works best for a given task. Shell scripts, Python, Rust, whatever. OK, I still want to replace some Bash scripts but that’s just me 😂

Open culture

And it would totally be in my power to just replace something if I thought the replacement would do a better job! The feeling I got right when joining was that everyone just assumes that you know what you’re doing; there is a basic level of trust. At the same time, everyone’s door is completely open. If I have a question, I can just contact the person that I think could help me best and I can expect the person to at least try to help.

Is it perfect?

OK, that was a lot of praise for our company culture. Of course it’s not perfect. There are some processes that should be more transparent or better documented. Of course there are some processes that are totally informal. There are times when communication is misunderstood and emotions start flying.

These are just like drops in a lake, though. I feel very welcome at Grafana Labs and I think it’s a great place to work with challenging tasks and great collaboration opportunities. On to hopefully many more years 😀

This post was inspired by...

You can also find this post linked to from the following pages: