Employee Handbook
Share
Explore
Company

icon picker
Values

Credit: https://about.gitlab.com/handbook/values/

GitLab Values

GitLab's six values are
🤝 Collaboration
, 📈 Results , ⏱️ Efficiency, 🌐 Diversity, Inclusion & Belonging, 👣 Iteration, and 👁️ Transparency, and together they spell the CREDIT we give each other by assuming good intent. We react to them and they are made actionable below.

About our values

We take inspiration from other companies, and we always go for the boring solutions. Just like the rest of our work, we continually adjust our values and strive to make them better. GitLab values are a living document. In many instances, they have been documented, refined, and revised based on lessons learned (and scars earned) in the course of doing business.
We used to have more values, but it was difficult to remember them all, so we condensed them and gave sub-values and created an acronym.
Everyone is welcome to suggest improvements.

Sub-values as substantiators

The "sub" in sub-value is not in reference to "subordinate," but rather, "substantiate." Sub-values define top-level values, and are most easily lived out. You may see other companies with some of our top-level values, though our unique collection of sub-values are critical to add context and remove ambiguity.
Sub-values clarify what a given value means and looks like at GitLab. Understanding this distinction is critical to thriving at GitLab, particularly for newer team members who may be familiar with a prior organization's interpretation of iteration or collaboration (as examples).

Credit

🤝 Collaboration

Helping others is a priority, even when it is not immediately related to the goals that you are trying to achieve. Similarly, you can rely on others for help and advice—in fact, you're expected to do so. Anyone can chime in on any subject, including people who don't work at GitLab. The person who's responsible for the work decides how to do it, but they should always take each suggestion seriously and try to respond and explain why it may or may not have been implemented.
Kindness
We value caring for others. Demonstrating we care for people provides an effective framework for challenging directly and delivering feedback. We disagree with companies that say . We're all for accurate assessment, but we think it must be done in a kind way. Give as much positive feedback as you can, and do it in a public way.
Share
There are aspects of GitLab culture, such as extreme transparency, that are unintuitive to outsiders and new team members. Be willing to invest in people and engage in open dialogue. For example, consider making private issues public wherever possible so that we can all learn from the experience.
Everyone can remind anyone in the company about our values. If there is a disagreement about the interpretations, the discussion can be escalated to more people within the company without repercussions.
Share problems you run into, ask for help, be forthcoming with information and speak up.
Negative feedback is 1-1
Give negative feedback in the smallest setting possible. One-on-one video calls are preferred. If you are unhappy with anything (your duties, your colleague, your boss, your salary, your location, your computer), please let your boss, or the CEO, know as soon as you realize it. We want to solve problems while they are small.
Negative feedback is distinct from negativity and disagreement. If there is no direct feedback involved, strive to discuss disagreement in a public channel, respectfully and transparently.
In a , GitLab co-founder and CEO Sid Sijbrandij offers the following context.
We deal with negative all the time at GitLab. If it's not a problem, then why are we discussing it? We deal with negativity a lot, and that's also part of our ambition.

If you want to get better, you talk about what you can improve. We're allowed to publicly discuss negative things; we're not allowed to give negative feedback in a large setting if it could be feasibly administered in a smaller setting.
Say thanks
Recognize the people that helped you publicly, for example in our #thanks chat channel.
Give feedback effectively
Giving feedback is challenging, but it's important to deliver it effectively. When providing feedback, always make it about the work itself; focus on the business impact and not the person. Make sure to provide at least one clear and recent example. If a person is going through a hard time in their personal life, then take that into account. An example of giving positive feedback is our thanks chat channel. For managers, it's important to realize that employees react to a negative incident with their managers than they do to a positive one. Keeping that in mind, if an error is so inconsequential that the value gained from providing criticism is low, it might make sense to keep that feedback to yourself. In the situations where negative feedback must be given, focus on the purpose for that feedback: to improve the employee’s performance going forward. Give recognition generously, in the open, and often to from your team.
Get to know each other
We use a lot of text-based communication, and if you know the person behind the text, it will be easier to prevent conflicts. So we encourage people to get to know each other on a personal level through our Take A Break Call, virtual coffee chats, and during GitLab Contribute.
Don't pull rank
If you have to remind someone of the position you have in the company, you're doing something wrong. People already know our decision-making process. Explain why you're making the decision, and respect everyone irrespective of their function. This includes using the rank of another person - - to sell an idea or decision.
Assume positive intent
We naturally have a double standard when it comes to the actions of others. We blame circumstances for our own mistakes, but individuals for theirs. This double standard is called the . In order to mitigate this bias, you should always in your interactions with others, respecting their expertise and giving them grace in the face of what you might perceive as mistakes. When disagreeing, folks sometimes argue against the weakest points of argument, or sometimes argue against a "straw man". Assume the points are presented in good faith, and instead try to :
That’s when you articulate the absolute strongest version of your opponent’s position—potentially even stronger than the one they presented. A good steel-man argument is one where the other person feels you've represented their argument well, even if they still disagree with your assumptions or conclusion.
Address behavior, but don't label people
There is a lot of good in about not wanting jerks on our team, but we believe that jerk is a label for behavior rather than an inherent classification of a person. We avoid classifications.
Say sorry
If you made a mistake, apologize as soon as possible. Saying sorry is not a sign of weakness but one of strength. The people that do the most work will likely make the most mistakes. Additionally, when we share our mistakes and bring attention to them, others can learn from us, and the same mistake is less likely to be repeated by someone else. Mistakes can include when you have not been kind to someone. In order to reinforce our values, it is important, and takes more courage, to apologize publicly when you have been unkind publicly (e.g., when you have said something unkind or unprofessional to an individual or group in a Slack channel).
No ego
Don't defend a point to win an argument or double-down on a mistake. You are not your work; you don't have to defend your point. You do have to search for the right answer with help from others.
In a GitLab Unfiltered , GitLab Head of Remote Darren M. adds context on this sub-value.
In many organizations, there's a subtle, low-level, persistent pressure to continually prove your worth. And I believe that this fuels imposter syndrome and wreaks havoc on mental health.

