Gitlab hero border pattern left svg Gitlab hero border pattern right svg


This page contains leadership pointers. The first couple of headers indicate which group they apply to, using the groupings defined on our team structure page.

GitLab team members

  1. At GitLab, leadership is requested from everyone, whether an individual contributor or member of the leadership team.
  2. As a leader, GitLab team members will follow your behavior, so always do the right thing.
  3. Everyone that joins GitLab should consider themselves ambassadors of our values and protectors of our culture.
  4. Behavior should be consistent inside and outside the company, just do the right thing inside the company, and don't fake it outside.
  5. GitLab respects your judgment of what is best for you, since you know yourself best. If you have a better opportunity somewhere else don't stay at GitLab out of a sense of loyalty to the company.
  6. In tough times people will put in their best effort when they are doing it for each other.
  7. We work asynchronously. Lead by example and make sure people understand that things need to be written down in issues as they happen.
  8. We are not a democratic or consensus driven company. People are encouraged to give their comments and opinions, but in the end one person decides the matter after they have listened to all the feedback.
  9. It is encouraged to disagree and have constructive debates but please argue intelligently.
  10. We value truth seeking over cohesion.
  11. We avoid meetings, when possible, because they don't support the asynchronous work flow and are hard to conduct due to timezone differences.
  12. Start meetings on time, be on time yourself, don't ask if everyone is there, and don't punish people that have shown up on time by waiting for people or repeating things for those that come late. When a meeting unblocks a process or decision, don't celebrate that but instead address the question: How can we unblock in the future without needing a meeting?
  13. We give feedback, lots of it. Don't hold back on suggestions for improvements.
  14. If you meet external people, always ask what they think we should improve.
  15. Following from Paul Graham's advice: Strive to make the organization simpler.
  16. Saying something to the effect of "as you might have heard", "unless you've been living in a cage you know", "as everyone knows", or "as you might know" is toxic. The people that know don't need it to be said. The people that don't know feel like they missed something and might be afraid to ask about the context.
  17. Don't use someone else's name, remind people of your title, or otherwise "pull rank" to get things done.


A group is any arrangement of people that is not reflected directly in our org structure.

Management group

