GitLab Offboarding

On this page

Voluntary Terminations

A voluntary termination occurs when a team member informs his or her manager of a resignation.

If you are a current team member and you are thinking about resigning from GitLab, we encourage you to speak with your manager, People Ops, or another trusted team member to discuss your reasons for wanting to leave. At GitLab we want to ensure that all issues team members are facing are discussed and resolved to result in a great work environment.

If resignation is the only solution after you have discussed your concerns, then please follow these procedures.


  1. Team members are requested to provide an agreed upon notice of their intention to separate from the company to allow a reasonable amount of time to transfer ongoing workloads.
  2. The team member should provide a written resignation letter or notification to his or her manager.
  3. Upon receipt of the resignation, the manager will notify People Ops by sending a copy of the resignation email.
  4. People Ops will notify the CEO of the resignation via a direct Slack message.
  5. People Ops will notify the Director of Legal Affairs of the termination.
  6. People Ops will notify the Director of Security of the termination.
  7. People Ops will notify the Payroll and Payments Lead of the termination.
  8. After People Operations is made aware of the upcoming resignation an acknowledgement letter or email (if contractor or GitLab Inc team member) confirming last day and any holiday due may be required. The holiday taken should be confirmed with the manager and team member via email and then filed in BambooHR. Once that has been done the acknowledgement letter can be prepared. This will depend on the location and employment status of the team member. Examples of these can be found here:
  9. For GitLab UK team members, payroll can pay up to and including the 5th day of the following month. For example: If someone's last day is February 2nd, the team member can receive their final pay for this in January's payroll.
  10. After People Ops has reviewed the circumstances of the resignation, the team member may take the opportunity before the end of their notice period to share their decision to leave during a Company Call or in Slack.
  11. People Ops will create an offboarding issue on or before the last day.
  12. People Ops will send an email with the following information to the team member's email address before the effective termination date:
    • A review of the team member's post-termination benefits status, if applicable.
    • An exit interview. The exit interview provides team members with the opportunity to freely express views about working at GitLab. People Operations will reach out to the team member to conduct an interview via Google Hangouts or Zoom. If for some reason that is not possible, People Operations will send a form to the team member to complete. Once the interview has been completed with the team member, People Operations will conduct an interview with the manager. All comments from the exit interviews will be kept confidential. People Operations will compile data from exit interviews to determine if feedback to the head of the employee’s department or other members of management is necessary.

GitLab Alumni Program

All voluntary terminations will be added to a Slack Channel gitlab-alumni. The purpose of this channel is to network with team members who have voluntarily left the company to preserve the relationships built while at GitLab. The channel is voluntary to all former and current team members.

GitLab, the company, monitors the channel and can remove people from it at their sole discretion.

Involuntary Terminations

Involuntary termination of any team member is never easy. We've created some guidelines and information to make this process as humane as we can. Beyond the points outlined below, make sure to refer to our guidelines on underperformance, as well as the offboarding issue.

Overall process

