For some positions, the hiring process includes a technical interview.
This technical interview revolves around a merge request to a small Rails application created for the interview.
Up to 24 hours before the call, we will send you a link to the merge request and ask you to spend up to 30 minutes of your time reviewing it, as you would for any contribution to a project you were working on. The merge request is self-contained, so you shouldn't need to look elsewhere in the project.
This technical interview is a 90 minute video call and screen sharing session with the interviewer(s), where they will ask you to walk them through your review, and where you will also write some code to improve the merge request.
If a candidate desires an alternative assignment or test to the one detailed above, or if they object to what they perceive as unpaid work, we should be open-minded. Seek to understand their discomfort with the assignment and respond appropriately. Most of our candidates respond positively to the test and feedback, and this is not a way to get free contributions. In fact, the technical interview can be quite costly for us.
It's also worth noting and making the candidate aware that we no longer request that they work on live or "real" issues as part of the technical interview. As described above, the merge request we send is self-contained and drawn from a curated bank of technical exercises.
If GitLab team-members are interested in becoming qualified to conduct technical interviews, they can read more about the process in the hiring processes project, specifically the page "How to become an interviewer".