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.
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.
The team member should provide a written resignation letter or notification to his or her manager.
Upon receipt of the resignation, the manager will notify People Ops by sending a copy of the resignation email.
People Ops will notify the CEO of the resignation via a direct Slack message.
People Ops will notify the Director of Legal Affairs of the termination.
After People Operations is made aware of the upcoming resignation an acknowledgement letter confirming last day and holiday due may be required. The holiday taken should be confirmed with the manager and team member via email and then filed in Bamboo. 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:
After the People Ops Generalist or Director 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 team call.
If an employee, review if any time off needs to be paid on the last paycheck by looking in BambooHR under Time Off.
Add to the GitLab Alumni Slack Channel.
People Ops will send an email with the following information to the team member's personal email address two days 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. 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 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 checklist.
When an employee is absent from work for six consecutive workdays, there is no entry on the availability calendar for time off, and fails to contact his or her supervisor, they can be terminated for job abandonment.
Ideally, the manager and the team member have walked through the guidelines on underperformance before reaching this point.
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.
People Ops: Notify the Director of Legal Affairs and CCO of the termination.
People Ops: Notify CEO via Slack of the termination.
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.
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.
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 checklist). 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.
Manager: Set up a call with the team member in question. Make a separate private calendar event to invite the People Ops representative.
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 to make it clear that the decision is final, but also to 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.
People Ops: Make sure to communicate the practical points from the termination memo outlined below.
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.
People Ops: If applicable, sign the team member up for a Mentat subscription. Credentials, licenses, and pricing are in the People Ops 1Password vault.
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:
Final Pay: "Your final check (or invoice period) is for the pay period of X and includes X days of pay”.
Company Property: “Please return all property as explained in the handbook, also please delete GitLab’s email connection from your phone”.
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”.
Confidentiality and Non-Disclosure: “We know you are a professional, please keep in mind the agreement you signed when you were hired”.
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:
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”.
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”.
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”.
Unemployment insurance: "It is up to your state's labor agency (in CA: EDD) to decide if you are eligible for unemployment insurance”.
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.
Separation pay is not paid until the ex-team member signs the document and the revocation period has passed.
Make sure you understand the rules for over 40
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 your sign”, etc.
Departures are unpleasant
As explained briefly in the offboarding checklist, 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.
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).
GitLab's turnover data is only viewable internally. This data is updated on a monthly basis by People Operations.
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]https://gitlab.com/gitlab-com/people-ops/employment/issues/new) for former team member using the offboardingtemplate using the dropdown, and edit it for applicability to the individual. Please update the checklist as more steps arise.
Managing the Offboarding Tasks
Remove a team member from Sundial
Log in to Sundial using the link in the "Private Sundial URL" Google Doc.
Go to timezone view in the top right corner.
Hover over the team member's name that you want to remove.
Make sure you are in list view at this point, and then click the "x" to remove the team member.
Returning property to GitLab
As part of offboarding, any GitLab property 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.
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:
Package the equipment in the box
Send package to GitLab HQ in San Francisco
Mark on the invoice "Bill Recipient"
Our Fedex number is: [find the number in Secretarial Vault in 1Password]
Provide People Ops the tracking number via email
Please let People Ops know if you have any questions.
How could this outcome have been avoided?
Were there early signs that were missed?
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.