What's so troubling to me is how often perception is reality. In other words, those who have mastered the art of being perceived as elite reap benefits, though this has nothing to do with actual results.

At GitLab, "no ego" means that we foster and support an environment where results matter, and you're given agency to approach your work in the way that makes sense to you. Instead of judging people for not approaching work in an agreed-upon way, "no ego" encourages people to glean inspiration from watching others approach work in new and different ways.
Being no ego is a standard we hold ourselves as people to but is not one that applies to GitLab as a company or product. We want to celebrate and highlight GitLab's accomplishments, including being the largest all-remote company. This doesn't mean we don't recognize our mistakes, including how we handled telemetry.
See others succeed
A candidate who has talked to a lot of people inside GitLab said that, compared to other companies, one thing stood out the most: everyone here mentioned wanting to see each other succeed.
Don't let each other fail
Keep an eye out for others who may be struggling or stuck. If you see someone who needs help, reach out and assist, or connect them with someone else who can provide expertise or assistance. We succeed and shine together!
People are not their work
Always make suggestions about examples of work, not the person. Say "You didn't respond to my feedback about the design" instead of "You never listen". And, when receiving feedback, keep in mind that feedback is the best way to improve, and that others giving you feedback want to see you succeed.
Do it yourself
Our collaboration value is about helping each other when we have questions, need critique, or need help. No need to brainstorm, wait for consensus, or .
Blameless problem solving
Investigate mistakes in a way that focuses on the situational aspects of a failure’s mechanism and the decision-making process that led to the failure, rather than cast blame on a person or team. We hold blameless and retrospectives for stakeholders to speak up without fear of punishment or retribution.
Short toes
People joining the company frequently say, "I don't want to step on anyone's toes." At GitLab, we should be more accepting of people taking initiative in trying to improve things. As companies grow, their speed of decision-making goes down since there are more people involved. We should counteract that by having short toes and feeling comfortable letting others contribute to our domain. For example, pointed, respectful feedback to a proposal by GitLab's CEO led to his own merge request being closed.
It's impossible to know everything
We know we must rely on others for the expertise they have that we don't. It's OK to admit you don't know something and to ask for help, even if doing so makes you feel vulnerable. It is never too late to ask a question, and by doing so, you can get the information you need to produce results and to strengthen your own skills as well as GitLab as a whole. After your question is answered, please document the answer so that it can be shared.
Don't display surprise when people say they don't know something, as it is important that everyone feels comfortable saying "I don't know" and "I don't understand." (As inspired by .)
Collaboration is not consensus
When collaborating, it is always important to stay above radar and work transparently, but collaboration is not consensus. You don't need to ask people for their input, and they shouldn't ask you "Why didn't you ask me?" You don't have to wait for people to provide input, if you did ask them. We believe in permissionless innovation—you don't need to involve people, but everyone can contribute. This is core to how we iterate, since we want smaller teams moving quickly rather than large teams achieving consensus slowly.
Collaboration is not playing politics
We don't want people to play politics at GitLab. One way to spot when this is happening is when people discussing a proposal focus overly on whose proposal it is. This is a manifestation of the , where we judge an argument’s strength not by how strongly it supports the conclusion but by how strongly we support the conclusion. Proposals should be weighed on their merits and not on who proposed them. The other thing to observe is whether people are being promoted based on others liking them or having a lot of alliances. We want people to be promoted based on their results. We do value collaboration, but that's different than being promoted just because people like you.
Collaboration Competency
Competencies are the Single Source of Truth (SSoT) framework for things we need team members to learn. We demonstrate collaboration when we take action to help others and include other's (both internal and external) input (both help and feedback) to achieve the best possible outcome.
Level
Demonstrates Competency By...
Take Knowledge Assessment
Junior/Associate
Develops collaboration skills by learning from other team members
Open Assessment
Intermediate
Grows collaboration skills by using different types of communication; files issues appropriately, asks in the right Slack channels and uses the right labels.
Open Assessment
Senior
Models collaborative behavior for fellow team members and others within the group.
Open Assessment
Staff/Manager
Coaches team members on how to collaborate more effectively and pointing team members to the right channels to collaborate.
Open Assessment
Senior Manager
Fosters collaborative decision making and problem solving across the departments.
Open Assessment
Director
Drives team collaboration across divisions/departments, silos, and division boundaries.
Open Assessment
Senior Director
Develops networks and builds partnerships, engages in cross-functional activities; collaborates across boundaries, and finds common ground with a widening range of stakeholders. Utilizes contacts to build and strengthen internal support base
Open Assessment
VP
Leads collaboration and teamwork in daily routines, prioritizing interactions, information sharing, and real time decision making across divisions/departments. Encourages greater cross-functional collaboration among e-team leaders.
Open Assessment
EVP/CXO
Champions collaboration and teamwork into daily routines, prioritizing interactions, information sharing, and real time decision making across divisions/departments. Champions cross-functional collaboration among e-team leaders and GitLab.
Open Assessment