Ideally, the manager and the team member have walked through the guidelines on underperformance before reaching this point.

  1. Manager: Reach out to People Operations for assistance. People Ops will ask about what the performance issues have been, how they have been attempted to be addressed, and will then prepare for the termination.
  2. People Ops: Notify the Director of Legal Affairs, Director of Security, the CCO and payroll of the termination.
    • Payroll should be notified due to final payment regulations based on each state or country.
  3. People Ops: Notify CEO via Slack of the termination.
  4. People Ops: With manager and/or CEO determine if a separation and release of claims agreement is appropriate. If so, have it prepared prior to the call.
  5. Manager and People Ops: Discuss best mode of communicating the bad news to the team member. This discussion can happen via a private chat-channel, but it is best to be done via a video hangout. Set up a private chat-channel in any case, since this is also useful to have during the eventual call with the affected team member.
  6. Manager and People Ops: Decide who will handle which part of the conversation, and if desired, practice it. It is strongly advised to have someone from People Ops on the call when the bad news is delivered.
  7. Manager and People Ops: Decide what offboarding actions need to be taken before the call (e.g. revoke admin permissions), or during the call (e.g. revoke Slack and Gmail access), and which ones can wait until later (see the offboarding issue for the full list of actions). Make sure someone with the necessary admin privileges is on hand (in the private chat-channel) to assist with those sensitive offboarding steps that should occur relatively quickly. Do not create the offboarding issue until after the call, since even confidential issues are still visible to anyone in the team.
  8. Manager: Set up a call with the team member in question. Make a separate private calendar event to invite the People Ops representative.
  9. On the call: Deliver the bad news up-front, do not beat around the bush and prolong the inevitable pain for everyone involved. A sample leading sentence can be "Thanks for joining the call, __ . Unfortunately, the reason I wanted to speak with you is because we have decided that we have to let you go and end your employment / contract with GitLab." At this point, hand over the call to People Ops to continue. The Manager will make it clear that the decision is final, but will also explain what led to this decision and will point to the process that was followed to reach this decision. People Ops will also make it clear that the decision is final, but also will genuinely listen to their side of the story since there may be useful lessons in what they say for the rest of the team e.g. regarding hiring and vetting practices.
  10. People Ops: Make sure to communicate the practical points from the termination memo outlined below.
  11. People Ops: Create the offboarding issue and complete all relevant tasks.
  12. People Ops: If an employee, review if any time off needs to be paid on the last paycheck by looking in BambooHR under Time Off.
  13. People Ops: If applicable, sign the team member up for a Mentat subscription. Credentials, licenses, and pricing are in the People Ops 1Password vault.
  14. People Ops: If appropriate (default is that it is appropriate), send a termination memo.

Points to cover during the offboarding call, with sample wording

The following points need to be covered for any team member:

  1. Final Pay: "Your final check (or invoice period) is for the pay period of X and includes X days of pay”.
  2. Company Property: “Please return all property as explained in the handbook, also please delete GitLab’s email connection from your phone”.
  3. Business Expenses: “Please create your final expense report to Expensify (for employees), OR, please file any outstanding expenses with your final invoice (for contractors), so these can be reimbursed to you in a timely manner”.
  4. Confidentiality and Non-Disclosure: “We know you are a professional, please keep in mind the agreement you signed when you were hired”.
  5. If you would like GitLab to share your personal email with the rest of the company, please send an email to People Ops or a farewell message that can be forwarded on your behalf.

The following points need to be covered for US-based employees:

  1. COBRA: “Your benefits will cease on last day of the month you are eligible for Consolidated Omnibus Budget Reconciliation Act (“COBRA”), the carrier (TriNet) has been notified and the carrier will send out the paperwork to your home address on file”.
  2. PPACA: "You may also be eligible under the Patient Protection and Affordable Care Act (“PPACA”) for subsidized health care options via the marketplace. If you are interested it is important that you sign up with the market place well before the 15th of the month to have coverage for the following month”.
  3. HIPAA: " Under the Health Insurance Portability and Accountability Act of 1996 (HIPAA), if you need a certificate of credible coverage please download it from your current carrier's online portal or request it from TriNet”.
  4. Unemployment insurance: "It is up to your state's labor agency (in CA: EDD) to decide if you are eligible for unemployment insurance”.
    • The unemployment team at TriNet can verify the past employment of former team members. Their phone number is (800) 638-0461
  5. Please remember to keep TriNet informed: "If you move I want to be sure your W-2 gets to you at the end of the year. You may also contact X at GitLab (provide phone number and email address) with any other questions that you may have" (consider inviting them to contact you at anytime for any reason).

Sample termination memo

If appropriate (to be determined by conversation with the manager, CEO, and People Ops), use the following termination memo, which is provided here as an openly viewable Google Doc, but of course needs to be personalized and tailored to each individual's situation. As written, it is applicable to US-based employees only.

Separation and Release of Claims Agreements

