When Zsuzsanna from GitLab approached me on LinkedIn, I was sure I had no shot at getting an engineer's job at this kind of company. I decided to give it a try anyway, knowing that I can only gain experience and have nothing to lose.
I have to admit, the whole process made me want to work for Gitlab even more, as each step of the way I could clearly see that company values are not only something written in the handbook, but clear guidelines for every part of the process. You can read all about GitLab's hiring processes here, but I'll also describe each part of the recruitment process as I experienced it, how it was conducted, and what I can advise future candidates:
Stage 1: Questionnaire
The first stage was a questionnaire, with both general questions about education and experience, but also two interesting technical questions with the mysterious instruction: "Describe in as much detail as you think is appropriate," which allowed me to dive into details but also be concise when I felt I have nothing more to add. Even this part was educational and left me with some new knowledge!
Tip: Take your time! It's not a race, better to get it right. Writing is not my forte, it took me over two weeks to write the answers at my own pace.
Stage 2: Screening call
The second stage involved talking to one of the GitLab team-members and let me use tools that are adopted among the GitLab team. This first screening call contained general questions about my experience and why I applied.
Tip: Read the handbook – not all of course, it's over 2,000 pages – but the general section about the company to understand the values and how you see yourself in this kind of environment.
Stage 3: Technical interview
I was assigned a merge request and asked for a code review. During the actual interview, we discussed the code review and ways to improve the code. Later came time for, in my opinion, the most stressful part of the process: LIVE CODING – every programmer's nightmare. Suddenly I wasn't able to hit any proper key on my keyboard … But I was allowed to check any doubts in Google if needed and we ended the conversation with some time for me to ask questions about GitLab, the process and remote setup.
Tip: Don't stress out about live coding. And plug your laptop into the power source, this interview may last for over an hour and with the video call, it can drain the battery really quickly!
Stage 4: Manager interview
The fourth stage was a great opportunity to know more about the team – as in GitLab, you are applying to the specific team. Talking to the manager was a great chance to ask all the questions I had about the everyday aspects of the job and to know who would be my potential teammates.
Tip: Be prepared for a variety of questions, both technical and regarding soft skills.
The last stage was very similar to the previous one, but with the person higher up in the organization. I need to say at this stage stress got the better at me – I really wanted it to go well.
Tip: Just relax and prepare the same way as for the previous step.
After all those steps I was asked to provide references. I chose a colleague I worked with at two different companies and my former manager.
Tip: Think carefully who can provide the most valuable feedback about you. Not the most positive, of course, it doesn't hurt, but also honest. Who knows your good sides and what can you improve.
And after all those steps and stages, all I could do is wait for the final decision …
I can't emphasize enough how transparent the whole process was. I was informed at every stage what was ahead of me, I could pick which time worked best for me, and I got results quite quickly every time. Plus everyone was so nice, not only to me but also to my references, and this was so important to me as I was asking for a favour. I think all of this – making a candidate understand the process, treating them with respect, and making it a nice experience overall, is a great example of acting according to the GitLab values in every way – even through the recruitment process.
TL;DR: would apply again!