📈 Results

We do what we promised to each other, customers, users, and investors.
Dogfooding
We . Our development organization uses GitLab.com to manage the DevOps lifecycle of the GitLab.
Our entire company uses GitLab to collaborate on this handbook. We also capture other content and processes in Git repos and manage them with GitLab.
When something breaks, doesn't work well, or needs improvement, we are more likely to notice it internally and address it before it impacts our larger community.

Measure results not hours
We care about what you achieve: the code you shipped, the user you made happy, and the team member you helped. Someone who took the afternoon off shouldn't feel like they did something wrong. You don't have to defend how you spend your day. We trust team members to do the right thing instead of having rigid rules. Do not incite competition by proclaiming how many hours you worked yesterday. If you are working too many hours, talk to your manager to discuss solutions.
Give agency
We give people agency to focus on what they think is most beneficial. If a meeting doesn't seem interesting and someone's active participation is not critical to the outcome of the meeting, they can always opt to not attend, or during a video call they can work on other things if they want. Staying in the call may still make sense even if you are working on other tasks, so other peers can ping you and get fast answers when needed. This is particularly useful in multi-purpose meetings where you may be involved for just a few minutes.
Write promises down
Agree in writing on measurable goals. Within the company we use public OKRs for that.
Growth mindset
You don't always get results and this will result in criticism from yourself and/or others. We believe our talents can be developed through hard work, good strategies, and input from others. We try to hire people based on .
Global optimization
This name comes from the . Our definition of global optimization is that you do what is best for the organization as a whole. Don't optimize for the goals of your team when it negatively impacts the goals of other teams, our users, and/or the company. Those goals are also your problem and your job. Keep your team as lean as possible, and help other teams achieve their goals. In the context of collaboration, this means that if anyone is blocked by you on a question, your approval, or a merge request review, your top priority is always to unblock them, either directly or through helping them find someone else who can, even if this takes time away from your own or your team's priorities.
Tenacity
We refer to this as "persistence of purpose". As talked about in , tenacity is the ability to display commitment to what you believe in. You keep picking yourself up, dusting yourself off, and quickly get going again having learned a little more.
Ownership
We expect team members to complete tasks that they are assigned. Having a task means you are responsible for anticipating and solving problems. As an owner, you are responsible for overcoming challenges, not suppliers or other team members. Take initiative and proactively inform stakeholders when there is something you might not be able to solve.
Sense of urgency
At an exponentially-scaling startup, time gained or lost has compounding effects. Try to get the results as fast as possible, but without compromising our other values and ways we communicate, so the compounding of results can begin and we can focus on the next improvement.
Ambitious
While we iterate with small changes, we strive for large, ambitious results.
Perseverance
Working at GitLab will expose you to situations of various levels of difficulty and complexity. This requires focus and the ability to defer gratification. We value the ability to maintain focus and motivation when work is tough and asking for help when needed.
Bias for Action
It's important that we keep our focus on action, and don't fall into the trap of analysis paralysis or sticking to a slow, quiet path without risk. Decisions should be thoughtful, but delivering fast results requires the fearless acceptance of occasionally making mistakes; our bias for action also allows us to course correct quickly. Everyone will make mistakes, but it's the relative number of mistakes against all decisions made (i.e. percentage of mistakes), and the swift correction or resolution of that mistake, which is important. A key to success with transparency is to always combine an observation with questions to ensure understanding and suggestions for solutions / improvement to the group that can take action. We don't take the easy path of general complaints without including and supporting the groups that can affect change. Success with transparency almost always requires effective collaboration.
Accepting Uncertainty
We should strive to accept that there are things that we don’t know about the work we’re trying to do, and that the best way to drive out that uncertainty is not by layering analysis and conjecture over it, but rather accepting it and moving forward, driving it out as we go along. Wrong solutions can be fixed, but non-existent ones aren’t adjustable at all.
Customer results
Our focus is to improve the results that customers achieve, which requires being aware of , see for a specific UX example. Customer results are more important than:
What we plan to make. If we focus only on our own plans, we would have only GitLab.com and no self-hosted delivery of GitLab.
Large customers. This leads to the , so we should also focus on small customers and future customers (users).
What customers ask for. This means we don't use the phrase "customer focus", because it tempts us to prioritize what the customer says they want over what we discover they actually need through our product development process. Often, it’s easier for a customer to think in terms of a specific solution than to think about the core problem that needs to be solved. But a solution that works well for one customer isn’t always relevant to other customers, and it may not align with our overall product strategy. When a customer asks for something specific, we should strive to understand why, work to understand the broader impact, and then create a solution that scales.
Our existing scope. For example, when customers asked for better integrations and complained about integration costs and effort, we responded by expanding our scope to create a single application for the DevOps lifecycle.
Our assumptions. Every company works differently, so we can’t assume that what works well for us will support our customers’ needs. When we have an idea, we must directly validate our assumptions with customers to ensure we create scalable, highly relevant solutions.
What we control. We should take responsibility for what the customer experiences, even when it isn’t entirely in our control. We aim to treat every customer-managed instance downtime as a $1M a day problem.

