How to Apply for a Position

External Applicants

The best way to apply for a position with GitLab is directly through our jobs page, where our open positions are advertised. If you do not see a job that aligns with your skillset, please keep your eye on the jobs page and check back in the future as we do add roles regularly. Please be advised that we do not retain unsolicited resumes on file, so you will need to apply directly to any position you are interested in now or in the future.
To apply for a current vacancy:
Please refer to the country hiring guidelines to see if we are able to hire in your location.

  1. Go to our jobs page and view our open opportunities.
  2. Click on the position title that interests you!
  3. You will be redirected to the vacancy description and application form, where you will be asked to fill out basic personal information, provide your resume, LinkedIn, and/or cover letter, and answer any vacancy-specific application questions, as well as answer a voluntary Equal Employment Opportunity questionnaire. While the EEO questionnaire has US in its title, it’s open to all applicants from around the world.
  4. Once you have finished, click “Submit Application” at the bottom.
  5. Should you reach out to any GitLab team member on any social media platform, that you have not worked with previously or do not know, requesting to be referred, instead of or in addition to applying to our jobs page, you’ll receive the following reply: “Thank you for your interest in GitLab. We would much rather prefer you apply for the position you have in mind directly via our Jobs page. This will ensure the right GitLab team member reviews your profile and replies back to you! Unfortunately at this time, I can not refer you for the position as we have not had a chance to work together. To ensure we stay inclusive, I can also not influence your application”.
  6. If at any point during the interview process, you send threatening emails, emails containing profanity, vulgar language, or hurtful labels, we will close your application and inform you. We will also not respond any further to you. We aim to hire only people who align with our values.
  7. If your application is rejected because you are insufficiently qualified for the role, you are welcome to reapply to the same position once 6 months have passed. If you gain the skills, experience, or knowledge we outlined in our feedback to you, you are welcome to reapply at any time.

    Average Time-to-Hire

    We strive to be as expeditious as possible in our hiring process. However, the speed of the process can and does vary. The following is our average time-to-hire (i.e. Apply to Offer Accept). The _80th Percentile_has been included to account for outliers.
  • Overall:53.06 days
    • Engineering: 60.17 days
      • 80th Percentile: 51.17 days
    • G&A: 46.13 days
      • 80th Percentile: 29.00 days
    • Marketing: 42.32 days
      • 80th Percentile: 33.56 days
    • Product: 73.33 days
      • 80th Percentile: 68.60 days
    • Sales: 51.63 days
      • 80th Percentile: 37.79 days

Source: Greenhouse (ATS); September 2019

Reimbursement for Interviewing with GitLab

If you are invited for an interview with GitLab and you need financial support for your interview, you may be reimbursed for the following:

  • Childcare or adultcare for dependents
  • Rental costs associated with laptop or computer if you don’t own or have access to one
  • Transportation to a facility with internet access if your home does not have reliable internet service
  • Meeting room costs in a co-working space if your environment is not conducive to an interview
  • Reimbursement for loss of hourly pay
  • Hearing impaired translation services
  • The interest on any credit you obtain to pay for these items upfront

To initiate the reimbursment process please email interviews@gitlab.com. Additional details found here.

Internal Applicants

