How GitLab hires Engineers

From my talk at the Geekle Ruby on Rails Global Summit in 2023

In the rapidly evolving tech industry, companies like GitLab seek talented engineers who can contribute to our success. One of the focuses is on Ruby on Rails development. GitLab has developed a comprehensive hiring process to attract and select the best candidates for our engineering teams. In this blog post, we will explore GitLab’s approach to hiring engineers and the steps involved in our selection process.

Hiring Process

GitLab follows a systematic approach to hiring engineers, ensuring candidates are thoroughly evaluated at every stage and have a great experience throughout. Here is an overview of GitLab’s hiring process:

  1. Attracting Candidates: To attract candidates, GitLab provides detailed job descriptions and links to its extensive handbook, which offers valuable information about the company and its values. GitLab also posts job openings on its website and platforms like LinkedIn to reach a wide audience.

  2. Sourcing Candidates: GitLab employs various methods to source candidates, including inbound applications, outbound reach-outs, and participation in speaking engagements. This proactive approach helps GitLab identify talented individuals who align with their requirements.

  3. Evaluating Applications: During the application review process, GitLab considers factors such as the candidate’s geographic region, attention to detail, skills match, and verbal/written communication abilities. These evaluations help narrow down the candidate pool to those who best fit GitLab’s criteria.

  4. Screening Candidates: At the screening stage, GitLab assesses candidates based on their interest in GitLab, role suitability, skill match, communication skills, and compensation expectations. The STAR (Situation, Task, Action, Result) method is commonly used to evaluate a candidate’s communication abilities.

  5. Technical Interview: Candidates who pass the initial screening are given a take-home coding task relevant to the role’s required languages. During the technical interview, the candidate’s work is reviewed, and a discussion takes place to assess their functional and non-functional understanding of software development.

  6. Behavioral and Manager Interviews: Behavioral interviews involve interactions with peers or stakeholders to assess how candidates align with GitLab’s values.

  7. Reference and Background Checks: GitLab conducts reference checks with two peers and one former manager to gain insights into a candidate’s professional capabilities. Additionally, a background check is performed.

  8. Offer Approval: Before extending an offer, GitLab’s engineering team conducts a thorough evaluation. Two strong positive votes from engineering interviewers, along with an assessment of must-have and nice-to-have criteria, are essential. The hiring manager then writes a justification, and the engineering and people team leadership reviews and approves the final decision.

Interview Preparation

GitLab emphasizes the importance of thoroughness in its hiring process, prioritizing quality over speed. They encourage candidates to familiarize themselves with the company’s values, departments, teams, and career development opportunities by reading their extensive handbook. Prospective candidates are also encouraged to try GitLab’s product and explore the GitLab Unfiltered YouTube channel for additional insights. For more informal discussions and resources, the Team Member Resource Group (DIB) offers a platform to engage with GitLab team members in those groups.

Leave a Reply

Discover more from Wayne Haber | Engineering Leader

Subscribe now to keep reading and get access to the full archive.

Continue reading