Members of the management group are expected to demonstrate leadership in the way all GitLab team members are, plus:

  1. Ensuring team members feel included and valued is one of the most important tasks of a manager. Proactively create psychological safety with your team members so that diverse perspectives can be heard and everyone can communicate and contribute authentically and creatively.
  2. Ensuring team members understand what is expected of them in their roles is a critical role that managers have to ensure company success. Managers should ensure job families include specific performance indicators and that is clearly communicated to each team member.
  3. Managing underperformance is another important task of a manager.
  4. When times are great, be a voice of moderation. When times are bad, be a voice of hope. In order to effectively be the voice of hope, managers should make sure they understand the company mission, goals, and leadership decisions. If managers have concerns about leadership decisions, they should voice them to leaders in order to understand the context, share key insights from their team members to ensure we make sound decisions, and then be able to explain context to their team members.
  5. To maintain an effective organization, a manager's span of control should be around 7 people, ranging anywhere from 4 to 10. Below this range the inefficiency of an extra organizational layer is larger than the benefit of a specialized group. Above this range, the manager doesn't have time to do proper 1:1s anymore.
  6. The span of control is the same at every level of the organization. This prevents the organization from having an additional layer that adds cost and reduces decision making speed. To increase the number of reports you can handle increase delegation to the directly responsible individual who can be a manager. Size the number of reports on where you expect the organization to be in 6 months from now.
  7. If you praise someone, try to do it publicly and in front of an audience. If you give suggestions to improve, do it privately 1 on 1.
  8. Understand that there are different ways to get to the same goal. There are different perspectives, and discussions need to happen.
  9. When someone says they are considering quitting, drop everything and listen to them. Ask questions to find out what their concerns are. If you delay, the person will not feel valued and the decision will be irreversible.
  10. In addition to announcing new team member arrivals, departures are also announced in the #team-member-updates chat channel (but only after the Google/Slack accounts are revoked, see the offboarding page and the offboarding checklist for details). We must respect the privacy of the individual concerned. If you are asked why someone has left or is leaving, please refer that person to the general guidelines section of the handbook where we describe what can and cannot be shared.
  11. People should not be given a raise or a title because they ask for it or threaten to quit. We should pro-actively give raises and promote people without people asking. If you do it when people ask, you are being unfair to people that don't ask and you'll end up with many more people asking.
  12. Don't refer to GitLab as a family. It is great that our team feels like a close-knit group and we should encourage that, as this builds a stronger team. But families and teams are different. Families come together for the relationship and do what is critical to retain it. Teams are assembled for the task and do what is required to complete it. Don't put the relationship above the task. Besides, families don't have an offboarding process. Families should have unconditional love, while teams have conditional love. The best companies are supporters of families.. The idea that your team is your family can lead to unwarranted pressure: "this office is like a family… in that there is vague pressure to be here on holidays"
  13. Praise and credit the work of your reports to the rest of the company, never present it as your own. This and many other great lessons can be found in an Ask MetaFilter thread worth reading.
  14. Try to be aware of your cognitive biases.
  15. Combine consistency and agility.
  16. Consider maintaining a README file for your teams which documents your expectations and working style. Encourage MRs to it.
  17. Although our time scales are shorter, there is a great article about how to think about PIPs.
  18. Do everything to unblock people. If someone has a question that is keeping them from being productive, try to answer the question yourself or find someone who can.
  19. Communicate in a professional manner as though your words will be shared widely (e.g. published in a newspaper).
  20. Employ multimodal communication to broadcast important decisions.
  21. You are expected to respond on social media. If you have questions, please seek counsel in the #social chat channel.
  22. Make sure your reports experience a sense of progress in their work.
  23. A tweet by Sam Altman combined with a reply by Paul Graham says it best: "People either get shit done or they don't. And it's easy to be tricked because they can be smart but never actually do anything." Watch for results instead of articulate answers to questions, otherwise you'll take too much time identifying under-performers.
  24. GitLab Contribute (formerly GitLab summits) is meant for informal communication and bonding across the company. There is a limited time for business activities during GitLab Contribute so all our regular meetings should happen outside of it. We want informal, cross team, and open-ended meetings that include individual contributors. For example, inviting everyone to suggest currently missing functionality in GitLab.
  25. Never delay a decision until GitLab Contribute. Instead, use them as a deadline to get things done earlier.
  26. We don't have explicit 20% time at GitLab. We measure results and not hours. If people are getting good results in the work that is assigned to them they are free to contribute to other parts of the company or work on a pet project. Don't say, "Your work on that pet project is hurting your performance." Instead, say, "We agreed to get X done but it is delayed, what happened and how can I help?"
  27. Pick a metric before launching something new. 9 out of 10 launches fail. If a project is not working out shut it down completely. Starving a team of headcount to have it die a slow death is not frugal nor motivating. Fund the winners which will still take years to break even.
  28. Do not discuss raises in advance because the salary calculator may change before the amount of the raise is decided.
  29. Do not discuss promotions, salary increases, or bonuses until the changes have gone through the entire approval process. People Ops will inform the manager when they can inform the team member of the promotion and increase.
  30. Instead of prescribing a direction to your reports, it is best to ask questions following the Socratic method until you're happy with the direction. Your reports will have deeper knowledge in a more narrow area, so it is easy to draw different conclusions because they base theirs on different data. That is why the questions are so important.
  31. Follow Berkshire's common injunction: "Always tell us the bad news promptly. It is only the good news that can wait." Make sure to inform your manager of bad news as quickly as possible. Promptly reporting bad news is essential to preserving the trust that is needed to recover from it.
  32. Try to avoid military analogies. We're not an army, we're not at war, there is no battle, we're not killing anyone, and we don't have weapons. Military language is not inclusive and can lead to zero sum thinking. We take competing and winning very seriously, but there is no need to describe things using vocabulary of physical violence. Similarly, non-collaborative and aggressive terms like "rockstar" and "badass" put up walls between people. If a term is standard in the industry, for example killing a Unix process, it is acceptable to use it because that is more efficient. Do use "primary-secondary" instead of "master-slave" for replication mechanisms.
  33. Complain up and explain down. Raise concerns you hear to your manager. When peers or reports complain, explain why a decision was made. If you don't understand why, ask your manager.
  34. Create empathy for decisions from other leaders that negatively impact your team by explaining the reasons behind them. Organize a recorded AMA session with your team and the other leaders and encourage your team (as well as yourself) to ask any unanswered questions. Lead by example by ensuring that the discussion exposes what is best for the organization as a whole. Never present yourself as protecting the team from the rest of the organization; this creates a siege mentality and hinders collaboration.
  35. Coach team members to establish good remote work practices, by encouraging asynchronous communication, being handbook-first, communicating poor audio or video quality, or pointing out an open microphone.

