The GitLab Support Team provides technical support to GitLab.com and Self-Managed GitLab customers. The GitLab Support Team Handbook is the central repository for why and how we work the way we do.
If you are a customer or advocating for a customer who needs technical assistance, please take a look at the dedicated Support Page which describes the best way to get the help you need and lists GitLab's paid service offerings.
If you are a GitLab team-member looking for some help, please see the Internal Support for GitLab Team Members page.
If you are a new Support Team member looking to get started, please take a look at the onboarding section.
Know someone who might be a great fit for our team? Please refer them to the job descriptions below.
We use the below Key Performance Indicators (KPIs) to keep track of how well the Support team is doing as a whole.
The KPI measurements can be found under the
Reporting tab in Zendesk. Progress on meeting these KPIs is also tracked in the Zendesk Support Dashboard in Periscope.
We review these KPIs weekly in the Support Week-in-Review.
GitLab Support commits to an initial substantive response in a specified amount of time from the time the customer submits a ticket. The SLA for this first reply is based on each customer's support plan.
The target is that we meet the Priority Support SLA for the first reply 95% of the time. The definition of the KPI is:
Number of Times SLA met / Total Tickets where the SLA was applicable
This calculation currently includes only tickets submitted by customers with our top support plans (Premium/Ultimate for Self-Managed and Silver/Gold for GitLab.com) and is usually calculated by calendar month.
SSAT is a measure of how satisfied our customers' are with their interaction with the GitLab Support team. This is based on survey responses from customers after each ticket is solved by the Support team using a Good or Bad rating.
The target is 95% satisfaction with their support experience, as measured through Zendesk surveys. The definition of the KPI is:
Satisfied [total good scores] / Total Survey Responses [good scores + bad scores]
This calculation excludes cases where a survey was not offered or where it was offered but no score was provided.
GitLab uses business drivers to forecast long-term financial goals by function. Forecasting is an iterative process and we will continue to introduce complexities and variables over time.
Within Customer Support specifically, we look forward to building out a regional gearing process, as well as addressing US Federal and language staffing needs.
Ticket information comes from Zendesk, which headcount information comes from Bamboo HR. The support team includes everyone in the
Customer Support department in BambooHR, including Managers and Directors.
We target our headcount and non-headcount expenses to be 10% of ARR:
Total Customer Support Team Expenses / Monthly Exit ARR
Customer Support Team Expenses are all expenses from Netsuite where the department name is
Support Team members can contribute towards this in the form of efficiency gains. For example:
The Gitlab support team aims to staff the team based on weighted average of both self-managed and GitLab.com tickets closed in a given month by an individual support team member involved in customer tickets:
Total number of tickets closed / Total number of support staff
We target to have an average of 65 tickets closed per support staff per month.
The Manager to IC Ratio is the ratio of individual contributors to one manager. The long term target for this metric is 10:1. This data comes from Bamboo HR.
The first iteration of gearing ratios can be found in the Support Group Gearing Ratio model on the Ticket Gearing Model tab.
The overall direction for Support in 2019 is set by our overall strategic objectives, with a particular emphasis on
As can also be inferred from our publicly visible OKR page, we anticipate 2019 will focus on the following elements:
By building up a corpus of documentation informed by real-world problems we can ensure that customers can get the answers they need before they come into the queues.
By developing a docs-first approach to answering, we can ensure that the documentation remains a highly useful single source of truth, and that customers are more aware of where to find content on their own.
Beyond this work during specific support cases, the team is also asked to contribute their expertise to GitLab's documentation by producing new guides and videos that would be useful to our users — especially on emerging DevOps trends and use cases.
In the past 3 years we expanded the support team significantly, and this trend will continue in 2019. As GitLab – the product – continues to expand, so will the skill and knowledge of all Support Engineers to be able to continue providing an excellent customer support experience.
In late 2018 we moved from a "product-first" model to a "region-first" model. While this has affected the reporting structure, the lines of work from the perspective of an individual Support team member continue to be aligned to product. In 2019 we want to experiment with a "concept-first" model of support that will align individual strengths with customers needs regardless of which queue they come into.
Other areas we'd like to explore:
|Ticket volume is too high||Build (and adjust) hiring model based on the best data available, hire as quickly as possible while keeping quality up.|
|Team knowledge doesn't match ticket difficulty||Develop training materials, provide time for professional development, encourage specializations.|
|We aren't hitting our SLOs||Hire and train as per above. Add regularity to scheduling and encourage efficient work patterns.|
|Leadership breaks trust||Communicate in public channels, alert early and often of potential discussions, engender the GitLab value of Transparency.|
|Fear of conflict results in poor decisions||Provide focus on meta-issues by triaging issues in the Active Now board. Encourage buy-in and bravery. Truly listen and respond. Explicitly overrule: state reasoning and thank everyone for voicing opinions.|
|Team lacks commitment to results or implementing decisions||Ensure voices are heard. Re-enforce "disagree and commit". Build accountability.|
|There's no accountability in poor results or not meeting commitments||Reinforce GitLab value of Results by paying attention and following up.|
|Lack of trust as the team grows||Make an intentional effort to frequently do pairing sessions between regions.|
As we continue to increase in size, there's a number of challenges that we need to address and/or questions we need to answer:
As we grow:
The GitLab Support Team is part of the wider Engineering function. Be sure to check the communications section in the Engineering handbook for tips on how to keep yourself informed about engineering announcements and initiatives.
Here are our most important modes of communication:
We use the following groups to notify or add support team members to issues and merge requests on GitLab.com.
|@gl-support||All support team members|
|@gitlab-com/support/managers||All support managers|
Our team projects and issue trackers can be found in the Support parent group. Here are some selected projects which are relevant to team communications.
|support-team-meta||General conversations around support at GitLab|
|support-training||Pairing sessions, onboardings, and anything the support team uses to level up|
|feedback||Collects SSAT survey responses from Zendesk in the form of issues|
|support-operations||Support Operations team project|
We use the Support meta issue tracker for tracking issues and creating issues that may require feedback around support.
If you're interested in working on a project or task related to support feel free to create an issue and link to any external issues or projects so that we can:
Issues regarding documentation or features for GitLab CE, EE or any of the GitLab components should not go in this issue tracker, but in their appropriate issue tracker.
We follow GitLab's general guidelines for using Slack for team communications. As only 90 days of activity will be retained, make sure to move important information into the team handbook, product documentation, issue trackers or customer tickets.
||Support team lounge for banter, chat and status updates|
||Discuss GitLab.com tickets and customer issues|
||Discuss self-managed tickets and customer issues|
||Discuss matters which require support managers' attention|
||Discuss support team hiring-related matters|
||GitLab.com Support Team|
||Self-managed Support Team|
||Support Team APAC|
||Support Team EMEA|
If you need to be added to one or more of these groups, please open an issue in the access requests project.
We use the following team calendars to coordinate events and meetings:
If you need access to these calendars, ask a support team member for help.
The Support Team has several meetings each week. These allow us to coordinate and help us all grow together. Each meeting has its own agenda and is led by a different member of the team each week.
Discussion are encouraged to be kept in issues or merge requests so the entire team can collaborate, regardless of time zone.
Any demos or announcements that need to be shared with the entire team should be shared in the Support Week in Review.
|Tuesday||APAC||Support Call||Discuss metrics, demos, upcoming events, and ask questions|
|Tuesday||AMER||Casual Catch up||Agendaless, a space for the team to banter and chat. If you have work to talk about, feel free.|
|Wednesday||AMER,EMEA||Dotcom Support Call||GitLab.com support team meeting to discuss metrics, demos, upcoming events, and ask questions|
|Thursday||EMEA||Support Call||Discuss metrics, demos, upcoming events, and ask questions|
The regions listed above are the regions for which each call may be the most convenient, but all are welcome on any call. Every call is recorded and notes are taken on the agenda for each one. If you miss a meeting or otherwise can't make it, you can always get caught up.
All Zoom and agenda links can be found on the relevant calendar entry in the Support Calendar.
Past recordings of our meetings are available on Google Drive.
The main role of the chair is to start the meeting, keep the meeting moving along, and end the meeting when appropriate. There is generally little preparation required, but depending on the meeting, the chair will include choosing a "feature of the week" or similar. Please check the agenda template for parts marked as "filled in by chair."
During the meeting, the chair:
If a chair is not available, it is their responsibility to find a substitute.
The notetaker should take notes during the meeting and if action is required, creates a comment and assigns it to the appropriate person.
If the notetaker is not available when it is their turn, they should find a substitute.
Any workflow changes or announcements should be shared in the SWIR and we recommend you check at least once a week to stay up to date on recent changes. Ideally, the information shared here should have a permanent location such as an issue or merge request.
We encourage anyone in the team to share. We currently have the following topics:
On Fridays at 3pm EST, slackbot will remind the team with a link to the week in review and we can use a thread there for banter. Bear in mind that chat older than 90 days will no longer be retained.
You can read about how we got this started in this issue.
As a result of our direct interactions with customers, the Support Team occupies a unique position in GitLab where we can connect project managers with the feedback they need to prioritize. Each of the DevOps Stages should have an IC counterpart, and each section should have a manager counterpart.
Support Stable Counterparts, briefly, will:
If you're interested in becoming a stable counterpart for a group, please create an MR on
and assign to your manager.
At writing (Q2-FY20) ICs align to Stage/Product Manager rather than group to keep things easier for PMs. Put another way: if the same product manager is in charge of multiple groups in a Stage we will not consider assigning an additional stable counterpart.
Some functions don't fit as cleanly into the Support Stable Counterparts model. As such we have standing meetings across functions to help surface issues and smooth the interface between such groups.
If you're missing from this list (and want to be on it) please let the Support Managers know in
If you're on the Support Team and have something you'd like to surface, or would like to attend one of these meetings, feel free to post in
|Section||Group||Group Contact||Support Manager||Support Counterpart||Frequency|
|UX||UX||Christie Lenneville||Lyle Kozloff||Cynthia Ng||weekly team meeting|
|UX||Docs/Tech Writing||Mike Lewis||Tom Atkins||Cynthia Ng & Drew Blessing||N/A|
|Production||.com Infrastructure||Dave Smith||Lyle Kozloff||Vlad Stoianovici||every 2 weeks|
|Security||Abuse||Roger Ostrander||Lyle Kozloff||TBD||N/A|
|Security||Security Operations||Jan Urbanc||Lyle Kozloff||TBD||N/A|
|Performance||Performance||Stan Hu||Lee Matos||Cindy Pallares||N/A|
|Legal||Legal||Jaimie Hurewitz||Lyle Kozloff||N/A||N/A|
|Finance||Budget||Chase Wright||Tom Cooney||N/A||1x Qtr on budget + once per month|
|PeopleOps||Recruiting||Cyndi Walsh||Tom Cooney||N/A||weekly|
|PeopleOps||After-hire care||Jessica Mitchell||Tom Cooney||N/A||every 2 weeks|
|Sales||Sales||TBD||Tom Atkins||N/A||weekly on Fri join EMEA scrum|
|Sales||Customer Success||Kristen Lawrence||Tom Atkins||N/A||weekly on Fri join EMEA scrum|
|Sales||Community Relations||David Planella||Tom Atkins||N/A||N/A|
|Meltano||Meltano||Danielle Morrill||Jason Colyer||TBD||N/A|
At GitLab, the Support Team currently manages 2 different Zendesk Instances:
All our Support Agents and Engineers have access to the GitLab Support Instance, whereas only Support Engineers who are US Citizens have access to the GitLab US Federal Support Instance.
The Support Team follows GitLab's paid time off policy. However, do note that if a large number of people are taking the same days off, you may be asked to reschedule. If a holiday is important to you, please schedule it early.
In addition to the tips in Communicating Your Time Off please also:
If you do not have access to the Support - Time Off team calendar, please raise it in the
#support-team-chat channel on Slack and someone will share it with you.
You do not need to add time-off events to the shared calendar if you'll be gone less than half a day. Do consider blocking off your own calendar so that customer calls or other meetings won't be scheduled during your time away.
If you need to go for a run, grab a coffee or take a brain break please do so without hesitation.
+sign next to 'Apps' at the bottom of the left sidebar
Just as Support Team are expected to adhere to the Code of Conduct, we also expect customers to treat the Support Team with the same level of respect.
If you receive threatening or hostile emails from a user, please create a confidential issue in the GitLab Support Issue Tracker and include:
Include your Manager, Director of Support, Abuse Team and Chief People Officer in this issue. Together we will evaluate on a case-by-case basis whether to take action (e.g. ban the user from the forums for violating the Code of Conduct).
The Support team use 'support-team-meta' project issues to track ideas and initiatives to improve our processes. The 'Active Now' issue board shows what we're currently working on. It uses three labels:
Some principles guide how these labels are used:
Each week we look at the board and discuss the issues to keep things moving forward.
By keeping a maximum of six issues for each label, we limit work in progress and make sure things are completed before starting new tasks.
Adding and managing items on the board:
Support managers will regularly review the board to keep items moving forward.
Product Categories - Find out what team handles what
json_stats(analyze JSON logs),
gitlabsos(get all logs and other data from customers), etc.