Coding ManifestoAugust 22, 2015
I wrote this document for my new team.
I’ve edited it slightly to post here.
Our goal is to increase the quality of front-end code being crafted at [company name here].
We [ I ] strive to improve the lives our developers and our customers.
I believe in human-centric code
I believe in code that is legible, explicit, and simple. I believe that when writing code, you should put human beings first. This means that code should be written primarily for the people who read, write, and maintain the code.
I believe adoption is a side effect of creating great things
The goal is not to create something to be consumed or adopted by others. Instead, I believe it's better to prioritize creating things that are useful and easy to use. People are naturally attracted to solutions that work, solve the problem, and have low barrier of entry.
I believe in removing obstacles.
This means improving developer workflows, reducing dependencies, and eliminating technical debt. All of these things can make a team faster, more efficient, and happier.
I believe that small teams can do big things.
I believe in choosing the right tool for the right job.
When you work in this industry, both the problems and the potential solutions are constantly in flux. Evaluating new tools is an essential part of solving problems. I believe in empowering developers to make thoughtful decisions about their projects and problems.
I believe there are no one-size-fits-all solutions.
People, projects, and problems are all unique. Solutions need to be too. Flexibility is important. There is no perfectly "right" way to do something. The tools or approaches that might work for one team or project may not be the correct choices for another team or the next project. Seek to re-evaluate old solutions. There are always improvements to be made. Testing your previous choices can disprove or reaffirm them.
I believe that communication and sharing are more important than tools or a stack.
I believe that individual opinions and styles are relevant and essential.
Everyone has opinions, preferences and a way of doing things. This is also true at a team level. Be considerate of other's way of doing things. There is always something to learn.
I believe that education and mentorship are the best methods to improve code quality.
Be a life long learner. Seek to teach. Always ask questions.