If appropriate (currently only in the case of US based employees, and to be determined by conversation with the manager, CEO, and People Ops) prepare a Separation and Release of Claims Agreement following the steps outlined here. All of these steps are done by People Ops unless specified differently.

  1. Prepare the agreement.
  2. Have the legal team review the agreement.
  3. Additional notes:
    1. Separation pay is not paid until the ex-team member signs the document and the revocation period has passed.
    2. Make sure you understand the rules for over 40.
    3. You must use language in your exit meeting that is in no way forceful of the ex-team member to sign the agreement. Use phrasing such as “if you choose to sign”; “you have a right to have legal council review this document before you sign”, etc.

Departures are unpleasant

As explained briefly in the offboarding issue, GitLab does not provide any context around why people are leaving when they do. However as mentioned in the procedures, for voluntary terminations, the team member can share their reasons for leaving if they wish. If they choose not to then we say: "As of today, X is no longer with GitLab. Out of respect for their privacy I can't go into details. If you have questions about tasks or projects that need to be picked up, please let me know."

If someone is let go involuntarily, this generally cannot be shared since it affects the individual's privacy and job performance is intentionally kept between an individual and their manager. Given the expectations and responsibility that come with a VP and above position, when there is an involuntary termination for one of these positions, additional context for the personnel change will be provided to the organization. If you are not close to an employee's termination, it may seem unnecessarily swift. Please remember that these decisions are never made without following a process to come to a positive resolution first - we need to protect the interests of the individual as well as the company, and terminations are a last resort. While we are used to Transparency by default according to our company values, we are limited in what we can share about private employee issues. Please discuss any concerns you have about another employee's termination with your manager.

Silence is unpleasant. It's unpleasant because we are human, which means that we are generally curious and genuinely interested in the well-being of our team members.

Is it more unpleasant in a remote setting? Probably not. When people are all in the same office building, they can "kinda sorta" know what may be coming because of the grapevine, the water cooler, and so on. When the news hits it might be less of a shock - only because of unprofessional behavior in the first place. But at larger companies with multiple office buildings, departures will tend to come as more of a surprise and with less context (at least to the people in other buildings).

Turnover Data

GitLab's turnover data is only viewable internally. This data is updated on a monthly basis by People Operations.

Offboarding Issue

Before starting an offboarding issue, make sure that the team member's resignation or termination has been discussed and cleared with at least the member of the executive team to whom the team member (in)directly reports.

When it is time for offboarding, [create a new confidential issue] for former team member using the offboarding template using the dropdown, and edit it for applicability to the individual. Please update the checklist as more steps arise.

Managing the Offboarding Tasks

Returning property to GitLab

As part of offboarding, any GitLab property valued above 1,000 USD needs to be returned to GitLab. GitLab will pay for the shipping either by People Ops sending a FedEx shipping slip or it can be returned by another mutually agreed method. If property is not returned, GitLab reserves the right to use a creditor company to help retrieve the property. Please see asset tracking for more information.

FedEx info for the team member

Pull up the departing contributors home address. Find a Fedex location close to them. Then follow the template below.

"Hi [Name of team member]

The closest Fedex to you is located on [full street address, city, state, zip code]. Driving or walking directions can be found here: [enter link from “mapping home location to the Fedex location”]

Once there you can use Fedex boxes that you need and do the following actions:

  1. Package the equipment in the box
  2. Send package to GitLab in San Francisco
  3. Mark on the invoice "Bill Recipient"
  4. Our Fedex number is: [find the number in Secretarial Vault in 1Password]
  5. Provide People Ops the tracking number via email

Please let People Ops know if you have any questions.


To remove someone from Expensify Log in to Expensify and go to "Settings" in the left sidebar. Select the right policy based upon the entity that employs the team member. Select "People" in the left menu. Select the individual's name and click "Remove". If the person has a company credit card assigned to them please notify Finance before un-assigning it.


  1. How could this outcome have been avoided?
  2. Were there early signs that were missed?
  3. In retrospect, what questions should have been asked to bring awareness and ownership to performance issues? For example, "How would you compare yourself relative to your peers?" People are surprisingly honest here.