Director group

Members of the director group are expected to demonstrate leadership in the way all members of the management group are, plus:

  1. They have the ability to align the day-to-day execution to the top objectives of the company, and they are responsible for making sure the top objectives are well communicated to team members.
  2. They work peer-to-peer and sponsor healthy conflict amongst the team to resolve issues quickly, escalating only when all options are exhausted.
  3. They ambitiously define roles for, grow and hire their teams for what is needed from the business in the next 3-4 years.
  4. They coach their teams to work within the communication guidelines and lead by example.


These are the senior leaders. Members of the S-group are expected to demonstrate leadership in the way all members of the director group are, plus:

  1. They have significant strategic and functional responsibility.
  2. They have significant operating budget responsibility (things like compensation planning, budget allocation, negotiation, investment tradeoff decisions).
  3. They have leverage and influence over the performance and success of large teams (both reporting directly and indirectly) and their success will result in increased success across large numbers of people.
  4. The impact of their decisions are broad and significant.
  5. Some of them have critical external responsibility to represent the company and make decisions and statements for which the company is accountable.

This is an uncommon title and a small group that is nominated by the E-group. Please don't set expectations with internal/external candidates without initiating the discussion with the CEO first. The CEO has approval on addition of all these titles.


These are the executives. Members of the E-group are expected to demonstrate leadership in the way all members of the S-group are, plus:

  1. They suggest relevant, ambitious, and quantifiable OKRs and achieve 70% of them.
  2. They are reliable and ensure their teams complete what they agreed to do.
  3. They are proactive about detecting and communicating problems in their functions before other departments even notice them.
  4. They hire and retain leaders that perform better in their functional areas.
  5. They create roles and set requirements for what is needed 3-4 years out and hire for that profile.
  6. They get a huge amount of things done by iterating quickly and training their department in iteration.
  7. They define and communicate the business strategy and vision, instead of being overly tactical in the business.
  8. They share insights about other functional areas that make others better at their job.
  9. They suggest and implement improvements to our cross-functional processes.
  10. They frequently help achieve results outside their function.
  11. They make other executives better in their discipline.

Interim and Acting Leadership

In some cases, a individual in the Management group, Director group, S-group, or even E-group may have an "Interim" or "Acting" title.

  1. Acting means that someone is occupying this role temporarily and will move back to their original role after a set amount of time or other conditions, such as an external hire.
  2. Interim means the individual is working on a promotion into the role.

In either case, they will be fulfilling the full responsibilities of the role. If you have any questions, about the future of the role, please ask them or their manager.

Individual departments will have their own criteria for who is eligible to occupy these roles, so please check the career development page for your department.


You may occassionally hear of the E-Group hosting an "All-Directs" call or meeting. The All-Directs group is made up of anyone who reports directly to the e-group. It is made up of some ICs, some managers, some directors, and some senior leaders. This group is called on to help provide input and communicate messaging when appropriate. As an example, the all-directs meets after every e-group offsite.

