Leadership at GitLab applies to everyone, whether an individual contributor or a manager.
Everyone that joins GitLab should consider themselves to be an ambassador of our values and a protector of our culture.
As a leader, GitLabbers will follow your behavior, always do the right thing.
Behavior should be consistent inside and outside the company, don't fake it outside, just do the right thing inside the company as well.
In tough times people will put in their best efforts when they do it for each other.
We work async, lead by example and make sure people understand that things need to be written down in issues as they happen.
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.
It is encouraged to disagree and have a constructive confrontation but please argue intelligently.
We avoid meetings because those don't support the asynchronous work flow, are hard to conduct due to timezone differences and are limited only to those attending them, making it harder to share.
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 anyone or repeating things for people that come late.
We give feedback, lots of it, don't hold back on suggestions to improve.
If you meet external people always ask what they think we should improve.
We don't have project managers. Individual contributors need to manage themselves. Not everyone will be able to do this effectively and be fit for our organization. Making someone responsible for managing others will make the job of the people that can manage themselves worse. 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.
Saying something to the effect of 'as you might have heard' 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. They will be afraid to ask about the context since they don't want to look like they are out of the loop.
When times are great be a voice of moderation, when times are bad be a voice of hope.
A span of control should be around 7, from 4 to 10. Lower means too many generals and too few soldiers. Higher means you don't have time for 1:1's anymore.
If you praise someone try to do it in front of an audience. If you give suggestions to improve, do it 1 on 1.
As soon as you know you'll have to let someone go, do it immediately. The team member is entitled to know where they stand. Delaying it for days or weeks causes problems with confidentiality (find out that they will be let go), causation (attributing it to another reason), and escalation (the working relationship is probably going downhill).
When performance or behavior is below par or not in line with our values we normally put someone on a performance improvement plan (PIP). However there are some exceptions to following the PIP process but in all cases managers should speak to the people operations generalist or senior director of people operations early on to evaluate the best solution.
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.
In addition to announcing new team member arrivals, departures are also announced in the #general chat channel (once the Google Slack accounts are blocked, see 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.
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 disadvantaging people that don't ask and you'll end up with many more people asking.
Don't refer to GitLabbers as family. It is great that our team feels like a close-knit group and we should encourage that, 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 an offboarding process.
A tweet by Sam Altman combined the 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 to identify under-performers.
Our summits are meant for informal communication and bonding across the company. There is a limited time for business activities during the summit so all our regular meetings should happen outside of the summit. We want informal, cross team, open-ended meetings, that includes individual contributors. For example, inviting everyone including sales to suggest currently missing functionality in GitLab. Formal, team restricted, structured meetings, where not everyone is welcome shouldn't happen. For example, an executive team meeting to set the yearly budget. Never delay a decision until the summit, if anything use the summit as a deadline to get things done earlier.
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.
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 the pet project is hurting your performance' but say 'we agreed to getting X done but it is delayed, what happened and how can I help?'.
Do not discuss raises in advance because the salary calculator may change before the amount of the raise is decided.
Purpose of 1:1 conversations with direct reports
Self-assessment. A manager engages with the team member to explore his or her knowledge, skills and abilities, as well as past experiences, accomplishments, and interests.
Create individualized career map.
Creating an individualized career map involves identifying other positions within the organization that meet the team members’s interests. The position may be a lateral move into a different job family or a promotion. In either case, the position should capitalize on the team member’s past experiences, interests and motivation while at the same time requiring the team member to develop a certain degree of new knowledge, skills and abilities (KSAs) to give him or her something to work toward and stay engaged. Please ask People Ops for more information on title changes.
Exploring other opportunities.
The final step in career mapping is to explore other job opportunities within the organization as they become available.
In a traditional career ladder system, the person is hired and, through a combination of experience, education and opportunity, is promoted to levels that encompass additional responsibility and concomitant compensation.
Grovo is a Learning Management System (LMS) that delivers, short, engaging learning tracks which are groups of video lessons and quizzes focused on a skill. Finishing the lessons and quizzes in a learning track earns you points and certifications. Whether you're on your desktop, laptop, tablet, or phone, you can pick up where you left off at any time. A big part of how this learning is delivered is by using a method called Microlearning.
What is Microlearning?
Microlearning provides short bursts of information that can be applied right away, helping people build the skills they need to be successful at their jobs. Think of these bite-size pieces of learning like sentences: each conveys just one complete thought, but when you put a few of them together, you build a more complex idea. Each microlearning moment is made of a digestible morsel of information combined with a short practice exercise. It's hyper specific, so you can get the right help, right when you need it: like when composing an email, working with new spreadsheet software, or practicing a big speech. Bit by bit, these microlearning moments add up to better job performance today and continual improvement going forward. Microlearning isn't just breaking up content into smaller pieces. It's a way to make learning digestible and effective, transforming not just what you know, but what you actually do, every day.
Grovo at GitLab
We're a remote and globally distributed team that requires something more than the traditional learning approaches and courses that currently exist. We want to foster a new way of learning that mirrors GitLab's culture.
Take a coffee break with Grovo and see how much you can learn. It can take just under 60 seconds to sharpen your skills!
The initial phase of rolling out Grovo will take place in December 2016 and as part of that first step we will be offering learning tracks on professional development & compliance.
On this page we recommend to read 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.
Functional companies are easier when you focus on one product. Apple focusses on the iPhone and can have a unitary/functional/integrated organizational form. The advantage is that you can make one strong integrated product. But we can 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 by using our own product also helps.