Results Competency
Competencies are the Single Source of Truth (SSoT) framework for things we need team members to learn. We demonstrate results when we do what we promised to each other, customers, users, and investors.
Level
Demonstrates Competency By...
Take Knowledge Assessment
Junior/Associate
Develops the skills needed to commit and execute on agreed actions.
Open Assessment
Intermediate
Applies commitment to results and demonstrates ability to execute on agreed actions.
Open Assessment
Senior
Models a sense of urgency and commitment to deliver results.
Open Assessment
Staff/Manager
Coaches team members to collaborate and work iteratively towards results with the focus on the outcome and not hours worked.
Open Assessment
Senior Manager
Fosters a culture of ownership for own performance.
Open Assessment
Director
Drives efficient execution of results ensuring collaboration between team members.
Open Assessment
Senior Director
Develops quarterly OKR's ensuring the performance and results of one or more teams.
Open Assessment
VP
Leads the achievement of results while driving the continued alignment to our values of collaboration, efficiency, diversity, iteration and transparency.
Open Assessment
EVP/CXO
Leads the achievement of results while driving the continued alignment to our values of collaboration, efficiency, diversity, iteration and transparency.
Open Assessment

⏱️ Efficiency

We care about working on the right things, not doing more than needed, and not duplicating work. This enables us to achieve more progress, which makes our work more fulfilling.
Write things down
We document everything: in the handbook, in meeting notes, in issues. We do that because "." It is far more efficient to read a document at your convenience than to have to ask and explain. Having something in version control also lets everyone contribute suggestions to improve it.
Boring solutions
Use the simplest and most boring solution for a problem, and remember that The speed of innovation for our organization and product is constrained by the total complexity we have added so far, so every little reduction in complexity helps. Don’t pick an interesting technology just to make your work more fun; using established, popular tech will ensure a more stable and more familiar experience for you and other contributors.
Make a conscious effort to recognize the constraints of others within the team. For example, sales is hard because you are dependent on another organization, and development is hard because you have to preserve the ability to quickly improve the product in the future.
Self-service and self-learning
Team members should first search for their own answers and, if an answer is not readily found or the answer is not clear, ask in public as we all should have a low level of shame. Write down any new information discovered and pay it forward so that those coming after will have better efficiency built on top of practicing collaboration, inclusion, and documenting the results.
Efficiency for the right group
Optimize solutions globally for the broader GitLab community. Making a process efficient for one person or a small group may not be the efficient outcome for the whole GitLab community. As an example, it may be best to discard a renewal process that requires thousands of customers to each spend two hours in favor of one that only takes sixty seconds, even when it may make a monthly report less efficient internally! In a decision, ask yourself "For whom does this need to be most efficient?" Quite often, the answer may be your users, contributors, customers, or team members that are dependent upon your decision.
Be respectful of others' time
Consider the time investment you are asking others to make with meetings and a permission process. Try to avoid meetings, and if one is necessary, try to make attendance optional for as many people as possible. Any meeting should have an agenda linked from the invite, and you should document the outcome. Instead of having people ask permission, trust their judgment and offer a consultation process if they have questions.
Spend company money like it's your own
Every dollar we spend will have to be earned back; be as frugal with company money as you are with your own.
Frugality
with: "Accomplish more with less. Constraints breed resourcefulness, self-sufficiency, and invention. There are no extra points for growing headcount, budget size, or fixed expense."
ConvDev
We work according to the principles of .
Freedom
You should have clear objectives and the freedom to work on them as you see fit.
Short verbal answers
Give short answers to verbal questions so the other party has the opportunity to ask more or move on.
Keep broadcasts short
Keep one-to-many written communication short, as mentioned in : "A majority say that what they read is frequently ineffective because it’s too long, poorly organized, unclear, filled with jargon, and imprecise."
Managers of one
We want each team member to be a manager of one who doesn't need daily check-ins to achieve their goals.
Responsibility over rigidity
When possible, we give people the responsibility to make a decision and hold them accountable for that, instead of imposing rules and approval processes.
Accept mistakes
Not every problem should lead to a new process to prevent them. Additional processes make all actions more inefficient; a mistake only affects one.
Move fast by shipping the minimal viable change
We value constant improvement by iterating quickly, month after month. If a task is not the smallest thing possible, cut the scope.
Efficiency Competency
Competencies are the Single Source of Truth (SSoT) framework for things we need team members to learn. We demonstrate efficiency when we work on the right things, not doing more than needed, and not duplicating work.
View: Efficiency Competencies
6
Level
Demonstrates Competency By...
Take Knowledge Assessment
Junior/Associate
Developing an understanding of being a manager of 1: Take responsibility for your own tasks and deliver on commitments Brings up ideas for process improvements to 1:1s. Learns to write everything down as it is far more efficient to read a document at your convenience than to have to ask and explain.
Open Assessment
Intermediate
Has a growing understanding of efficiency and is acting by surfacing process inefficiencies in the team Seeks out ways to be more effective in their role, while also starting to mentor others in ways to work efficiently.
Open Assessment
Senior
Models a culture of efficiency within the team where people make good, timely decisions using available data and assessing multiple alternatives Models using boring solutions for increasing the speed of innovation for our organization and product
Open Assessment
Staff/Manager
Takes ownership of own team process inefficiencies, implements cross team efforts in ensuring things are running smoothly Implements a way of working in the team where team members first search for their own answers and, if an answer is not readily found or the answer is not clear, ask in public as we all should have a low level of shame
Open Assessment
Senior Manager
Takes ownership of group level process inefficiencies, guides cross sub-departments in ensuring things are running smoothly Fosters a culture in the sub-departments where you respect others' time and promote self-service and self-learning
Open Assessment
Director
Drives the framework of frugality on a department level and owns departments efforts in ensuring things are running smoothly Drives efficient resolution of highly complex or unusual business problems that impact the department / team. Holds their managers and peers accountable for upholding this value
Open Assessment
Senior Director
Develops the framework and strategy of frugality cross division. Resulting in efforts ensuring things are running smoothly Develops leaders to action on division/department/team inefficiencies. Hold their management teams accountable for upholding this value.
Open Assessment
VP
Leads with efficiency across the company. Ensures efficient resource allocation decisions across the company Leads across company strategy and policy improvements that move the business towards more efficiency. They hold their senior management and the e-group accountable for upholding this value
Open Assessment
EVP/CXO
Champions GitLab's strategy for efficiency internally and externally. Constantly looking for efficiency improvements cross company and holding other e-group members accountable for upholding efficiency too. They are comfortable leading through frugality and accepting of mistakes
Open Assessment

