For some positions, the hiring process includes a technical interview. In the technical interview, you will work on an issue from the GitLab Community Edition issue tracker in a 1-hour screen sharing session with the interviewer, and code 'live', with them there to talk and collaborate with.
After the interview, you will be asked to spend some time to finish the work, get it as close to done as your time allows, and submit a merge request with the changes to the GitLab CE project. The interviewer will then review it, leave feedback, and ask you to look at the feedback and potentially make changes to the merge request to address it. After at most 2 cycles of review by the interviewer and changes by you, the interviewer will let you know whether GitLab will move forward with your candidacy, or not.
The work after the screen sharing session, before submitting the merge request for the first review cycle, is expected to take around one hour. But as mentioned above, feel free to extend this time according to your availability, there is no time constraint.
The time taken on the review cycles should normally take around two hours. While you are welcome to spend more time on this if you choose to, we will never ask you to do so. If you do not have time to do everything you'd like to, please mention those extra items in the merge request description.
You are encouraged to let the interviewer know when you feel like you are getting close to having spent more time on the merge request than is reasonable. In this case, they will make a decision on your candidacy then, based on the information gathered during the technical interview and the work on the merge request up to that point. We do need at least one review cycle before evaluating your candidacy, so please bear that in mind if you're spending more than one hour before submitting the initial merge request.
We do this because we believe that it is the best way for you to see what the work is really like, and for our interviewer to see how you think, code, and collaborate.
Once the merge request is finished, the code you have written will go into the GitLab Community Edition to the benefit of the millions of developers using this free, open-source product, but will also go into the proprietary GitLab Enterprise Edition, which is a fork thereof. When contributing code, you should follow the Contribution guidelines, and you agree to the individual contributor license agreement.
If you prefer not to do the above, please let us know and we'll give you an assignment that does not relate to GitLab but does test the relevant skills.