Making decisions

  1. We use our values, and particularly our values hierarchy, to guide the decisions we make.
  2. We combine the best of both hierarchical and consensus organizations. Hierarchical organizations have good speed but are bad at gathering data, leading to people saying yes but not doing it. Consensus organizations are good at gathering data but lack speed, leading to projects happening under the radar. We split decisions into two phases. The data gathering phase has the best of consensus organizations, where everyone can contribute. The decision phase has the best of a hierarchical organization, the person that does the work or their manager decides what to do.
  3. If you apply consensus in both the data gathering phase and the decision phase you lose speed and you get decisions that try to stay under the radar so there are fewer people to convince.
  4. If you apply hierarchy in both the data gathering phase and the decision phase you lose valuable input.
  5. Providing input but then not being part of the decision making phase is counterintuitive, you feel ignored. We'll have to accept that people listened to us but don't owe us an explanation to have fast decisions based on everyone's input.
  6. At GitLab, decision making is based on an informed and knowledgeable hierarchy, not on consensus or democracy. Voting on material decisions shows a lack of informed leadership.
  7. Make data driven decisions but consider environments that do not allow reliable data collection. According to research by the Harvard Business Review, "experience and knowledge of leaders in the subject matter still outperforms purely data-driven approaches."
  8. When analyzing trends, never show cumulative graphs because they always look up and to the right even if business is bad.
  9. Be aware of your unconscious biases and emotional triggers.
  10. We don't have project managers. Individual contributors need to manage themselves. Not everyone will be able to do this effectively and fit our organization. Making someone responsible for managing others will cause negative effects to the results of the people that can manage themselves. If you manage yourself you have a much greater freedom to make decisions, and those decisions are based on deep knowledge of the situation. We want to retain the people that can handle that responsibility and therefore we can't retain the ones that struggle. Assigning a project manager/coordinator/case manager/etc. to something is an indicator that something is wrong and we are picking the wrong solution. The notable exception to this is in the Professional Services organization. While most functions at GitLab are serving the product or the company, ProServe is a services company which collaborates closely with customers and is sometimes contractually obligated to have project managers.
  11. The person that does the work makes the decisions, they are the Directly Responsible Individual (DRI). They should listen to the data and informed opinions of others to arrive at their decision. Part of making good decisions is knowing who has good information and/or experience that informs that decision. Once a DRI has made a decision, Disagree, commit, and disagree
  12. A DRI may make a decision that results in (and is hence the cause of) negative feelings, but it is important to remember Collaboration is not consensus and People are not their work. While others are invited to contribute data and informed opinions during the decision making process, the DRI is not responsible for how they feel. When contributing supporting information to making a decision, it is the responsibility of the contributors to do so with data, use cases, historic examples, etc and not personal opinions or attacks.
  13. Short way to phrase this: We can allow others into our kitchen because we can always send them out (inviting people to give input is much easier if you retain the ability to make a decision by yourself).

Communication should be direct, not hierarchical

Elon Musk sent out this email with the subject line "Communication Within Tesla":

There are two schools of thought about how information should flow within companies. By far the most common way is chain of command, which means that you always flow communication through your manager. The problem with this approach is that, while it serves to enhance the power of the manager, it fails to serve the company.

Instead of a problem getting solved quickly, where a person in one dept talks to a person in another dept and makes the right thing happen, people are forced to talk to their manager who talks to their manager who talks to the manager in the other dept who talks to someone on his team. Then the info has to flow back the other way again. This is incredibly dumb. Any manager who allows this to happen, let alone encourages it, will soon find themselves working at another company. No kidding.

Anyone at Tesla can and should email/talk to anyone else according to what they think is the fastest way to solve a problem for the benefit of the whole company. You can talk to your manager's manager without his permission, you can talk directly to a VP in another dept, you can talk to me, you can talk to anyone without anyone else's permission. Moreover, you should consider yourself obligated to do so until the right thing happens. The point here is not random chitchat, but rather ensuring that we execute ultra-fast and well.

