These are the shared values of the betterplace.org engineering team. They exist in addition to the betterplace values of trust, appreciation and commitment. Members of the engineering team are invited to work on these values in order to keep them coherent with our daily work.
We are proud of the things we create, and use solid standards and best practices. At the moment those include:
- Each pull request is reviewed by at least one other developer before merging
- Each functionality is covered by unit tests (and if we find missing tests while working on a story, we add them)
- The main steps of each user-facing feature are covered by integration tests
- We fix bugs first
- We automatically check for security issues and fix them as soon as feasible
- We automate recurring tasks to avoid mistakes
We are a team of people that help each other out and create great things together. Ways to help each other grow include:
- We take time for code reviews and to teach others what we know
- New approaches are discussed with the team so everybody can learn
- When we learn something new we share it (e.g. in our bi-weekly tech talks)
- We stay respectful in our discussions
- We appreciate feedback that helps us improve, and point out and celebrate the achievements of others
betterplace.org is built on trust, and we feel responsible for maintaining that trust. This means, for example:
- When something is broken, we feel responsible for fixing it (either by fixing it yourself, or finding someone who can do it)
- When working on code, we think of the next developer to work on it - it may be ourselves
- The goal of our work is to add value for our users
- We speak up when our values are in danger
We embrace the values of the Agile Manifesto and believe in incremental change.
- We strive to deliver value in small increments
- We strive to have each increment be a shipable (as in: deployable) piece of working software
We know that in order to grow, we must allow space for experimentation and mistakes. To this end:
- We allow time for experimentation (e.g. through regular R&D)
- We learn from our mistakes, instead of assigning blame (e.g. through our blameless postmortems)
All betterplace developers and engineers can create pull requests to update this document. Those PRs can be edited by all of them.
The PR can be merged by a simple majority vote (e.g. via ๐). Voting is 10 working days from the creation of the pull request. At least 3 people must actively upvote the request for it to be merged.
Any engineer can veto/raise a red flag on a pull request (e.g. via โ or ๐ฉ). A red flag must be explained. A red flag means that the PR cannot be merged and will go into an in-person team discussion.