I am a junior software engineer in Slovakia. I feel incredibly lucky that I’ve had this amazing opportunity to join Grafana Labs, as it was among the top companies that I’ve ever dreamed about working for.
The only thing that I was slightly scared of was the fact that Grafana Labs is remote-first, and I would be working full-time from home. Working and studying remotely aren’t new to me, but this is my first job as a software engineer, and most of the people I’ve talked to (and most of the people on the internet) don’t recommend starting your engineering career in a remote job.
I’ve been at Grafana Labs for over a month now. I would like to share with everyone – especially people who are considering a remote job – how working remotely as a junior dev has been for me.
Two Weeks Before Starting
Approximately two weeks before joining Grafana Labs, I received instructions about how to log into my freshly-created email and to join the company’s Slack. I received information about what my first couple of days would look like, and who my onboarding buddy would be. I also received a warm welcome email from my manager with lots of interesting articles, learning topics, videos, and information about the company.
On my first day, I woke up to the stream of welcome messages on Slack, which was the best start of the day I could imagine. After that, I joined my first standup with my team, where I had the chance to meet everyone face-to-face (on screen) and share with them what I am going to work on first. After that, my manager walked me through the 30-day onboarding plan that he had created for me. What I loved about the plan was the fact that it focused on a lot of different areas: growing as an engineer, learning more about the products that Grafana Labs creates, becoming active in the Grafana community, and getting to know the team better by visiting our Stockholm office. After lunch, I had a call with my onboarding buddy Andrej, and the rest of the day I spent setting up Grafana and playing with it.
The first week went by unbelievably fast. I really liked that my onboarding plan gave me a lot of time to learn more about Grafana. I also learned a lot about workflow in open source companies and got a ton of great recommendations for useful tools (e.g. Trailer – I don’t know how I was living without it). And I was also able to merge my first PR, which I was super excited about.
I noticed that one of the biggest advantages of remote-first companies is the fact that everyone documents everything really, really well. Also, most of the meetings are recorded, and therefore you can watch them asynchronously. It is also very easy to watch or even to join meetings of different teams if you are interested in learning more about other areas in the company.
I am going to repeat myself, but my first month went by even faster. Some highlights:
Dan Cech had a really fun IoT workshop at GrafanaCon 2019, and as a part of my onboarding, I was encouraged to try it out. My colleague Andrej brought me from Stockholm a microchip, cables and sensors, and I just followed Dan’s tutorial and was able to measure and visualize temperature and humidity at my home!
I worked on smaller issues such as bug fixes, style updates, and features improvements. I love that I’ve gotten detailed feedback on my work, through which I’ve learned a lot.
I had amazing weekly learning sessions with my onboarding buddy/mentor Andrej about functional programming, observables, and typescript.
I started to work on a new Grafana feature, and so far it has been a great learning experience. As the new feature required UX research, I was able to work with and shadow our UX designer Jess, who in great detail walked me through the UX process. We then brainstormed a couple of ideas, and after Jess prepared the final design for the feature, I was able to start to work on it.
I assisted with (or I would say: observed) the release of Grafana 6.4.0-beta2 and learned more about how releases are managed.
And I blogged about how to start contributing to the open source project.
What I’ve Learned
I still have lots of coding, learning, and exploring ahead of me. This week, I am visiting the Stockholm office, and I’m super excited to meet more Grafanistas in real life.
Looking back at my first month, I came up with this list of Dos and Don’ts for working remotely. Some of them are WIPs for me as well!
Don’t be afraid to ask questions. For some people (including me), it is harder and more intimidating to ask questions in writing. However, asking questions in Slack channels can be a good thing, as it usually makes you write more structured and more detailed questions, and you’ll likely get an answer from the most knowledgeable person about that topic, rather than the closest person to you. Moreover, it might help someone who has the same question in the future, to find the answer faster.
If you are struggling, tell your manager about it.
Be curious and volunteer to help with various tasks. This helps with learning more about different areas and getting a better overview about the company as a whole.
Participate in Donut calls. Donut is a Slack application that is used by many remote companies. It pairs two random people at a company and helps them to schedule a get-to-know-you call. It is a great way to get to know people in your company and build friendships.
Show your personality. There’s a ton of different ways you can show who you are. Share your passions and hobbies by creating or joining topic-dedicated-Slack channels (e.g. skiing, coffee, cute dogs,…). Have a video-lunch with your colleagues to talk about anything, work-related or not. Did you go hiking//traveling/painting? Show some pictures!
Don’t work the whole day. You need to learn to switch yourself off from work; otherwise mental exhaustion can easily take over.
Walk! Don’t be like me! Take at least 3,000 steps each day (rather than 300 🙈).
Stay social. I was very fortunate that my friend, colleague, and mentor Andrej lives in the same city. We are trying to meet regularly in the coworking space and work together. Another thing that can be very useful is attending meetups on topics that interest you.
So… Is Working Remotely a Good Thing for a Junior Dev?
Well, it strongly depends on the person. Some people find working remotely unimaginable and hard, while others prefer it. If you’ve never done it before, you could try it out by volunteering on a remote project. Or you can create your own project with another developer located on the other side of the world to see if you like it. But more than anything else, I would suggest looking for a company that is going to help you with your growth as a developer and support you, no matter where you are located. I’m thrilled that I found that at Grafana Labs!