Promotions and Transfers

On this page


At GitLab, we encourage team members to take control of their own career advancement. For all title changes, the team member should first speak with their manager to discuss a personal professional development plan. If you feel your title is not aligned with your skill level, come prepared with an explanation of how you believe you meet the proposed level and can satisfy the business need.

As a manager, please follow the following processes, discuss any proposed changes with either the People Ops Business Partner or Chief Culture Officer, and do not make promises to the team member before the approvals are completed.

We recorded a training on this subject:

Promotions & Compensation Changes

Any changes to title and compensation should be pushed through as quickly as possible. To promote or change compensation for one of your direct reports, a manager should follow the following steps:


To demote one of your direct reports, a manager should follow the following steps:

Department Transfers

If you are interested in a position, regardless of level, outside your department or general career progression, you can apply for a transfer.

Internal Department Transfers

If you are interested in another position within your department and the manager is also your manager you must do the following;

Leveling Up Your Skills

There are a number of different ways to enhance or add to your skill-set at GitLab, for example, if you do not feel like you meet the requirements for an inter-department transfer, discuss with your manager about allocating time to achieve this. This can be at any level. If you're learning to program, but aren't sure how to make the leap to becoming a developer, you could contribute to an open-source project like GitLab in your own time.

Interning for Learning

If your manager has coverage, you can spend a percentage of your time working ('interning') with another team.

This could be for any reason: maybe you want to broaden your skills or maybe you've done that work before and find it interesting.

If your team has someone working part-time on it, it's on the manager of that team to ensure that the person has the support and training they need, so they don't get stuck. Maybe that's a buddy system, or maybe it's just encouragement to use existing Slack channels - whatever works for the individuals involved.

How does this work?

What percentage of time should be allocated? Well, 10% time and 20% time are reasonably common. As long as you and your manager have the capacity the decision is theirs and yours.

What about the team losing a person for X% of the time? How are they supposed to get work done? Each manager needs to manage the capacity of their team appropriately. If all of the team are 'at work' (no one is on PTO, or parental leave, or off sick), and the team still can't afford X% of one person's time - that team might be over capacity.

Can I join a team where I have no experience or skills in that area? That's up to the managers involved. It may be that the first step is to spend some time without producing anything in particular - in which case, it's possible that the tuition reimbursement policy may be a better fit (Or it might not.)

This sounds great but how do I initiate this process? First step is to discuss this with your manager at your next 1:1. Come prepared with your proposal highlighting what skills you want to learn/enhance and the amount of time you think you will need. Remember, this should be of benefit to you and GitLab. You and your manager will need to collaborate on how you both can make this happen which may also involve discussing it further with the manager of the team you may be looking to transfer to. All discussions will be done transparently with you. Be mindful though that the business needs may mean a move can't happen immediately.

How do I find a mentor? On the team page, you can see who is willing to be a mentor by looking at the associated expertise on their entry.

Starting your new interning role

It's recommended that you work with your current manager, the manager of the team you are interning with and your internship mentor to document the percent of time, length of the commitment and goals for your internship. Ensure you reference the job responsibilities of the role you are interning for when determining goals. Once finalized, make sure that you enable public (to Gitlab) access to the document. Here is an example.

Once you've agreed upon the internship goals, both managers should inform their respective groups' People Ops HR Business Partner. On the start of the internship you should use the public goals document to: