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 email notification to their manager.
  3. Upon receipt of the resignation, the manager will notify the People Operations Business Partner (POBP) by sending a copy of the resignation email/letter. A discussion with the manager and POBP should also happen if needed to determine what lead up to the resignation.
  4. POBP (POBP) will notify the CEO of the resignation via a direct Slack message.
  5. POBP will forward the resignation email to the people operations email inbox. The People Operations Generalist will organize the offboarding, depending on the location of the team member it may mean that another member of the people operations team handles the offboarding. This can be either the Junior Talent Co-ordinator, People Operations Analyst or the Talent Operations Specialist. Collectively known as "People Ops" for the purposes of the following points:
  6. People Ops will notify the Director of Legal Affairs of the termination.
  7. People Ops will notify the Director of Security of the termination.
  8. People Ops will notify the Payroll and Payments Lead of the termination.
  9. After the POBP and Manager have 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
  10. After People Operations is made aware of the upcoming resignation an acknowledgement letter or email (email only for contractors or GitLab Inc team members) confirming last day, the name of the POBP that will be reaching out to arrange an exit interview will be sent. An example email is available to use for this.
  11. If the individual has a statutory holiday allowance, the holiday taken should be confirmed with the manager and team member via email and then filed in BambooHR. Once that has been done an 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:
  12. 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.
  13. People Ops will create an offboarding issue on or before the last day.

Exit Interviews

The exit interview provides team members with the opportunity to freely express views about working at GitLab. POBP will reach out to the team member to conduct an interview via Zoom. If for some reason that is not possible, POBP will send a form to the team member to complete. Once the interview has been completed with the team member, POBP 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.

Announcing Terminations

We strive to maintain personal information regarding all team members private, this includes information regarding an team members voluntary or involuntary departure from GitLab. However, a manager with the consent and approval of the departing team member can share more details with the GitLab team regarding the decision to leave GitLab. For a voluntary departure a team member may have chosen to leave for many different reasons, career development, promotion, a new role or career path, dislike remote work, etc. For example, a team member may tell their manager that they really miss being in an office environment and remote work is not suitable for their personality. Based on that decision they have taken another opportunity that allows them to go to an office. If the departing team member gives their manager permission to share that information then the manager will share while making the departure announcement on the team call. We want all GitLab team members to be engaged, happy and fullfilled in their work and if remote work, the requirements of the job or the role it self are not fullfilling we wish our team members the best of luck in their next endeavor. Regarding involuntary terminations, certain information can also be shared with the GitLab team regarding the departure. Some team members do not thrive or enjoy the work that they were hired to do. For example after starting at GitLab a team member quickly learns they have no desire or interest to learn Git or work with Git. This doesn't make them a bad person, it just means they don't have the interest for the role and based on that the decision was made to exit the company. Again, we want all team members to enjoy and thrive in their work and that may or may not be at GitLab. If the departing employee approves the manager can share that information when the departure is announced. Simply after starting the team member realized this was not a good fit and working with their manager decided to leave. A note to managers, you should always agree with the departing team member on what will be shared and never share something that you would not want the departing team member to hear about. In some instances there will be no further clarification on why a team member has departed, if there are concerns you can address those with your manager. Different levels of transparency will exist based on maintaining respectful treatment for all departures. Having team members leave may be a learning opportunity for some, but should not be a point of gossip for anyone. Managers will need to balance the opportunity for learning with the expectation of privacy and consult their People Business Partner should they have questions.

Transparency is one of our values. In the case of terminations transparency can be painfully specific, calling out an employee’s flaws, while inviting more questions and gossip. We opt to share the feedback only with peers and reports of the person since we balance transparency with our value of collaboration and negative is 1-1.

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 the appropriate People Operations Business Partner (POBP) for assistance. POBP 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. POBP: 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. POBP: Notify CEO via Slack of the termination.
  4. POBP: With manager and/or CCO determine if a separation and release of claims agreement is appropriate. If so, have it prepared prior to the call.
  5. Manager and POBP: 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. Another member of the People Operations Team should also be added to this channel as they will be responsible for handling the offboarding Issue tasks during the call. This can be the People Operations Generalist, People Operations Analyst, Junior Talent Co-ordinator or Talent Operations Specialist. Collectively known as "People Ops" for the purposes of the tasks listed below.
  6. Manager and POBP: Decide who will handle which part of the conversation, and if desired, practice it.
  7. Manager and POBP: 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). 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 POBP.
  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 POBP 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. POBP 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. POBP: 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 (Lumity) 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 People Ops”.
  4. Unemployment insurance: "It is up to your state's labor agency (in CA: EDD) to decide if you are eligible for unemployment insurance”.
  5. Please remember to keep GitLab 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.