🌐 Diversity, Inclusion & Belonging

Diversity and inclusion are fundamental to the success of GitLab. We aim to make a significant impact in our efforts to foster an environment where everyone can thrive. We are designing a multidimensional approach to ensure that GitLab is a place where people from every background and circumstance feel like they belong and can contribute. We actively chose to a culture that is inclusive and supports all employees equally in the process of achieving their professional goals. We hire globally and encourage hiring in a diverse set of countries. We work to make everyone feel welcome and to increase the participation of underrepresented minorities and nationalities in our community and company. For example, we celebrate our sponsorship of diversity events and offer a double referral bonus.
Bias towards asynchronous communication
Take initiative to operate asynchronously whenever possible. This shows care and consideration for those who may not be in the same time zone, are traveling outside of their usual time zone, or are structuring their day around pressing commitments at home or in their community.
This is demonstrated by communicating recordings of meetings, using GitLab Issues and Merge Requests rather than texts, calls, or Slack messages, and being sensitive to local holidays and vacation statuses. Encourage others to default to documentation rather than pressuring others to be online outside of their working hours.
Reach across company departments
While it's wise to seek advice from experts within your function, we encourage GitLab team members to seek and provide feedback across departments. This enables the team to iterate more quickly, taking a more diverse perspective into account.
Make family feel welcome
One of the unique elements to an all-remote culture is the ability to visit a person's home while collaborating. If the tenor of the meeting allows, feel welcome to invite your family members or pets to drop by and greet your colleagues. Be mindful of language and use of profanity to encourage a family-friendly environment.
Shift working hours for a cause
Caregiving, outreach programs, and community service do not conveniently wait for regular business hours to conclude. If there's a cause or community effort taking place, feel welcome to work with your manager and shift your working hours to be available during a period where you'll have the greatest impact for good. For colleagues supporting others during these causes, document everything and strive to post recordings so it's easy for them to catch up.
Be a mentor
People feel more included when they're supported. To encourage this, and to support diversified learning across departments, consider GitLab's Interning for Learning program.
Culture fit is a bad excuse
We don't hire based on culture or select candidates because we'd like to have a drink with them. We hire and reward employees based on our shared values as detailed on this page. We want a values fit, not a culture fit. We want cultural diversity instead of cultural conformity, such as a atmosphere. Said differently: or "hire for culture contribution" since our mission is that everyone can contribute.
Religion and politics at work
We generally avoid discussing politics or religion in public forums because it is easy to alienate people that have a minority opinion. This doesn’t mean we never discuss these topics. Because we value diversity, inclusion and belonging, and want all team members to feel welcome and contribute equally, we encourage free discussion of operational decisions that can move us toward being a more inclusive company. GitLab also publicly supports pro-diversity activities and events.
It's also acceptable for individuals to bring up politics and religion in social contexts such as coffee chats and real-life meetups with other coworkers (with the goal to understand and not judge), but always be aware of sensitivities, exercise your best judgment, and make sure you stay within the boundaries of our Code of Conduct.
Quirkiness
Unexpected and unconventional things make life more interesting. Celebrate and encourage quirky gifts, habits, behavior, and points of view. Open source is a great way to interact with interesting people. We try to hire people who think work is a great way to express themselves.
Building a safe community
Do not make jokes or unfriendly remarks about characteristics of the people who make up GitLab and how they identify. Everyone has the right to feel safe when working for GitLab and/or as a part of the GitLab community. We do not tolerate abuse, harassment, exclusion, discrimination, or retaliation by/of any community members, including our employees. You can always refuse to deal with people who treat you badly and get out of situations that make you feel uncomfortable.
Unconscious bias
We recognize that unconscious bias is something that affects everyone and that the effect it has on us as humans and our company is large. We are responsible for understanding our own implicit biases and helping others understand theirs. We are continuously working on getting better at this topic.
Inclusive benefits
We list our Parental Leave publicly so people don't have to ask for them during interviews.
Inclusive language & pronouns
Use inclusive language. For example, prefer "Hi everybody" or "Hi people" to "Hi guys", and "they" instead of "he/she". While there are several good guides from folks like
, , and on using inclusive language, we don't keep an exhaustive list. When new possibly non-inclusive words arise, we prefer to be proactive and look for an alternative. If your goal is to be inclusive, it is more effective to make a small adjustment in the vocabulary when some people have a problem with it, rather than making a decision to not change it because some people don’t think it is a problem. And if you make a mistake (e.g. accidentally using the wrong pronoun or an outdated phrase), acknowledge it, apologize gracefully and move on; there is no need to dwell on it, and you can work to avoid making that mistake in the future. Please also visit our Gender and Sexual-orientation Identity Definitions and FAQ page if you have questions around pronouns and other topics related to gender / sexual orientation.
Inclusive interviewing
This is documented on our page about interviewing.
Inclusive meetings
Be consciously inclusive in meetings by giving everyone present an opportunity to talk and present their points of view. This can be especially important in a remote setting.
With internal meetings, consider using an agenda document for questions. For example, with GitLab Group Conversations, every meeting has a numbered list that GitLab team members can add questions to. During the meeting, questions are answered in turn and discussions noted in the same document.
Customers are not used to working in this way. To promote inclusion with customers: ask participants for their goals; make sure during demos that you pause for question; leave time for discussion.
See Something, Say Something
As a globally-dispersed company, we have employees from many different backgrounds and cultures. That means it is important for each of us to use great judgment in being respectful and inclusive of our teammates. At the same time, we may sometimes not fully realize we have said or done something to offend someone. It is important that our teammates hold each other accountable and let them know if they have unintentionally or intentionally done something so they can learn and gain additional understanding of perspectives different from our own. It is also important that our teammates don't feel excluded or minimized by the words we use or the things we do. Thus, we all need to speak up when we see something that isn't respectful or inclusive.
Neurodiversity
is a type of diversity that includes: autism, ADHD, dyslexia, dyscalculia, dyspraxia, and other styles of neurodivergent functioning. While neurodivergent individuals often bring which can be harnessed for in many fields including , neurodivergent individuals are often discriminated against, and sometimes have trouble making it through traditional hiring processes. These individuals should be able to contribute as GitLab team members. The handbook, values, strategy, and interviewing process should never discriminate against the neurodivergent.
Family and friends first, work second
Long-lasting relationships , and come before work. As someone said in our #thanks channel after helping a family member for five days after a hurricane: "THANK YOU to GitLab for providing a culture where "family first" is truly meant". Use the hashtag: #FamilyAndFriends1st
Diversity, Inclusion & Belonging Competency
Competencies are the Single Source of Truth (SSoT) framework for things we need team members to learn. We demonstrate diversity, inclusion and belongings when we foster an environment where everyone can thrive and ensuring that GitLab is a place where people from every background and circumstance feel like they belong and can contribute.
If you would like to improve your skills or expand your knowledge on topics relating to Diversity, Inclusion, & Belonging at GitLab, check out our resources:
Level
Demonstrates Competency By...
Take Knowledge Assessment
Junior/Associate
Develops an understanding of the impact of biases; seeks to learn more about their own biases. Is accountable for their actions, apologizes and learns from their mistakes.
Open Assessment
Intermediate
Has a growing understanding of the impact of biases; fosters a sense of inclusion and belonging on their team. Holds themselves and peers accountable for upholding this value by kindly pointing out when mistakes might be made. Encourages an inclusive team environment where differences are encouraged and everyone can contribute.
Open Assessment
Senior
Actively aware of how bias or exclusion might occur on a team and helps to facilitate a team environment where team members belong and feel safe. Models empathy with their interactions with customers and cross functional team members.
Open Assessment
Staff/Manager
Implements best practices to limit bias on their team. They ensure blameless accountability is practiced throughout their team. Creates an environment where team members feel safe to share ideas and welcomes individual differences.
Open Assessment
Senior Manager
Proactively finds ways of facilitating an inclusive team environment and assesses processes to protect against unconscious bias. They hold their team members accountable including cross functional stakeholders. Promotes individual differences across their team and other departments.
Open Assessment
Director
Drives diversity, inclusion and sense of belonging across their department. They hold their managers and peers accountable for upholding this value. They are actively involved in the execution of D&I strategies and encourage others to participate.
Open Assessment
Senior Director
Embeds the value of Diversity & Inclusion across their division and finds opportunities to limit the impact of bias on decision making processes. Uses feedback and data to formulate a strategy on how to make improvements. They hold their management teams accountable for upholding the value.
Open Assessment
VP
Leads with the value of Diversity & Inclusion across the company and finds opportunities to limit the impact of bias on decision making processes. They sponsor internal initiatives to increase trust, psychological safety and inclusion. They hold their senior management and the e group accountable for upholding this value.
Open Assessment
EVP/CXO
Champions the value of Diversity, Inclusion and Belonging into the company's strategy. They champion and sponsor internal and external D&I initiatives. They speak to the importance of this value in company-wide meetings. They hold their leaders and other e group members accountable for upholding this value. They continuously seek ways to increase trust, psychological safety and inclusion across the broader company.
Open Assessment

