On this page


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

The role does not contain:

The position 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 Role Creation

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

  1. Create the relevant page in /job-families/[department]/[name-of-role], being sure to use only lower case in naming your directory if it doesn't already exist, and add it to the correct department subdirectory.
  2. The file type should be
  3. Add each paragraph to the position description, for an example see the developer role
  4. Assign the Merge Request to your manager, executive leadership, and finally the CEO to merge. Also, cc @gl-peopleops for a compensation review.
  5. Once the merge request has been merged, the People Ops Analyst will propose an appropriate compensation benchmark for the role.
  6. Compensation Benchmark data will be sourced from Comptryx, AdvancedHR, LinkedIn, Glassdoor, Paysa, Payscale and when applicable Cybercoders to determine the 50th percentile for the role. For benchmarking we are only looking at the intermediate level in San Francisco.
  7. In Comptrxy, look at each position description by hovering over the title to make sure it aligns to our position description. For a history of mapping, take a look at the "comptryx Benchmarks SF" tab in the "Comp Data Analysis and Modeling "google sheet.
  8. The level in Comptryx that aligns with intermediate is "proficiency,"except for in special cases (see the history of mapping for those cases).
  9. Create a google document that includes the compensation data and determine the median for the benchmark, share the document with the CEO, CCO and CHRO.
  10. Create a merge request to add the benchmarks to the roles file in GitLab. In the merge request refer to the role title in the Google document that shows the compensation data sources and the proposed benchmark.
  11. Also add the benchmark to the "SF Benchmark" tab in the "Comp Data Analysis and Modeling" Google sheet, and document how you mapped this data in "Comptryx Benchmarks SF" tab if Comptryx was used.
  12. The People Ops Analyst will send an email of the proposal to the Chief Culture Officer and Executive of the department for benchmark approval.
  13. Once approved, the People Ops Analyst will add the benchmark to the roles.yml file which will automatically cause the Compensation Calculator to show at the bottom of the position description page.