We want our compensation to be at a level were we can recruit and retain people who meet our requirements. Our requirements for most of our job-families are at or above the average in the market. Therefore, we can expect to be at or above the 50th percentile of the survey data gathered from providers like Comptryx and Radford. Please do not use the term market rate since this can mean either competitive rate or survey data. Also see our SF benchmark.
Competitive rates for roles vary depending on regions and countries. We pay a competitive rate instead of paying the same wage for the same role in different regions. Paying the same wage in different regions would lead to:
Different than business travel, vacation, or visiting a relative for a few weeks, relocation means that you will establish yourself in a new location outside of your current metro area. If you are ending your current residential living arrangement, spending more than six months in one location as part of an extensive period of travel and/or will have your mail delivered to an address in a different city please contact us.
As stated in the code of conduct section of the handbook, you should first obtain written agreement (from your manager) when planning a relocation. It is the company's discretion to offer you a contract in your new location. At the time of the location update, we will take into consideration your new metro region when making a salary offer for continued employment.
At the onset, this practice sounds harsh when moving to a lower paid region. One might argue that it seems unfair for the organization to pay someone less for the same work in the same role, regardless of where they go. However, if you look at it from another angle for a minute and compare this practice to what most companies do, it should make more sense. For example, say you work for a company with physical locations and say they haven't accepted that remote work is as productive as coming into the office yet. If you wanted to pack up and move to a location where they did not have a physical site, you would have no alternative but to resign and seek new employment in your new location. You would find quickly that companies in the area pay at a locally competitive rate.
Now, let's say the company did have a site in your new location and they offered the flexibility to transfer. If they did not have a similar position open, you would have to either apply for a different open position in the same company or resign and apply externally (back to the realization that other companies will pay at local competitive rate). If you were lucky enough that they did have a similar role in the new location, a transfer would come with a pay rate based on the local market to ensure equity across all incumbents (people in the job) by location.
Adjusting pay according to the local market in all cases is fair to everyone. We can't remain consistent if we make exceptions to the policy and allow someone to make greater than local competitive rate for the same work others in that region are doing (or will be hired to do). We realize we might lose a few good people over this pay policy, but being fair to all team members is not negotiable. It is a value we stand behind and take very seriously.
We also wrote a blog post about paying local rates.
During the fourth quarter of each year, People Operations will conduct a compensation review to ensure all team members are paid based on market data in the compensation calculator. This is not a Cost of Living Adjustment, but instead a review of the market changes. Rent Index and Experience Factor will continue to be a part of the compensation calculator equation. The annual compensation review is not directly linked to performance reviews nor the ability to be promoted. The increase percentage may vary for each person. For instance, experience factors are reviewed as part of a compensation adjustment or promotion, which GitLab encourages to happen independently from this review. If a team member was recently adjusted, the annual adjustment might yield no additional salary during the annual compensation review. This review acts as a sweep for each team member’s compensation to be evaluated at least once per year.
Exchange rate used for the 2018 annual compensation review is taken from Oanda on the date of 2018-11-30.
As part of the new Annual Compensation Review, managers will review/approve the proposed salary increases to ensure that we are paying each team member to market. Please verify the compensation calculator inputs (experience factor, level, title) are accurate.
If you did not conduct an experience factor review with your direct report, please advise People Operations and follow the guidelines from the handbook. It is very important to you use the Experience Factor Worksheet to determine the correct final Experience Factor and to have discussions with your direct reports. It is very important that GitLabbers understand their experience factor.
While some GitLabbers may not receive an increase due to already being at the right competitive rate for their Experience Factors, Level, Role, and Location there are other circumstances where an increase should be avoided. If there are any reasons as to why the team member should not receive the proposed increase to be aligned with their experience and market in our calculator, please ping brittany@ domain or barbie@ domain in the manager worksheet and add your comments in the “reasoning” cell. This could be due to a current performance issue, pending termination, etc. If you would like to delay the increase, please outline a proposed plan of action and deadline.
Additionally, it is important to note that deriving an experience factor based on the current compensation calculator is not advised. Experience factors should be based on the knowledge, skills, and ability in the current role. Second, the output of the compensation calculator may change due to the review of all inputs. We want each team member's pay to be an accurate reflection of their market, with the caveat that we adjust once a year in order to reduce the overhead of the adjustment process.
For positions in the compensation calculator, each eligible team member will receive at least a prorated 3% increase in base salary as a Cost of Living Adjustment. Note: If the team member is on a variable + base plan and is not at the desired split for their role, the entire cost of living adjustment will be added to the base or variable compensation to get closer to the desired split. If the team member is at the desired split for the role, then the increase is equally divided among base and variable. This is also applicable to any compensation adjustments that may occur outside of COLA.
As a natural extension of the Compensation Principles outlined above, and our commitment to transparency, sharing, efficiency, directness, and boring solutions (see our values) we developed a Compensation Calculator. The compensation of directors or above and anyone on a quota is not set with the calculator.
The goals of the calculator are:
As with all things at GitLab, the compensation calculator is a constant work in progress. Please send an email to
peopleops@ company domain if/when you find a big difference between what the calculator suggests vs. what market data indicates. Please make sure to include all relevant links and data.
Your options can be found on stock options.
See the calculator in action on each job description, or at its home page.
The compensation calculator is updated in January and July with the proper exchange rate, keeping compensation levels in line with local purchasing power.
The compensation calculator is a tool to assist People Operations in determining a compensation package for new and existing team members. The results of the calculator are not binding. Written correspondence through a contract or letter of adjustment specify all official compensation changes. We reserve the right to change the calculator at any point in time.
SF benchmark is the employee salary at an experience factor of 1.0 at or above market for the role in San Francisco, which we determine using various sources of market data including AdvancedHr, LinkedIn, Glassdoor, Paysa, Payscale, and Comptryx. The SF benchmark used in each position is available in the
roles.yml file in this website's repo.
Whenever a new role is established, a new benchmark must also be determined. The People Ops Analyst is pinged on the merge request for a compensation review to start the process. The People Ops Analyst should ensure that they request is not for a role that already exists and has a benchmark. Compensation Benchmarking is the process of using internal job descriptions to match salary survey job in order to identify the external survey data for each benchmark positions. Sources like Comptryx, Payscale, Paysa, LinkedIn and Glassdoor are some of the sources used to determine salary benchmarks. Compensation data can fluctuate from very high salary data to very low salary data for roles that have the same or similar job titles. Example would be Field Marketing Manager. A Field Marketing Manager at GitLab or another SaaS or Technology company salary benchmarks would and can be included with Field Marketing Manager for other Non Technology companies, as an example RedBull. Though they have the same "title" the role, scope and salaries for these roles are very different. Based on these variants in comp data we will look at the relevant comp data for each role and use the median for the benchmark. A review of the median against the average will be reviewed to ensure there is no large discrepancy with the proposed benchmark. What is the Mean - The mean is the same thing as the average. It is the result of dividing the sum of two or more values by the number of values. So (a+b+c)/3= the mean or average. What is the Median - The median, otherwise known as the midpoint, is a very common term used in compensation and preferred to the mean. In its simplest terms, the median is the middle value of a series of values laid out in numerical order. It's the middle point of the data set. Half of the values will be less than the median, and half will be higher than the median. To review the Compensation Benchmark process please refer to the New Roles Creation.
As stated in competitive rate we want to recruit and retain people who meet our requirements. We also want 80% of the people to accept our offers. If more than 20% of the people do not accept our offers this is an indication we're not offering a competitive rate. In this case the People Ops Analyst can review the compensation. During this review, we do not look to target at a certain percentile, but instead look at market rates and declined candidate offers when adjusting. A business case should be presented the the compensation group after approval from the People Operations Analyst in a google sheet with market data, candidate expectations, an impact to the current team; and in a google doc outlining the problem statement, likely cause, what the department has already tried, and an overall proposal which clarifies the budgetary impact.
If we change our SF benchmark for a job family without changing the requirements, we change the compensation both for existing team members and new hires. If the SF benchmark is changed together with the requirements this review might happen at the time of the change or in our yearly cycle.
Sometimes the requirements of a job family change. Usually this means the requirements become more restrictive as the complexity of our project and services demands more–or more specific–experience. This is different from a market adjustment because the market has not necessarily changed. This means that everyone on that benchmark does not get an automatic raise.
However, we want everyone who works at GitLab prior to a role requirement change to the have the same opportunity as new hires. They and their manager can then immediately begin technical and career development using the new role requirements. Promotions against this new criteria can also be requested on their own cadence.
It's not necessary, but it's easier for the organization to digest a benchmark change resulting from changes in a job's requirements if the name of the role changes as well. Two examples are:
Location Factor is reviewed in two ways. The highest resulting value is stored in the location factor file. This double process is an iteration as we attempt gather additional resources to make our model increasingly driven by market data. People Operations will use their best judgement in determining the input per location based on our Compensation Principles.
(.7 x (Rent Index/1.26) + 0.3).
The location factor depends on your geographical area To determine your area:
To ensure our location factor is reflective of the ability to commute between nearby cities, we incorporated Geographical Areas into the compensation calculator. This process is only used when we do not have the proper data to determine a location factor based on a market analysis alone.
To determine geographical areas, we looked at what the United Nations outlines globally. To determine the rent index for each country please see the following process per geographical area and country:
Note: The Compensation Calculator lists out metro areas or states for user interface clarity, but the process above is followed for each region, not per state.
Level Factor is currently defined as junior (0.8), intermediate (1.0), senior (1.2), staff (1.4), or manager (1.4). Not all levels of each job follow this same nomenclature. A summary of the naming of levels per role can be found in role_levels.yml.
The experience factor is determined by the direct manager for each team member, and reviewed by all indirect managers. This should be done at least once per year for current employees and during the offer stage for candidates. This factor does not directly reflect years of work experience, but instead, demonstrated ability to drive projects and deliverables from the position description to completion within GitLab. The goal of quantifying experience factors, as it relates to compensation, is to ensure they are accurate to work toward getting to the right salary. Experience Factors should also be used in coaching and developing team members.
If a manager is new to the team member, and has not had time to assess the experience factor, collaboration with previous managers or colleagues to determine the person’s skills is encouraged. This can serve as a strong data point when assessing experience factors.
|Learning the role||0.9-0.949|
|Growing in the role||0.95-0.99|
|Thriving in the role||1.0-1.049|
|Expert in the role||1.05-1.1|
For additional guidance on how to determine an experience factor, please see the Experience Factor Training on the Google Drive.
If you have any questions around determining experience factors, please feel free to open an issue or email People Operations.
Because of the role change from Developer -> Backend Engineer, the experience factor range for existing Backend Engineers is a little different. Instead of the definitions above, Backend Engineers are assessed based on how well they fulfill the requirements for their position:
Contract Factor distinguishes between employee (1) or contractor (1.17), which can be found on the
contract_factors.yml file. A contractor may bear the costs of their own health insurance, social security taxes and so forth, leading to a 17% higher compensation for the contractor. Visit our contracts page to learn more about the different types of contracts we offer.
The compensation calculator is updated in January and July with the proper exchange rate, keeping compensation levels in line with local purchasing power.
There are a number of reasons why team members may not be paid in local currency. For example, GitLab's bank might not support the currency or there may be a strong economic reason for the team member to choose a different currency. The currencies that GitLab can pay in are published on the contracts page.
2019-01-01 Oanda Rates
|Currency||Rate from USD||Rate to USD|
Directors and up are not part of the compensation calculator because:
GitLab will use market data from Advanced-HR in order to generate offers and conduct a market review for Director level and above. Where market data is not available in the candidate or team member’s location, the People Operations Analyst will provide the Compensation Committee with an output using the location differential in the compensation calculator.
In addition to base compensation, Directors who are not already enrolled in the Sales Compensation Plan or other performance incentive plan are eligible for a 10% bonus of current base salary. The bonus will be paid out semi-annually solely based on Company performance against Plan targets, approved by the Board of Directors. The Director bonus will be pro rated for those team members who start after Jan 1st, or are promoted after July 1st. In addition, the team member must be actively employed by GitLab at the time of payout.
When pulling market data from Advanced-HR, the People Operations Analyst will provide the 50th percentile (or average if not available), in base pay and total target pay. Other data sources such as LinkedIn, Glassdoor, or Payscale may be used when market data is not available to cross check the compensation calculator output.
When hiring for a Director level or above position, the recruiters should tag the People Ops Analyst early on in the process to provide the relevant data.
GitLab reserves the right to change or discontinue the bonus program at any time. All bonus payouts are discretionary and require the achieving of specific company results that will be communicated each year.