👣 Iteration

We do the smallest thing possible and get it out as quickly as possible. If you make suggestions that can be excluded from the first iteration, turn them into a separate issue that you link. Don't write a large plan; only write the first step. Trust that you'll know better how to proceed after something is released. You're doing it right if you're slightly embarrassed by the minimal feature set shipped in the first iteration. This value is the one people most underestimate when they join GitLab. The impact both on your work process and on how much you achieve is greater than anticipated. In the beginning, it hurts to make decisions fast and to see that things are changed with less consultation. But frequently, the simplest version turns out to be the best one.
People that join GitLab all say they already practice this iteration. But this is the value that they have the hardest time adopting. People are trained that if you don't deliver a perfect or polished thing, you get dinged for it. If you do just one piece of something, you have to come back to it. Doing the whole thing seems more efficient, even though it isn't. If the complete picture is not clear, your work might not be perceived as you want it to be perceived. It seems better to make a comprehensive product. They see other people in the GitLab organization being really effective with iteration but don't know how to make the transition, and it's hard to shake the fear that constant iteration can lead to shipping lower-quality work or a worse product.
The way to resolve this is to write down only what you can do with the time you have for this project right now. That might be 5 minutes or 2 hours. Think of what you can complete in that time that would improve the current situation. Iteration can be uncomfortable, even painful. If you're doing iteration correctly, it should be.
However, if we take smaller steps and ship smaller, simpler features, we get feedback sooner. Instead of spending time working on the wrong feature or going in the wrong direction, we can ship the smallest product, receive fast feedback, and course correct. People might ask why something was not perfect. In that case, mention that it was an iteration, you spent only "x" amount of time on it, and that the next iteration will contain "y" and be ready on "z".
Loading…
Don't wait
Don’t wait. When you have something of value like a potential blog post or a small fix, implement it straight away. Right now, everything is fresh in your head and you have the motivation. Inspiration is perishable. Don’t wait until you have a better version. Don’t wait until you record a better video. Don’t wait for an event (like Contribute). Inventory that isn’t released is a liability since it has to be managed, becomes outdated, and you miss out on the feedback you would have received had you implemented it straight away.
Set a Due Date
We always try to set a due date. If needed, we cut scope. If we have something planned for a specific date, we make that date. For example we shipped over 100 releases on the 22nd of the month. But every one of them doesn't contain all the features we planned. If we planned an announcement for a certain date, we might announce less or indicate what is still uncertain. But we set a due date because having something out there builds trust and gives us better feedback.
Cleanup over sign-off
As discussed in , waiting for approval can slow things down. We can prevent this with automation (e.g. tests of database migration performance) or clean-up after the fact (refactor a Pajamas if something was added that isn't coherent), but we try to ensure that people don't need to wait for signoff.
Reduce cycle time
Short iterations reduce our cycle time.
Work as part of the community
Small iterations make it easier to work with the wider community. Their work looks more like our work, and our work is also quicker to receive feedback.
Minimal Viable Change (MVC)
We encourage MVCs to be as small as possible. Always look to make the quickest change possible to improve the user's outcome. If you validate that the change adds more value than what is there now, then do it. No need to wait for something more robust. More information is in the product handbook, but this applies to everything we do in all functions. Specifically for product MVCs, there is additional responsibility to validate with customers that we're adding useful functionality without obvious bugs or usability issues.
Make a proposal
If you need to decide something as a team, make a concrete proposal instead of calling a meeting to get everyone's input. Having a proposal will be a much more effective use of everyone's time. Every meeting should be a review of a proposal. We should be . State the underlying problem so that people have enough context to propose reasonable alternatives. The people that receive the proposal should not feel left out and the person making it should not feel bad if a completely different proposal is implemented. Don't let your desire to be involved early or to see your solution implemented stand in the way of getting to the best outcome. If you don't have a proposal, don't let that stop you from highlighting a problem, but please state that you couldn't think of a good solution and list any solutions you considered.
Everything is in draft
At GitLab, we rarely mark any content or proposals as drafts. Everything is always in draft and subject to change.
Under construction
As we get more users, they will ask for stability, especially in our UX. We should always optimize for the long term. This means that users will be inconvenienced in the short term, but current and future users will enjoy a better product in the end.
Low level of shame
When we talked to Nat Friedman, he said: "A low level of shame is intrinsic to your culture." This captures the pain we feel by shipping something that isn't where we want it to be yet.
In a GitLab Unfiltered , GitLab Head of Remote Darren M. adds context on this sub-value.
In many organizations, you take a risk when you put forth any work that's not perfect — where you haven't spent endless cycles planning for contingencies or counterpoints. Because of this, you're incentivized to invest a lot of time and effort into preparing for 'What if?' scenarios before any work is presented.
The downside to that is clear. If you do eventually put forth the work, but it needed to be course corrected a long time ago, you've now squandered a lot of time that you could have spent improving it via iteration.
Having a low level of shame requires you to combat a natural inclination to conceal work until it's perfect, and instead celebrate the small changes.
Focus on Improvement
We believe great companies sound negative because they focus on what they can improve, not on what is working. Our first question in every conversation with someone outside the company should be: What do you think we can improve? This doesn't mean we don't recognize our successes; for example, see our Say Thanks value. We are positive about the future of the company; we are present-day pessimists and long-term optimists.
Do things that don't scale
First, optimize for speed and results; when it is a success, figure out how to scale it. Great examples are in .
Make two-way door decisions
Most decisions are easy to reverse. In these cases, the directly responsible individual should go ahead and make them without approval. As only when you can't reverse them should there be a more thorough discussion.
Changing proposals isn't iteration
Changing a proposal isn't iterating. Only when the change is rolled out to users can you learn from feedback. When you're changing a proposal based on different opinions, you're frequently wasting time; it would be better to roll out a small change quickly and get real world feedback.
A few challenges have arisen with how we approach iteration. The best example may be the proposal of a two-month release cycle. The argument was that a longer release cycle would buy us time for bug fixes and feature development, but we don’t believe that is the case. As detailed above, we aim to make the absolute smallest thing possible, and that doing otherwise will only slow us down.
That said, we would love to work on a two-week release cycle, but that should be another conversation.
Make small merge requests
When you are submitting a merge request for a code change, or a process change in the handbook, keep it as small as possible. If you are adding a new page to the handbook, create the new page with a small amount of initial content, get it merged quickly via Handbook Usage guidelines, and then add additional sections iteratively with subsequent merge requests. Similarly, if you are adding a large feature to the software, create small, iterative merge requests for the different aspects. These merge requests might not provide immediate value, as long as they do not break anything and have appropriate tests for new functionality. If you aren't sure how to split something into small, iterative merge requests, consider kindly asking your team and/or maintainers for suggestions. If you are asked to review a merge request that is too big, consider kindly asking the author to split it into smaller merge requests before reviewing.
When we iterate slowly
In some cases, rapid iteration can get in the way of results; for example, when adjusting our marketing messaging (where consistency is key), product categories (where we've set development plans), sales methodologies (where we've trained our teams) and this values page (where we use the values to guide all GitLab team members). In those instances, we add additional review to the approval process; not to prohibit, but to be more deliberate in our iteration. The change process is documented in the GitLab Handbook Usage page and takes place via merge request approvals.
See it in action
Iteration is so important to GitLab that the CEO hosts Iteration Office Hours to provide guidance and assist in breaking large, complex topics into MVCs and smaller iterations of work.
You can view these on our .
Iteration Competency
Competencies are the Single Source of Truth (SSoT) framework for things we need team members to learn. We demonstrate iteration when we do the smallest thing possible, getting it out quickly for feedback and making changes based that feedback.
Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.