If you are a current team member and are interested in applying for a current vacancy, follow the below steps:

  1. Log in to your Greenhouse account to view “My Dashboard”.
  2. At the top right corner of your dashboard, click “Hi [Name]” and select “Internal Job Board“ from the dropdown. You can also access the internal job board under the “Helpful Links” section on your dashboard. For more information (and screenshots!), feel free to read the Greenhouse help article.
  3. Click on the position title that interests you!
  4. You will be redirected to the vacancy description and application form, where you will be asked to fill out basic personal information, provide your resume, LinkedIn, GitLab username, and/or cover letter, and answer any vacancy-specific application questions, as well as answer a voluntary Equal Employment Opportunity questionnaire. While the EEO questionnaire has US in its title, it’s open to all applicants from around the world.
  5. Once you have finished, click “Submit Application” at the bottom.

    Adjustments to our interview process

    We want our interview process to be accessible to everyone. You can inform us of any adjustments we can make to better accommodate your needs by writing in the text box labeled Please let us know if there are any adjustments we can make to assist you during the hiring and interview process. found in the application form.
    If you’ve begun the process without sending in an application form, you can ask the Recruiter who’s supporting you through the process to make these adjustments, so we accommodate your needs.

    Typical Hiring Timeline

    These steps may vary role-to-role, so please review the hiring process per vacancy.

  6. Prior to interviewing, the recruiting team will utilize our Applicant Tracking System (ATS), Greenhouse, to identify the most qualified candidates for the vacancy. The hiring team will also source for candidates that may not be actively looking. There are many factors to consider when reviewing resumes. Some of those factors can be aided through technology within the ATS, others require human eyes to evaluate the qualifications. There are several posts that reveal suggestions for reviewing resumes that our team may utilize. Greenhouse, Zip Recruiter and The Balance Careers are three examples.

  7. The employment team does a first round of evaluations by reviewing candidate resumes. The employment team will also refer to the country hiring guidelines before moving candidates forward. Disqualified candidates will be sent a note informing them of the rejection. There are templates in Greenhouse to assist, but messages can be tailored as appropriate. Make sure the message is professional and respectful.
  8. Pre-screening Questionnaire: Some candidates will be sent a pre-screening questionnaire by the employment team relating to the position to complete and return to the sender. The questionnaire and answers are kept within the candidate’s Greenhouse profile.
    1. Team members who review the pre-screening questionnaire answers should refer to the private GitLab applicant-questionnaires project that holds guides on how to review each of the questionnaires. Candidates who receive an assessment are moved to the “Assessment” stage in Greenhouse by a member of the Recruiting team and sent the questionnaire. The recruiting team also chooses a member of the hiring team to review the responses once they are submitted.
    2. When a candidate returns their assessment, the recruiting team member who sent the assessment and the hiring team member who was chosen to review it will receive a notification. Once a reviewer submits the feedback for the assessment in Greenhouse, the recruiting team will be notified.
    3. Candidates that have satisfactory assessment results may be invited to a screening call. Disqualified candidates will be sent a note informing them of the rejection.
  9. Screening call:
    1. If the candidate qualifies for continued consideration, one of our recruiters will conduct a screening call using Zoom and scheduling it via Greenhouse.
    2. A member of the employment team will move the candidate to the “Screening” stage in Greenhouse. They will reach out to the candidate to collect their availability and then send out calendar invitations to both the interviewer and candidate.
    3. Our recruiters will do a screening call; depending on the outcome of the call, the recruiting team or manager may either reject a candidate or move the candidate to the team interview stages in Greenhouse. Note: A resume is required before scheduling candidates for Customer Success roles.
    4. The recruiter will wait 5 minutes for the candidate to show up to the appointed video call link, which is always shared with the candidate via email. If the candidate does not show up to the interview or reach out in advance to reschedule, the candidate will be classified as a “no show” and be disqualified.
    5. The recruiter, hiring manager, or candidate can terminate the discussion early at any point during the interview if either party determines that it isn’t a fit. Be as transparent and honest as possible and provide feedback.
    6. After the screening call, the recruiter will verify that the candidate is not on any known Denied Party List. If the candidate is on a list, the application process will end.
  10. Technical interview (optional): Certain positions also require technical interviews.
  11. Behavioral interview: Some roles include a behavioral interview with a team peer or leader. Behavioral interviews may be conducted as panel interviews.
  12. Further interviews: All interviewers will assess the candidate’s values alignment by asking behavioral questions and scoring the values alignment as part of their feedback form in Greenhouse. Additional interviews would typically follow the reporting lines up to the CEO. For example the technical interview may be conducted by an individual contributor, with subsequent interviews being conducted by the manager, director, executive team member, and then potentially the CEO.
    • Interviewers will follow the same “no show” policy as the recruiters. If a candidate does not show up or reach out to the team, they will be disqualified.
    • All interviewers will complete interviewing training, which will be assigned to them from someone on the recruiting team; generally the Candidate Experience Specialist. Interview training issues can be found in the People Group Training issue tracker.
    • The individual who created the issue will receive a notification when the issue is closed. The issue should be checked to ensure all tasks are completed. If an issue is closed before all tasks are finished the issue will need to be reopened and tag the assignee that items are missing.
  13. References: The hiring manager or the hiring team will contactreferencesfor promising candidates. References will be collected towards the end of the interview stage for final candidates, and they must be checked before an offer is made.
    • Three references will be requested, but at least two references need to be completed, and at least one needs to be a past manager.
    • The recruiting team will move the candidate to the “Reference Check” stage in Greenhouse, and email the candidate to request their references’ contact details.
    • After the reference checks are completed, the person performing the reference check will input a scorecard in Greenhouse with their findings.
  14. At the same time as starting the reference check process, the recruiting team will start the background check process.
  15. Offer package: After reference calls are completed successfully, the recruiting team moves the candidate to the “Offer” stage and submits the offer package in Greenhouse for approval.
  16. CEO interviews: The CEO may choose to interview candidates in a last round interview after reviewing the offer package.
  17. The recruiter, hiring manager, executive, or CEO should make an offer verbally during a call with the candidate, and it will be followed with an official contract as described in preparing offers and contracts.
  18. The recruiting team will, if applicable, add language to the contract that states that employment or engagement is contingent on a valid work permit or visa. A start date should factor in that the approval of a new work permit may take several weeks.
    • Note that, when scheduling a start date, People Ops Specialists requires at least 4 days notice from the receipt of an executed offer until the GitLab team-member’s proposed first day.
  19. The manager follows up to ensure that the offer is accepted and that the contract is signed.
  20. Candidate Experience Specialists starts the onboarding issue.
  21. The hiring manager considers closing the vacancy.

    Inclusive Interviewing

    The GitLab team understands the importance of inclusive interviewing, and we strive to ensure our hiring team is well versed in every aspect of diversity, inclusion, and cultural competence. A positive and comfortable candidate experience is priority.
  • We will make our best effort so that each candidate’s full interview panel has at least one non-male GitLab team-member on it.
  • The following teams will always have one non-male team member in the same department as the candidate on the interview panel.We are working to make it so that every team practices our value of diversity and inclusion in their hiring practices. We are improving, but we aren’t there yet. According to our value of iteration, we aren’t waiting for a system to be in place for the entire company, but instead are practicing diversity and inclusion now by listing the teams that can currently commit to this practice. Hiring managers can make MRs to add their team to this list when they are able to meet this requirement.
    • Business Operations
    • Content Marketing
    • Corporate Events Marketing
    • Digital Marketing Programs
    • Field Marketing
    • Marketing Ops
    • UX
    • Quality

      Conducting a Screening Call

      Calls can last anywhere between 10 and 30 minutes, depending on the conversation.
      Example questions include:
  1. Why are you looking for a new position?
  2. Why did you apply with GitLab?
  3. What are you looking for in your next position?
  4. Why did you join and leave your last three positions?
  5. What is your experience with X? (for each of the skills listed in the position description)
  6. STAR Method questions and simple technical or skills-related questions
  7. What is your current location and do you have any plans to relocate? (relevant in context of compensation, country-hiring guidelines, and in case an offer would be made)
  8. Do you require visa sponsorship or a work permit to work for GitLab? Or do you require the work permit to be transferred to GitLab? If the answer is yes, we will not be able to proceed. You can refer to this page for further clarity
  9. What is the notice period you would need if you were hired?
  10. At GitLab, we are committed to paying competitively and equitably. Therefore, we set our offers based on market pay rather than a candidate’s pay history. So that we can address any gaps in expectations early on, could you share your compensation expectations?

