On this page


For each job at GitLab, there should be one job as it is the single source of truth. A job has the url /jobs/title and contains the following paragraphs:

The job does not contain:

The job description will be used both for the Vacancy Creation Process, as well as serving as the requirements that team members and managers alike use in conversations around career development and performance management.

New Job Creation

If a hiring manager is creating a new job within the organization, the hiring manager will need to create the job. If this is a job that already exists (for example, Gitaly Developer would use the Developer job description), update the current job description to stay DRY. If the compensation for the role is the same as one already in /jobs, you should just update the specialty, not create a new job.

  1. Create the relevant page in[name-of-job], being sure to use only lower case in naming your directory if it doesn't already exist.
  2. Add each paragraph to the job description, for an example see the developer job
  3. Assign the Merge Request to your manager, executive leadership, and finally the CEO to merge. Also, cc @gl-peopleops for a compensation review.
  4. Once the merge request has been merged, the People Ops Analyst will propose an appropriate compensation benchmark for the role.
  5. The People Ops Analyst will send an email of the proposal to the Chief Culture Officer and Executive of the department for benchmark approval.
  6. Once approved, the People Ops Analyst will add the benchmark to the jobs.yml file which will automatically cause the Compensation Calculator to show at the bottom of the job description page.