Be reliable: We’re a remote first company and you only have 1 standup/day. For a lot of us, that’s the only call every day. The only thing we ask you to do is to attend standups on time: We can’t stress how important this is. If you cant attend standups, let someone you report to know one day before. It’ll help us not to call you on the day you don’t attend these. If we call you and if you miss our calls, return them immediately when you see them.
Transparency: We should know what you’re working on every single day. If you’re stuck somewhere. Let us know. Everyone in the team can be questioned, including the CEO.
Be resilient & persevere: Get things done. If you’re stuck. Stick to it a little longer and you will be able to figure it out yourself. This is a life hack. Works all the time, everywhere.
Never give up: Shit goes down all the time. Fix it, do not run away from it.
Fly Weeks: We fly for 2 weeks every 3 months to an exotic place and work from there. We love travelling and exploring places.
Personal Growth: If you’re not learning something new this week. Talk to your manager. We want you to grow. Don’t know something? - Learn.
Be ruthless: Get things done. No matter what. Be a little crazy. Hack into systems. Never say - “Oops, I cant get this done”. There’s always a way. Always.
Remote: Work from anywhere and anytime you like. Spend time with family.
Courses: We pay for courses on Udemy. If you want to learn something, let us know. We have a lifelong learning mentality. Most courses are free, If they’re not - we pay for it.
Books: We pay for 1 book/year. We know that’s too less. We eventually want to pay for 24 books/year per employee.
Transparent Payroll: You know how much everyone makes including the founder. We have transparency not just in pay, but everywhere else too! We want to be as transparent as possible.
We’ve never fired anyone: We believe in coaching people, not firing them. We’re a family and you never fire your family off. You coach them. When we hire you. You’re safe with us and you’re employed for life, unless you make mistakes which are unforgiveable (For example: rarely work for long periods of time, sexually harass someone, etc). You can still resign and leave the company at any time you like, if you want. We prefer that you help us figure out the problems in the company and let’s weed them out together! Stick with us for long and we promise it’ll all be worth your time.
Learn on the job: When we started this company, we had no idea how buisness world works. All we had was a vision on where we want to be, determination to learn, little patience, and a lot of perseverance. We learnt on the job and we expect you to do too. There will be many instances where you will have no idea how to do something. In that case - google is your best friend. Google things out. You’ll be surprised on how much you can learn online. We’ve also cataloged few resources for you to learn on the job and have listed them out here
Fair Performace Review: If you deserve a promotion. You will be promoted. Check this document on things that we expect from you if we consider you to be promoted.
Integrity: Be honest all the time. You will lose respect with your peers if you aren’t.
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 Evaluate People Accurately, Not “Kindly”. 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.
Negative is 1-1 Give negative feedback in the smallest setting possible, one-on-one video calls are preferred.
Say thanks Recognize the people that helped you publicly, for example in our #thanks chat channel.
Give feedback effectively Giving feedback is challenging, 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. For managers, it’s important to realize that employees react to a negative incident with their managers six times more strongly than they do to a positive one. Keeping that in mind, when 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 generate more engagement 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.
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 we have a hierarchical decision making process. Explain why you’re making the decision and respect everyone irrespective of their function.
Address behavior, but don’t label people There is a lot of good in this article in not wanting jerks in 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. Saying sorry is not a sign of weakness but one of strength.
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 have to search for the right answer together.
Help others succeed Helping others both professionally or personally is a priority. We work like a family.
People are not their work Always make suggestions about examples of work, not the person (“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 others want to see you succeed.
Learn yourself We do not train people. You can learn MOST of the things yourself. Use resources like Google, Youtube, Udemy, Coursera and more to learn anything you like. That’s a great life-skill to have.
Do what’s promised We do what we promised to each other, customers, users, and investors. We’re here to build a sustainable world-class company that values our customers and our investors.
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. Celebrate the achievements of yourself and your teammates.
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 their trajectory, not their pedigree.
Global optimization This name comes from the quick guide to Stripe’s culture. 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.
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 pro-actively 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 so the compounding of results can begin and we can focus on the next improvement.
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.
Boring solutions: Use the most simple and boring solution for a problem. You can always make it more complex later if that is needed. 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 code that is popular will ensure many bugs are already solved and its familiarity makes it easier for others to contribute.
Be respectful of other’s 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 needed make attendance optional by making the invite optional, by having a clear agenda linked from the invite, and by documenting 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.
Freedom You should have clear objectives and the freedom to work on them as you see fit.
Frugality Amazon states it best 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 conversational development.
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 And keep 1 to many written communication short, as mentioned in this HBR study: “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 team members 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 process make all actions more inefficient, a mistake only affects one.
Move fast by shipping the minimum viable change We value constant improvement by iterating quickly, day after day. If a task is too big to deliver in few days or a week, cut scope.
Diversity The community consists of people from all over the world, with different backgrounds and opinions. 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.
Global Impact Solve problems that impact most people first.
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. If they are measured against our shared values, they will already be a fit. We want cultural diversity instead of cultural conformity, for example, a brogrammer atmosphere. Said differently: “culture add” > “culture fit” or “hire for culture contribution”.
Don’t bring religion or politics to work We don’t discuss religion or politics because it is easy to alienate people that have a minority opinion. Feel free to mention you attended a ceremony or rally, but don’t mention the religion or party.
Building a safe community Everyone has the right to feel safe when working for HackerBay and/or being a part of the HackerBay community contributing to our community. We do not tolerate abuse, harassment, exclusion, discrimination or retaliation by/of any community members, including our employees.
Inclusion Rather than focusing on building diversity as a collection of activities, data, and metrics, we’re choosing to build and institutionalize a culture that is inclusive and supports all employees equally to achieve their professional goals. We will refer to this intentional culture curation as inclusion and development (i & d).
Inclusive language Use inclusive language. For example, prefer “Hi everybody” or “Hi people” instead of “Hi guys”.
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 quicker to give feedback too.
Minimum Viable Change (MVC) Always look to make the quickest change possible to improve the outcome. If you think it is better than what is there now do it, no need to wait for something polished.
Make a proposal If you need to decide something as a team make a 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. The people that receive the proposal should not feel left out, the person making it should not feel bad if a completely different proposal is implemented. Don’t let your ego to be involved early or to see your solution implemented stand in the way of getting to the best outcome.
Everything is in draft At GitLab we rarely put draft on any content or proposals. Everything is always in draft and subject to change.
Under construction As we get more users they will ask for stability. 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.
Our values help us to prevent the five dysfunctions.
- Absence of trust (unwilling to be vulnerable within the group) => prevented by collaboration, specifically kindness
- Fear of conflict (seeking artificial harmony over constructive passionate debate) => prevented by transparency, specifically directness
- Lack of commitment (feigning buy-in for group decisions creates ambiguity throughout the organization) => prevented by transparency, specifically directness
- Avoidance of accountability (ducking the responsibility to call peers on counterproductive behavior which sets low standards) => prevented by results, iteration, and transparency
- Inattention to results (focusing on personal success, status and ego before team success) => prevented by results
Why have values
Our values should give guidelines on how to behave and must be actionable. They help us describe the type of behavior that we expect from people we hire. They help us to know how to behave in the organization and what to expect from others. Values are a framework for distributed decision making, they allow you to determine what to do without asking your manager.
Updating our values
Our values are updated continually when needed. Everyone is welcome to make a suggestion to improve them. To update: make a merge request and assign it to the CEO.
How do we reinforce our values
Whatever behavior you reward will become your values. We reinforce our values through the following actions:
- By what we do, especially what the leadership does.
- By what we select for during hiring.
- By what we emphasize during on-boarding.
- By what criteria we use for promotions
- By what criteria we use for bonuses.
- By what behavior we compliment.
- By what criteria we use to let people go.
Permission to play
From our values we excluded some behaviors that are obvious, we call them our permission to play behavior:
- Be truthful and honest.
- Be dependable, reliable, fair, and respectful.
- Be committed, creative, inspiring, and passionate.
- Be deserving of the trust of our users and customers.
- Act in the best interest of the company, our team members, our customers, users, and investors.
- Act in accordance with the law.
Create an issue