If a candidate is either sourced or referred, please note this in the Public Notes section of the scorecard. This will give future interviewers more context for questions like “Why are you interested in GitLab”.
At the end of the screening call, you will tell the candidate what the next steps will be. You will also inform the candidate of the hiring timeline and the average number of days that it takes from application to acceptance for the role being discussed.

Conducting a GitLab Interview

Interviewing is hard for both sides. In less than one hour, you both need to get to know each other and make a decision about whether or not you would want to work with this person. The following is an effort to provide a set of guidelines to make interviewing a bit less traumatizing for all involved parties.
So you are about to interview folks for a job at GitLab? Please take a moment to carefully read this document on keeping it relevant and legal, including a self-test (please note this document is internal to GitLab while we edit it to make it fit for general audiences). Be aware of the kinds of questions you can and can’t ask. For example, if there is a gap in employment history on a CV, you may ask the candidate what they did during that time to keep their skills current. You may not ask why they were absent from work as it may be related to a medical or family issue, which is protected information.
Keep in mind, if a candidate is located in the same location as an interviewer, in-person interviews or meetings are reserved for candidates if an offer is approved or if the candidate is hired.
When discussing the interview process with candidates, it is encouraged to set the context for the interview by providing links to the handbook, explaining if the interview will be a behavioral or technical in nature, etc. GitLab team-members should not, however, prep candidates for specific interview questions.
New internal interviewers will partake in interviewing training, which will be assigned by the recruiting team. As part of the training, team members will shadow an interviewer and be shadowed by one in order to make sure all GitLab team-members are following our interviewing processes and creating an excellent candidate experience. The interviewer who will work with the team member should be aligned with either their timezone or the role they’ll be helping interview for. Feel free to ping @gl-hiring in your training issue if you are not sure which interviewer to contact, or send a message in the #recruitingchannel in Slack.
Interviews should not be recorded. For interview training, we encourage our GitLab Hiring Managers to conduct mock interviews internally, or have no more than one GitLab team member at a time shadowing live interviews.
It is typically expected for new hires to focus on and complete their onboarding for at least two weeks before being part of an interview team for any vacancies. There may be extenuating circumstances where a team member needs to participate in interviewing sooner than this, but they should always complete the interviewing training and discuss the vacancy thoroughly with their manager and the recruiter prior to being on an interview team.
Remember, interviewing candidates is everyone’s job as part of our collaboration value! You may be asked to participate on an interview team, as we continue to hire great talent.

Best Practices

Before The Interview

  • Screening - writing a good resume is an art, and not many people master it. When you read a resume, look for evolution rather than buzzwords, and, if something sparks your curiosity, prepare to ask about it during the interview.
  • If the process before the interview is taking too long, reach out to the candidate, apologize, and explain what is going on. It is really frustrating to not hear anything from the other side just to have the conversations resume later as if nothing had happened. Show respect for the candidate’s time.

    During The Interview

  1. As candidates move through the interviewing process, interviewers take notes within Greenhouse. As they move through the process, interviewers have the opportunity to review any specific notes previous interviewers have left for them, although the full feedback notes from previous interviewers are obscured from current ones in an effort to avoid creating bias. Hiring managers, executives, and people ops are able to see all feedback notes at any time.
  2. There is an unbalanced power relationship during the interview, and interviewers should be mindful of this fact. The interviewer is in a powerful position: they will decide if the candidate will move forward or not. Be as friendly and approachable as you can. Be frank about what is going on, and set clear expectations: tell it like it is. This has the added value of getting people comfortable (over time) and allows you to get much better data.
  3. Communication is really hard, so don’t expect perfect answers. Every person is different, and they may say things differently than what you expect or how you might say them. Work on interpreting what they are trying to say rather than demanding them to explain it to you. Once you have an answer, validate your assumptions by explaining what you understood, and allow the candidate to correct your understanding of the story.
  4. Don’t go checking for perfect theoretical knowledge that the interviewee can google when needed during regular work or expect them to master over the course of a 30-minute conversation a problem that took you 2 months to dominate. Be fair.
  5. Aim to know if, at the end of this interview, you want to work with this person.
  6. Interview for soft skills. Really, do it! Pick some behavioral questions to get data on what the candidate has done before and how their behavior aligns with the company values. We are all going to be much happier if we naturally agree on how things should be. You will be asked to evaluate how the candidate’s values align with our own in your feedback form, and asking behavioral questions is the best way to assess this.
  7. Consider having more people interviewing with you since different people see and value different things. More data helps you make better decisions and is a better use of interview time for both the candidate and the company.
  8. Always let the interviewee ask questions at the end, and be frank in your answers.

    Considerations for interviews with technical applicants

    Tips On How To Prepare For Your Technical Interview

  9. Try to get a real sample of work, which we typically do for developers during a technical interview. Avoid puzzles or weird algorithm testing questions. Probing for data structures is fine as long as it is relevant to the job the person is going to do.

  10. Be mindful of the background of the candidate. Someone who knows 10 languages already (and some languages in particular, Perl for example) may pick up Ruby in a second if given the right chance. Don’t assume that someone with a Java background will not be capable of moving to a different stack. Note that individual positions may have stricter requirements; the Backend Engineer position requires Ruby experience, for example.
  11. Consider including non-engineering GitLab team-members in the interview to ask soft skills questions. Because technical people should be capable of talking to non-engineering people just fine, we should assess the candidate’s ability to do so.

    If a candidate re-applies after rejection

    There may be situations where a candidate goes through the interview process but is not offered a position at GitLab, but we are interested in revisiting the candidate later on for either the same or different position, or a candidate reapplies later on and is a better fit at that time than they were earlier. If the recruiter for the role and the hiring manager are aligned that the previous rejection reason is not still applicable, the recruiting process may resume from where it previously was, with the addition of a few interviews at the discretion of the recruiter and hiring manager. If it has been more than 6 months or the interview process has significantly changed, it may be more prudent to restart the interview process entirely. Meanwhile, due to GDPR, we anonymize all personal candidate data 60 days after they are archived in Greenhouse. With the candidate’s consent, it is possible to search for the anonymized candidate’s previous profile by using filters/keywords to review the previous rejection reason and interview feedback and to un-anonymize the candidate in order to continue the hiring process.

    Candidate Performance Evaluation

    The goal of behavioral questions is to get the candidate to share data on past experiences. Previous behavior is considered the most effective indicator of how a person is going to act in the future. It is important to remember that skills and knowledge can be learned easier than habitual behaviors can be changed, especially when candidates are unaware of the impact of the undesired behaviors.
    The questions are usually in the form of:

    “Can you tell me about a time when…?”