These principles also apply to GitLab. Managers should not be bottlenecks or silos for communication. Anyone should feel comfortable reaching out to anyone else with the best information they can to solve a problem. This is a more efficient, transparent, and collaborative way to work.

Giving Feedback

Giving regular feedback is extremely important for both managers and team members. Feedback can take the form of coaching sessions, separate from 1-on-1 meetings. Giving feedback is also about being prepared and, depending on the situation, you should create separate agendas and structure them as follows:

Identifying root causes

Sometimes when performance dips, the best way to tackle it is to try to determine the root cause. This is easier said than done. There is a great tool that CEB (now Gartner) created to help with this called performance issue root cause diagnostic. It may not always be possible or appropriate to determine the root cause, so the underperformance process should be followed.

Responding to Negative Feedback

As a leader, the way you respond to negative feedback makes a significant impact on your team. Remember that it can be difficult for people to approach someone in authority with concerns and respond with sensitivity and appreciation. In particular, we recommend that you keep the following in mind:

Please see /handbook/leadership/1-1.

Skip level interactions

Please see /handbook/leadership/skip-levels.

No matrix organization

  1. We believe everyone deserves to report to exactly one person that knows and understands what you do day to day. The benefit of having a technically competent manager is easily the largest positive influence on a typical worker’s level of job satisfaction. We have a simple functional hierarchy, everyone has one manager that is experienced in their subject matter. Matrix organizations or dotted lines are too hard to get right.
  2. We don't want a matrix organization where you work with a lead day to day but formally report to someone else.
  3. The advantage of a functional structure is that you get better feedback and training since your manager understands your work better than a general manager.
  4. For the organization, forgoing a separate class of managers ensures a simple structure with clear responsibilities.
  5. A functional organization structure mimics the top structure of our organizations (Finance, Sales, Engineering, etc.).
  6. It reduces compensation costs, coordination costs, and office politics.
  7. The disadvantage is that your manager has a limited amount of time for you and probably has less experience managing people.
  8. To mitigate these disadvantages we should offer ample training, coaching, support structures, and processes to ensure our managers can handle these tasks correctly and in a limited amount of time.
  9. Everyone deserves a great manager that helps you with your career. They should let you know when you should improve, hire a great team, and motivate and coach you to get the best out of you.
  10. "Nuke all matrices. Nuke all dual reporting structures. And nuke as many shared services functions as you possibly can." from the great guide to big companies from Marc Andreessen (the other guides are awesome too).
  11. We recommend reading High Output Management, and its author coined Grove's law: All large organizations with a common business purpose end up in a hybrid organizational form. We believe a dual reporting structure is inevitable, we just want to delay it as long as possible.
  12. We do make features with a DevOps stage group that is a collection of teams and stable counterparts.
  13. Whenever there is need to work on a specific, high-level, cross functional business problem, we can assemble a working group.
  14. Functional companies are easier when you focus on one product. Apple focuses on the iPhone and can have a unitary/functional/integrated organizational form. The advantage is that you can make one strong integrated product. We can also maintain a functional organization as long as we keep offering new functionality as features of GitLab instead of different products. The fact that we're in touch with the market because we use our own product helps as well.
  15. Having functional managers means that they are rarely spending 100% of their time managing. They always get their hands dirty. Apart from giving them relevant experience, it also focuses them on the output function more than the process. Hopefully both the focus and not having a lot of time for process reduces the amount of politics.

Stable counterparts

We want to promote organic cross-functional collaboration by giving people stable counterparts for other functions they need to work with. For example, each Strategic Account Leader (SAL) works with one Sales Development Representative (SDR). With our categories every backend team of developers maps to a Product Manager (PM) and a frontend team.

Giving people a stable counterpart allows for more social trust and familiarity, which speeds up decision making, prevents communication problems, and reduces the risk of conflicts. This way we can work effectively cross functionally without the downsides of a matrix organization.

Factory vs. studio

We want the best combination of a factory and a studio. The studio element means anyone can chime in about anything, from a user to the CEO. You can step outside your work area and contribute. The factory element means everyone has a clearly assigned task and authority.

