These values started from an exercise at our 2019 Barcelona meetup, but should be refined and updated as needed.
- We take measured risks.
- We value unity over self.
- We find our way with small steps.
- We are in a marathon, not a sprint.
- We help one another before helping ourselves.
- We have no silos and no heroes.
- We discuss and decide in the open.
- We respect the team’s time.
- We encourage and celebrate one another.
- We offer nonjudgmental feedback.
- We treat missteps as opportunities to learn.
- We assume positive intent.
- We reflect before we react.
How to use these Values
The purpose of these values is to create a shared understanding of the way we have chosen to work together. They set a standard we can refer back to when making technical decisions, resolving conflict, and checking in on how we’re doing as a team.
We should refer back to these often, both individually and as a team. Internalizing these principles will help us make better choices and stay in alignment.
We take measured risks.
Often the only way to know if an idea works is to implement it. We lean on proven conventions, however we aren’t afraid to challenge assumptions and test uncertain solutions to design and technical problems.
We value unity over self.
It’s better to move in the same direction than argue about which direction is “right.” If we’re wrong together, we can adjust together. We all will have times we need to disagree and commit in order to maintain team progress.
We find our way with small steps.
The path to our goals isn’t always certain. We navigate by building solutions that are as simple as possible (but no simpler). Each step forward helps us take the next step in the right direction.
We are in a marathon, not a sprint.
We want to build products that stand the test of time. Shipping speed must be balanced with investment in tooling, stability, and maintainability. Our long-term velocity improves when we take our time.
We help one another before helping ourselves.
Our team’s success relies on mutual support and help. We believe that our highest value work comes from selflessly assisting our teammates. In this way, we all become force multipliers.
We have no silos and no heroes.
We actively work to share ownership and responsibility over everything we build. Nobody is solely on the hook for any piece of code and we distribute knowledge to mitigate risk.
We discuss and decide in the open.
Whenever possible, we put our thinking and discussions in public text-searchable places. When decisions are made verbally we document those discussions.
We respect the team’s time.
Time is precious, so we go out of our way to take as little of our teammates’ time as possible. Meetings need agendas. Requests for help need clear questions and timelines. Decisions are documented with next steps.
We encourage and celebrate one another.
Remote work can feel isolating. We go out of our way to praise and thank one another often, fighting the cold nature of text-based communication with an excess of positivity.
We offer nonjudgmental feedback.
We judge ideas, not people. We help our teammates grow by offering honest critical feedback, recognizing that feedback is a two-way conversation. Our feedback is delivered with kindness and an earnest desire to see our teammates succeed.
We treat missteps as opportunities to learn.
Mistakes happen to all of us. We practice blameless post-mortems to learn through failures.
We assume positive intent.
Through language barriers, communication mediums, and our own internal filters, it’s easy to misunderstand what our colleagues are saying. We treat it as a given that our teammates always mean well in what they say.
We reflect before we react.
We realize that we are not always right, and remain open to having our minds changed. Challenges to our ideas/work are not a reflection of us as people. We default to asking questions before offering opinions.