The kind of answer that we are looking for is to get a story that is structured following the Situation, Task, Action, and Result (STAR). Ask for an overview, an executive summary, of the case at hand. Try to avoid lengthy answers from the candidate at this stage.
Some things to pay attention to:

  • What the candidate chose to highlight in their response as important
  • Is it clearly explained? Is the story well told? If it is a technical story and you are a non-technical interviewer, are things being explained in a way that is easy to understand?
  • Is there a result or was the story left unfinished? Is it still going on?
  • Was the result measured in any way? How does the candidate validate the result matched the expectation? Was there an expectation set to begin with?

There is no right answer; what matters here is to listen to the candidate and gather data on how they are telling the story.
Once you have your notes, tell the candidate what you understood, repeat the story, and let them correct you as needed.
After gaining a high-level understanding of the case, we will want to dive deeper into the details. The objective of this step is to understand and detail the exact contributions a candidate has made to an effort which led to results. We will take a reverse approach to the STAR question structure presented earlier.
The key to analyzing each of the reverse-STAR steps is to ask What, Why, How, and Who at each step of the process. This will let the candidate paint a very clear picture of the situation, their ownership of the idea/solution, and their decision process in key pivotal moments. Reverse the order of the STAR structure, and drill up from results to the situation as a whole. Find the answer to the following questions:

  1. What was the goal to achieve or the problem to overcome? What was the expectation? Was the goal defined from the get-go?
  2. How was the result measured? Why was it measured that way?
  3. What steps or process was followed to achieve the result? List them together with the candidate
  4. Who else was working with the candidate? Was the candidate working alone?
  5. What role did the candidate have in the team if they did not work alone on the project? Was the candidate in charge of specific tasks? Who decided on task assignments? What was their impression of the tasks? How were the tasks decided on?
  6. For the tasks discussed above, understand if there were resources that helped the candidate and at what capacity. How were those chosen and why?

These questions can be quite unbalancing and can increase the stress during the interview. Again, be kind and help the candidate understand what you are looking for, and provide an example if one is needed when you notice the candidate is blocked.
It can also happen that the candidate does not have a story to share with you; that is okay. It’s just another data point that should be added to the feedback (I failed to get data on …). Just move to the next question and be sure to have a few questions as a backup.

