📜 ⬆️ ⬇️

GitLab Values



GitLab has already attracted our attention several times: we wrote about the database incident , the decision to switch to our own hardware and how users convinced GitLab not to leave the cloud . All these stories are united by the unprecedented openness that the company showed in eliminating the consequences of accidents and making vital decisions. We decided to find out the reasons for such publicity and found a wonderful document that describes the values ​​of GitLab.


In addition to openness, it turned out to be a lot of things with which, it seems to us, it will be interesting to meet and readers of Habr. Many of us work in similar conditions: from home, communicating remotely, sometimes for years without seeing our colleagues. This type of work has not only advantages, but also disadvantages, and GitLab has gained considerable experience, which can be useful to all of us. Translation of GitLab values ​​can be found under the cut.


CREDIT


Our six values ​​are Collaboration, Results, Efficiency, Diversity, Iteration and Transparency (the first letters of the English words constitute CREDIT, translated from English in this case " respect ”- Approx. transl.) We believe in kindness and work together to achieve results. Results let us do the rest. We achieve results as efficiently as possible without wasting time. We welcome the diversity in our team. Our work is transparent both inside and outside the company. Together, these values ​​mean the respect (credit) we have for each other. The following describes how our values ​​are applied in practice.


Cooperation


Helping others should be prioritized, even if it is not related to the tasks being worked on. You yourself should not hesitate to ask for help. Anyone, including those not working in GitLab, can join the discussion of any issue. The person who directly performs the work decides how to do it, but he should seriously consider the proposals received, responding to them and explaining his position.


  1. Kindness . We don't need bastards on the team. Some companies say: “When evaluating people, accuracy is important, not kindness . ” We are also for accuracy, but we think that this should be done kindly. Feedback should be as positive and public as possible.
  2. Negative in 1-1 format . Give negative feedback with as few outsiders as possible. It’s better to use one-on-one video calls.
  3. Say thank you . For help, thank publicly, for example, in our #thanks chat.
  4. Effective feedback . Drawing up a quality review is not an easy task to try to perform effectively. When giving feedback, always make sure that it is about work, not about a person. Be sure to add a fresh and understandable example. Take into account if a person has a difficult period in his life, some personal difficulties. Examples of positive feedback can be found in our thanks-chat . It is important for managers to understand that subordinates react to a negative situation with their supervisor six times stronger than positive. Therefore, in some cases, it is not worth criticizing at all, especially if the error does not manifest itself constantly and does not bring much harm. When negative feedback is still necessary, it should first of all be aimed at improving the quality of the employee’s work. Do not skimp on the praise, do it openly, including with the aim of increasing engagement .
  5. Try to get to know each other better . We use a lot of text communication tools, we don’t see each other, we don’t work in the same office, therefore, to prevent conflicts, we need personal knowledge of the person behind the text lines in chat rooms and mail. Encourage people to get to know each other better on a personal level. Use for this group calls , virtual tea and our summit .
  6. Do not push your title . If you feel the need to remind someone of your official position, it means that you are doing something wrong, because all employees are well aware that we have a hierarchical decision-making system. Explain why you decided to do so and not otherwise, and respect everyone, regardless of the function performed.
  7. Sorry . If you make a mistake, ask for forgiveness. By apologizing, you are showing strength, not weakness. People who do most of the work are likely to make more mistakes.
  8. Do not stick out your "I" . Do not argue just to win the argument, do not criticize for the error twice. You are not your work, you must not defend your point of view, but look for the right answer together.
  9. Contribute to the success of others . The candidate, who had time to communicate with many people in GitLab, noted that in comparison with other companies, one thing stands out particularly strongly: every GitLab employee contributes to the success of others.
  10. People are not their job . Talk about work, not about its artists (“you didn’t send feedback about a new design” instead of “you never listen to me”). When receiving feedback, remember that it helps to become better and that others sincerely desire your success.

results


We do what we promised to each other, customers, users and investors.


  1. Appreciate results, not hours worked . Achievements are important to us: written code, happy users and colleagues who have received help. Do not compete in the number of hours worked - we do not want anyone to feel guilty because he did his work yesterday afternoon. Instead, enjoy your own and others' achievements. No need to report for working hours. Instead of following strict rules, we prefer to trust members of our team.
  2. Keep a record of promises . Measurable goals must be agreed in writing. In Gitlab, we use OKR . Our goals are available here .
  3. Installation on personal growth . You will not always achieve results, and self-criticism and negative feedback from outside follow the failures. We believe that talent can be developed through hard work, the right strategy and the help of other people. We hire employees based on their development trajectory, not pedigree .

Efficiency


It is important for us to work on what is needed, not to do more than necessary, and not to do the same thing several times. Thus, we achieve more, and this allows us to realize ourselves more fully.


  1. Boring decisions . Use the most simple and boring solutions. If necessary, they can always be complicated. In our organization, the speed of innovation is limited by the total added complexity at the moment, so any reduction in complexity is beneficial to us. You should not choose an interesting technology just because you want to work with it. Using common solutions means that many bugs have already been fixed, and it will be easier for other people to get involved in development.
  2. Appreciate someone else's time . Always consider how much time your colleagues will spend on the meetings you organize and the coordination processes being launched. Try to avoid meetings, and if this is not possible, make participation optional, write a clear agenda and document the results. Instead of requiring people to coordinate their actions, trust their judgment and suggest simply to consult with you if they have any questions.
  3. Spend company money as your own . Every dollar spent we have to earn and return. Save your company money as you would your own.
  4. Freedom . You must have clear goals and freedom in choosing how to achieve them.
  5. Thrift . Amazon put it best: “Do more with less.” Constraints give rise to resourcefulness, self-sufficiency and ingenuity. For inflating the state, increasing the budget and keeping the fixed costs do not give additional points. ”
  6. ConvDev . Our work is built according to the principles of conversational development .
  7. Short oral answers . For short questions, give short answers so that the other person can ask something else or move on immediately.
  8. Keep mailings as short as possible . Letters sent to multiple recipients at once should not be long. This HBR study says: “Many say that they have to read too long, poorly organized, vague, jargon-filled messages, which is extremely ineffective.”
  9. Himself a leader . We want our team members to be their own leaders who do not need daily checks to achieve their goals.
  10. Responsibility, not stiffness . Instead of rigid rules and pervasive reconciliation processes, we, whenever possible, give people the opportunity to make their own decisions and make them responsible for making them.
  11. Errors are valid . Not every problem should lead to a new process that solves it. Additional processes reduce the effectiveness of all actions in general, and the error affects only one of them.

Manifold


Our community includes people from all over the world. They have different biographies and opinions. We hire employees from all over the world and encourage diversity. We try to make everyone feel welcome and have worked to increase the number of employees belonging to minorities and nationalities that are underrepresented in our companies and the community. For example, we sponsor a variety of holidays and set up a double bonus for a recommendation .


  1. Cultural matching is nonsense . We do not hire on the basis of cultural affiliation and do not give preference to those candidates with whom we would like to drink. We recruit and reward employees based on our shared values, but at the same time we strive for cultural diversity, not cultural conformity (as, for example, in the case of brogrammer ) atmosphere.
  2. Religion and politics leave at home . We do not discuss religion and politics, because in the process of such discussions it is very easy to alienate people who hold a minority point of view. You can easily tell that you attended a ceremony or rally, but do not mention a religion or party.
  3. Freak . Unexpected and unusual things make life more interesting. Encourage original gifts, habits, behavior, points of view and enjoy them. As an example, we can take our group calls , where we talk most of the time about what we do outside of work: from flame throwing to knitting. Open source allows you to chat with interesting people. And we try to hire such people who believe that work is a great way to express themselves.

Iteration


We split up tasks into as small parts as possible and launch them into work as quickly as possible . If something can be excluded from the first iteration, create a new task and link it with the current one. Do not write big plans - the first step is enough. Believe me, you will be much clearer what to do next, after something has already been released (released). If you are a little confused by the small number of product functions in the first iteration, then you are doing everything correctly. New people coming to GitLab often do not fully understand how much this value affects the workflow and its results. At first, quick decisions and the realization that things change with fewer consultations is difficult. But often the simplest version turns out to be the best.


  1. Reduce cycle times . Short iterations reduce our cycle time .
  2. Work as part of the community . Short iterations make it possible to involve more community members in the process. Their work becomes more like ours, and we get feedback faster.
  3. Minimum Viable Change (MVC - Minimum Viable Change) . To improve the result, always try to make the most rapid change. If you think that your plan is better than the existing one, there is no need to waste time polishing it.
  4. Create an offer . If you need to make a team decision, instead of organizing a meeting, create a proposal - this is a much more efficient use of the time of all team members. The people who received the proposal should not feel forgotten, and the one who created the proposal should not be upset that they finally decided to implement something completely different. Do not allow your ego and desire to see your solution realized to get in the way of finding the optimum.
  5. Everything is a draft . In GitLab, we rarely call something a draft. Everything is always in the project and can be changed at any time.
  6. In development . As we see more and more users every day, they demand stability, especially in our UX . We must always optimize work in the long term. This means that users may experience inconvenience in a limited period of time, but in the end they will get a better product.

Transparency


Be as open as possible. By publishing information, we lower the entry threshold for new members of the community and simplify interaction. An example is the public repository of this site , which also contains this corporate reference guide . Everything we do is public by default, for example, the GitLab CE and GitLab EE task management systems , as well as marketing and infrastructure . Transparency creates awareness about GitLab, allows you to hire people who share our values. It allows you to quickly receive feedback from people outside the company and simplifies interaction with them. The meaning is also in the spirit of open source, which, in our opinion, creates additional value, to share with the whole world excellent software, documentation, examples, lessons and processes. There are exceptions. Materials that are not public by default are listed in the general recommendations . On a personal level: it is better to speak frankly and honestly, and not to tighten the poker interface. Do not be afraid to admit that you made a mistake or were wrong. When something went wrong, you should ask yourself: “Is this a reason to use kaizen ?” And start searching for a better way, without falling into despair.


  1. Public by default . In GitLab, everything is open by default.
  2. Directly - we are open to each other. We try to develop the inner Ben Horowitz in ourselves: to be frank and kind - a rare combination of nebalabol and nesvoloch . True, it will be difficult to get feedback here, as we always have it about work, not about a person.
  3. Everything and everyone can be questioned . Any past decisions and guidelines are open to rethinking, but you act on them until they are changed.
  4. Do not agree, but do it . Everything can be questioned, but if the decision is not canceled, it must be implemented - this is a general principle .
  5. Value is true when you have to work hard or even suffer for it . In California, for example, many companies do not state the real reason for the refusal to apply for a job, because it increases the likelihood of getting legal action. We strive to reject candidates as reasonably as possible and give people the opportunity to grow by receiving our feedback. Thus, we carry an increased risk, adhering to a high standard of decision-making, and we do the right thing, directly telling the candidates our thoughts.

Five dysfunctions


Our values ​​help us prevent five dysfunctions .


  1. Lack of trust (unwillingness to show one's vulnerability within a group) => is prevented by interaction, especially kindness.
  2. Fear of conflict (the pursuit of artificial harmony instead of constructive emotional debate) => is prevented by transparency, especially directness.
  3. Lack of involvement (the appearance of agreement when making collective decisions creates uncertainty in the organization) => is prevented by transparency, especially directness.
  4. Avoiding responsibility (avoiding calling colleagues to responsibility for counterproductive behavior; leads to setting lower standards) => is prevented by results, iterativeness and transparency.
  5. Inattention to the results (focus on one’s own success, status and ego are put above team success) => is prevented by the results.

Why do we need values


Our values ​​help to understand how to behave, and should be applied in practice. They describe the rules of conduct that people working for us must adhere to. Goals help you understand how to behave in an organization and what to expect from others. Our goals are the basis for the process of distributed decision making; they make it possible to understand what to do without asking your manager.


How we uphold our values


Values ​​become encouraged behavior. We support our values ​​as follows:


  1. What we do, especially the actions of the leadership.
  2. Those whom we recruit.
  3. What we focus on during the adaptation period of a new employee.
  4. Those criteria that guide our promotion.
  5. Those criteria that we use for bonuses.
  6. The behavior for which we praise.
  7. Those criteria that we are guided by when parting with employees.

Can play


Some obvious qualities and behaviors are not included in our values. We call this the term "can play":



References:


  1. Original: GitLab Values

')

Source: https://habr.com/ru/post/328786/


All Articles