Giter Club home page Giter Club logo

engineering_culture's Introduction

The betterplace Engineering Culture

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 have solid engineering standards

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 help each other grow

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

We feel responsible for our code and users

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 are agile

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 encourage experimentation

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)

Contributing

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.

engineering_culture's People

Contributors

averell23 avatar jaynetics avatar

Watchers

 avatar Tobias avatar James Cloos avatar Axel avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.