Interview Feedback

Always leave feedback; this will help everyone to understand what happened and how you came to your decision. In Greenhouse, you will use an “interview kit” when interviewing a candidate, which has text for feedback and scorecards for skills and values.
The bottom of the feedback form will ask for an overall recommendation on if you want to hire this person or not; please do leave a score for each candidate, and read our handbook page discussing the scorecards and best practices.
Scoring is defined as follows:

  • Strong Yes - Very likely to hire (meets most requirements, aligns with values)
  • Yes - Semi-inclined to Hire (may meet some requirements, has some yellow flags)
  • No - Not likely to hire (meets few requirements, has many yellow flags, may not align with values well)
  • Strong No - Would not hire (does not meet requirements, red flags, not aligned with values)

Please reach out to the recruiting team with any questions.

Rejecting Candidates

  1. At any time during the hiring process the candidate can be rejected.
  2. At application review stage, the employment team along with the hiring manager (where applicable) will provide a specific reason for the rejection rather than a default rejection email. These specific reasons may be via a template or a personalised note. Examples could be, tenure, technical skills fit or resume missing must have requirements for the role.
  3. If a situation arises in which the role has been filled within 24 hours of a candidate’s interview, we will not cancel the interview. The interviewer will take the call and be transparent with the candidate about the situation upfront. It would be a good use of time to discuss other roles, future roles or questions about GitLab in general.
  4. The candidate should always be notified if and when they’ve been rejected. The employment team is primarily responsible for declining the candidate, but the hiring manager should be prepared to let the candidate know why they were declined if they had progressed to the team or manager interviews. The hiring manager can also share this feedback with the recruiting team, who will relay it to the candidate.
  5. When rejecting a candidate in Greenhouse, use the scheduling option to send out the rejection letter 2 days after you reviewed the resume or performed the interview to ensure that the candidate feels that their application was properly considered.
  6. We only provide feedback for candidates who have passed the first interview stage and met with the team or hiring manager. If the candidate asks for further feedback, only offer frank feedback. This is hard, but it is part of ourcompany values.
    • All feedback should be constructive and said in a positive manner. Keep it short and sweet.
    • Feedback should always be applicable to the skill set and job requirements of the position the candidate applied and interviewed for.
    • If you feel uncomfortable providing feedback for whatever reason, reach out to the recruiting team for assistance.
    • Suggested feedback format: “The reason we don’t think you’re the best match for this position is . We are impressed with your skill in . That we decline you doesn’t mean that you are not a good fit for this position. We receive over 1000 applications per month and have to decline almost all candidates. Both Facebook and Twitter rejected the founder of Whatsapp. We don’t think we’ll do any better and look forward to hearing from you after landing a better job or starting a successful company. Thanks for your interest in working at GitLab.” This format can be used as a guideline to help candidates understand our decision, but should be personalized / customized to fit each situation. Personalization in communication with candidates is encouraged.
  7. If people argue with the feedback that we provided:
    • Do not argue with or acknowledge the validity of the contents of the feedback.
    • Share their feedback with the people involved in the interviews and the decision.
    • Template text: “I’ve shared your feedback with the people involved in the interviews and the decision. We do not expect to revert the decision based on your feedback. In our hiring process we tend to err on the side of being too cautious. We would rather reject someone by mistake than hire someone by mistake since a wrong hire is much more disruptive. Organizations can reject people with great potential (https://www.adweek.com/digital/whatsapp-facebook-twitter-brian-acton/) so please don’t be discouraged from seeking a great job.”
  8. The employment team may send out an inquiry to candidates to gather feedback after they have exited the hiring process.
    • The recruiting team will review all feedback and use it to improve the hiring process.

      Background checks

      Concurrently with the reference checks, the recruiting team will begin a background check on the candidate. When the recruiting team initially requests the candidate’s reference details, they will also begin the background check process and inform the candidate.

      After the Interviews

      If, at the completion of the interview process, both the candidate and the hiring team wish to move forward with the candidate’s application, an offer will need to be prepared.