Our values are what guides us. We use them every day, whether we're hiring, discussing ideas for new projects, or deciding on the best approach to solving a problem.

They are not set in stone. We continually adjust them based on our experience, and inspiration from other companies. Everyone is welcome to suggest improvements. Please open a PR or a ticket with your changes to start a discussion.

We have five main values, each of them is supported by a number of sub-values that further explain their meaning.

1. Impact

Our company exists in order to make a positive impact on our customers and the developer community. This is not some pseudo-inspirational-speak this positive impact is why they use our products, and why they may stop using them. It's important that we never lose sight of that.

1.1. Customer obsession

Our customers are the reason we exist. We strive to make their lives better in every action we take. We see the big picture, but don't forget about the small details that make it.

1.2. Robustness and scale

We create robust products that our customers can rely on at the scale they need. This is so we can move fast and create a positive impact.

1.3. Think big

Thinking small is a self-fulfilling prophecy. We are bold, and always look for new ways to increase our impact.

1.4. Innovation

We are always looking towards the future, trying to figure out how it may look like and how we can make it better.

1.5. Challenging the status-quo

What was true yesterday may no longer be true today. We always question the status-quo, common knowledge, and our own past decisions.

2. Urgency

We try to get results as fast as possible, and are always driven by a sense of urgency. We want to help our customers now, not in six months. Speed also directly affects us, as fortune favors the quick, and companies that don't move fast usually die.

2.1. Get shit done and deliver results

We accomplish a large amount of important work, and to paraphrase Jeff Bezos: we do so in about one-third the time that most competent people think possible.

2.2. Constantly deliver value

We strive to constantly deliver value. We do that by constantly looking for the smallest units we can create and deliver in order to add value. This includes: reducing the scope of the first version of a feature, constantly releasing versions, and making small pull requests.

2.3. 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.

2.4. Perfect is the enemy of great

We share our work early, before it's "perfect". This enables us to get feedback before we waste time on potentially the wrong things, and efficiently iterate towards our goals. Oftentimes, the first 80% of a task is all that's needed.

3. Simplicity

Simplicity is the ultimate sophistication. We strive for simplicity in everything we do as it helps us move faster and better. We recognize that less is more and simpler is faster, so we start with simple, and make things complex only if needed.

3.1. Do things that don't scale

First, optimize for speed of execution and results; when it is a success, figure out how to scale it. Great examples are in this article by Paul Graham.

In coding, this also manifests in technical debt. Technical debt, like any other debt, is a good thing. It means we can move faster today, and pay a bit of interest in the future. We use it for our advantage, and make sure to not let it get out of control.

3.2. DRY - don't repeat yourself

We aim to reduce duplication in our documents and code. We don't have multiple copies of the same data, we have it in one place and refer to it.

3.3. Efficiency

Accomplish more with less. Constraints breed resourcefulness, self-sufficiency, and invention. There are no extra points for growing headcount, budget size, or fixed expense.

4. Collaboration

How to collaborate and communicate with one another affects our happiness, our ability to deliver value, and our efficiency.

4.1. Clear and concise communication

We aim for clear and concise communication in both speech and writing. We like the inverted pyramid and dislike fluff.

4.2. Speak our mind

We are not afraid to speak our mind. If we see something we don't agree with, we say something.

4.3. Assume positive intent

Misunderstandings happen. We all speak with positive intent. So when you are offended by something someone said, assume the most positive interoperation, and ask them for clarification.

4.4. Be respectful of each other and each other's time

Don't be late to a meeting. Don't let people do unnecessary work.

4.5. Ownership and accountability

We are all owners of both the company and the product and behave as such. Though specific tasks are owned by just person, not multiple. As an owner that person is responsible for success of that task, and proactively inform stakeholders about issues and delays, though it's still everyone's responsibility to make sure that everything is do is up to our standards.

5. Always improving

No one was born perfect. What we are today is the product of our work and learning so far. We know that we have yet to reach the peak of our potential, and strive to always learn and improve.

5.1. Growth mindset

Talent and skill can be improved using hard work, practice, learning and feedback from others. We recognize that and take every moment as a learning opportunity.

5.2. Own our mistakes (no ego)

We own our mistakes as soon as we realize them. Saying sorry is not a sign of weakness but one of strength. We are quick to admit when we are wrong, learn from it, and move on.

5.3. Strong beliefs weakly held

We act with conviction based on our beliefs, though are quick to change our mind based on new information and data.

5.4. We are not afraid of failure

When you're pushing the limits and doing things that haven't been done before you will inadvertently encounter setbacks. We aim for success, but we are not afraid of failure, and use every failure as an opportunity for growth.

5.5. Curiosity

We act to improve our understanding of things and explore new possibilities. If a customer is asking for something weird, we don't assume they are wrong, we inquire further and understand the why.