Process gets a bad rep

Process has a bad reputation. It has that reputation for things that we try to avoid doing at GitLab. When you have processes that are not needed it turns into a bureaucracy. A good example are approval processes. We should keep approval processes to a minimum, by both giving people the authority to make decisions by themselves and by having a quick lightweight approval process where needed.

But process also has good aspects. Having a documented process for how to communicate within the company greatly reduces time spend on on-boarding, increases speed, and prevents mistakes. A counterintuitive effect is that it also makes it easier to change processes. It is really hard to change a process that doesn't have a name or location and lives in different versions in the heads of people. Changing a written process and distributing the diff is much easier.

Recruiting and retention

Managers have an tremendous responsibility around recruiting and retention of team members.


  1. Carta's Manager’s FAQ
  2. Carta's How to hire
  3. How Facebook Tries to Prevent Office Politics
  4. The Management Myth
  5. Later Stage Advice for Startups
  6. Mental Models I Find Repeatedly Useful
  7. This Is The Most Difficult Skill For CEOs To Learn
  8. Great article about how to think about PIPs, although our time scales are shorter.
  9. Impraise Blog: 1-on-1s for Engaged Employees
  10. Mind Tools: Giving Feedback: Keeping Team Member Performance High, and Well Integrated
  11. Remote.Co: 5 Tips for Providing Feedback to Remote Workers
  12. Really interesting blog post from Hanno on remote team feedback
  13. 51 questions to ask in one-on-ones with a manager
  14. HBR: The rise of data driven decision making is real but uneven
  15. Forbes: 6 Tips for Making Better Decisions


Note: Books in this section can be expensed.

We sometimes self-organize book clubs to read through these books as a group.

  1. High Output Management - Andrew Grove
  2. The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers - Ben Horowitz
  3. The score takes care of itself - Bill Walsh
  4. Crucial Conversations: Tools for Talking When Stakes Are High - Kerry Patterson
    • Notes from the E-group reading:
      • Virtual teams are much more likely to fail on crucial conversations than colocated teams
      • We need to develop the skill of sensing the tone of a-sync conversations to uncover potential issues
      • We need to find a way to create psychological safety for people in official channels
      • Starting with empathy is a great way to gather the context needed in a tense situation - this is hard a-sync, but more important
      • Consider getting context 1-on-1 (through Slack) before posting a comment in an issue that you might regret later
      • As leaders, we need to give context as well. A good question is: "What would have to change for us to get X prioritized…"
      • Documenting something is not a replacement for having the hard conversation
    • Book club
  5. The Advantage: Why Organization Health Trumps Everything Else In Business - Patrick Lencioni
  6. The Five Dysfunctions of a Team: A Leadership Fable - Patrick Lencioni
  7. Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers - Geoffrey A. Moore
  8. The First 90 Days: Proven Strategies for Getting Up to Speed Faster and Smarter - Michael D. Watkins
  9. The 21 Irrefutable Laws of Leadership: Follow Them and People Will Follow You - John C. Maxwell
  10. Thinking, Fast and Slow
  11. The Power of Habit
  12. Your Brain at Work
  13. Start with Why
  14. Leaders Eat Last
  15. How to Win Friends & Influence People
  16. How Google Works
  17. Good to Great
  18. The Last Lecture
  19. Mastery
  20. Radical Candor
  21. Creativity, Inc
  22. Turn the Ship Around!

Email Lists

  1. Software Lead Weekly
  2. Threatpost Security Newsletter (Subscribe at the bottom of the page)


When you give leadership training please screenshare the handbook instead of creating a presentation.

People Group

Feel free to reach out to anyone in the People Group for further support on leadership development topics. You can find us on the team page, search for People Operations. The team may also be reached in the #peopleops chat channel.

Being a public company

Learn more more on GitLab's view of being a public company.

Biggest risks

We have a page which documents our biggest risks. Many of our values help to mitigate some of these risks.