Anyone can create or edit a job family, in general it is the responsibility of the person who will manage the position or job family. They may enlist help from others. After a merge request is created for an existing job family or a new one, the merge request must follow this approval flow:
@gl-total-rewards
, is the final approver for job families on the merge request ensuring.:
#job-family
slack channelThere are two templates on this page. The first template is appropriate when the job family has 1 or 2 job titles and more levels (i.e. junior, intermediate, senior, manager, director) or specialties; for example. There can be many levels for each of the titles. The second template is appropriate when there are many different job titles within the same family; for example.
After pasting this template search for {add to quickly navigate to areas of input.
---
layout: job_family_page
title: {add text of job family name}
---
{add overview; a brief description of the job family}
## Responsibilities
* {add a bulleted list of responsibilities that apply for all levels of the role}
## Requirements
* Ability to use GitLab
* {add a bulleted list of requirements that apply for all levels of the role}
## Levels
### {add name of level - i.e. Junior/Senior/Manager. Note we do not list the intermediate level in the title but after the role in parentheses - i.e. IT Systems Engineer (Intermediate)}
The {add the position title} reports to the {add the reporting position and link to the job family or heading (if on the same page)}.
#### {add Level} Job Grade
The {add the role name} is a [grade #](/handbook/total-rewards/compensation/compensation-calculator/#gitlab-job-grades).
#### {add Level} Responsibilities
* {add a bulleted list of responsibilities that apply for this level}
#### {add Level} Requirements
* {add a bulleted list of requirements that apply for all levels of the role}
#### {add Level} Performance Indicators
* {add 3-5 KPIs that this role will be the DRI for, if the PIs are the same for all levels remove this section and use the heading 2 section later in the template}
### {add name of level - i.e. Junior/Senior/Manager. Note we do not list the intermediate level in the title but after the role in parentheses - i.e. IT Systems Engineer (Intermediate)}
The {add the position title} reports to the {add the reporting position and link to the job family or heading (if on the same page)}.
#### {add Level} Job Grade
The {add the role name} is a [grade #](/handbook/total-rewards/compensation/compensation-calculator/#gitlab-job-grades).
#### {add Level} Responsibilities
* {add a bulleted list of responsibilities that apply for all levels of this job family}
#### {add Level} Requirements
* {add a bulleted list of requirements that apply for all levels of this job family}
#### {add Level} Performance Indicators
* {add 3-5 PIs that this role will be the DRI for, if the PIs are the same for all levels remove this section and use the heading 2 section later in the template. PIs should link to the data}
## Segment
### {add name of Segment}
{add a brief description of the specialty}
#### {add name of Segment} Requirements
* {add a bulleted list}
#### {add name of Segment} Responsibilities
* {add a bulleted list}
## Specialties
### {add name of Specialty}
{add a brief description of the specialty}
#### {add name of Specialty} Requirements
* {add a bulleted list}
#### {add name of Specialty} Responsibilities
* {add a bulleted list}
## Performance Indicators
* {add 3-5 PIs that this role will be the DRI for, if PIs were listed for each level, because the are all unique, remove this section. PIs should link to the data}
## Career Ladder
{add brief description of the career ladder}
## Hiring Process
Candidates for this position can expect the hiring process to follow the order below. Please keep in mind that candidates can be declined from the position at any stage of the process.
* Qualified candidates will be invited to schedule a 30 minute [screening call](/handbook/hiring/interviewing/#screening-call) with one of our Global Recruiters.
*{add a bulleted list of the hiring process steps here}
Additional details about our process can be found on our [hiring page](/handbook/hiring/).
The second template is appropriate when there are three or more job titles within the same family. For example the team is made up of many different positions, that all report into the same person or are all working to accomplish the same goals.
After pasting this template search for {add to quickly navigate to areas of input.
---
layout: job_family_page
title: {add text of job family name}
---
{add an overview; a brief description of the job family}
## Role
{add brief description of the role} The {add the position title} reports to the {add the reporting position and link to the job family or heading (if on the same page).}.
### Job Grade
The {add role name} is a [grade #](/handbook/total-rewards/compensation/compensation-calculator/#gitlab-job-grades).
### Responsibilities
* {add a bulleted list]
### Requirements
* Ability to use GitLab
* {add a bulleted list}
### Performance Indicators
* {add 3-5 PIs that this role will be the DRI for, they should link to the data}
### Career Ladder
{add a brief description of the career ladder here}
### Hiring Process
Candidates for this position can expect the hiring process to follow the order below. Please keep in mind that candidates can be declined from the position at any stage of the process.
* Qualified candidates will be invited to schedule a 30 minute [screening call](/handbook/hiring/interviewing/#screening-call) with one of our Global Recruiters.
* {add a bulleted list of the hiring process steps here}
Additional details about our process can be found on our [hiring page](/handbook/hiring/).
## Role
{add brief description of the role} The {add the position title} reports to the {add the reporting position and link to the job family or heading (if on the same page).}.
### Job Grade
The {add role name} is a [grade #](/handbook/total-rewards/compensation/compensation-calculator/#gitlab-job-grades).
### Responsibilities
* {add a bulleted list}
### Requirements
* Ability to use GitLab
* {add a bulleted list}
### Performance Indicators
* {add 3-5 PIs that this role will be the DRI for, they should link to the data}
### Career Ladder
{add a brief description of the career ladder}
### Hiring Process
Candidates for this position can expect the hiring process to follow the order below. Please keep in mind that candidates can be declined from the position at any stage of the process.
* Qualified candidates will be invited to schedule a 30 minute [screening call](/handbook/hiring/interviewing/#screening-call) with one of our Global Recruiters.
* {add a bulleted list of the hiring process steps here}
Additional details about our process can be found on our [hiring page](/handbook/hiring/).
Here is a brief walkthrough of this process. If you use these slides please remember that the HANDBOOK is the most up to date and the slides and/or videos may be dated.
gitlab.com
+
New file
job-title/index.html.md
for example marketing-campaign-manager/index.html.md
{curly brackets}
search {add
Levels
or Specialties
at this time, so those sections can be deletedIn cases where a job family is quite large you may decide to create an overview page of the job family. This helps when we are actively sourcing for external candidates on a role. Here is an example of a job family overview page.
overview
For every overview page we created, the page has the URL /job-families/department/title/overview/
and should be
created starting from the template. There's only a few additions you should do with the template.
index.html.haml
.ID_FOR_VIDEO
with the relevant IDcard
.---
layout: default
title: GitLab's Guide to the {Job Title} Job Family
extra_css:
- job-family.css
---
.content-container.job-family
.wrapper.container{ role: "main" }
.row
.col-md-12
%h2.job-family-title.text-center {Job Title} at GitLab
.job-family-blurb GitLab is building an open source, single application for the entire software development lifecycle—from project planning and source code management to CI/CD, monitoring, and security.
.row
.col-md-12
.job-family-blurb
:markdown
{Job Family introduction}
%hr.solid
.row // this part is optional, you can add a video or remove if it isn't needed for this role
.col-md-12
%figure.video_container
%iframe{:src => "https://www.youtube.com/embed/ID_FOR_VIDEO"}
.row.job-family-card-group
.card.job-family-card
.card-body.job-family-card-body
%h4.card-title.job-family-title {First role in this job - For example Junior Engineer}
%p.card-text
%ul.job-family-list
%li
%a{ href: LINK TO GET TO KNOW THE ROLE } Get to know the role
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE/#requirements" } Requirements
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#performance-indicators" } Performance Indicators
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#hiring-process" } Hiring Process
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE?comparatio=Compa+Ratio+range&level=name+of+level+for+this+role" } Compensation
.card.job-family-card
.card-body.job-family-card-body
%h4.card-title.job-family-title {First role in this job - For example Senior Engineer}
%p.card-text
%ul.job-family-list
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#senior-support-engineer" } Get to know the role
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#requirements" } Requirements
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#performance-indicators" } Performance Indicators
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#hiring-process" } Hiring Process
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE?comparatio=Compa+Ratio+range&level=name+of+level+for+this+role" } Compensation
.card.job-family-card
.card-body.job-family-card-body
%h4.card-title.job-family-title {First role in this job - For example Staff Engineer}
%p.card-text
%ul.job-family-list
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#staff-support-engineer" } Get to know the role
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#requirements" } Requirements
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#performance-indicators" } Performance Indicators
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE#hiring-process" } Hiring Process
%li
%a{ href: "/job-families/DEPARTMENT/JOB-TITLE?comparatio=Compa+Ratio+range&level=name+of+level+for+this+role" } Compensation
This video will walk you through how to change a Job Family URL as well as set up a redirect for the old URL.
We have a CI job that checks job families for hard requirements:
Ability to use GitLab
as a bullet point.We use an open source Ruby gem to perform a inclusive language check on all job families.
Currently that library covers:
The following results lead to failure of the pipeline:
Usage of gendered pronouns: we want to be inclusive to all.
1. ["ATTENTION: In /builds/gitlab-com/www-gitlab-com/sites/uncategorized/source/job-families/marketing/reference-program-manager/index.html.md you're using masculine gender-coded language", "Masculine coded words used: analyst, analytical, decision, driven, leader"]
2. ["ATTENTION: In /builds/gitlab-com/www-gitlab-com/sites/uncategorized/source/job-families/marketing/production-designer/index.html.md you're using fixed-coded language", "Fixed coded words used: established"]
In this case, there are two job families that failed and each for a different reason. You can do two things now: