Philosophy
General development
- Make it work
- Make it right
- Make it better
PG quote:
I like to find (a) simple solutions (b) to overlooked problems (c) that actually need to be solved, and (d) deliver them as informally as possible, (e) starting with a very crude version 1, then (f) iterating rapidly.
Team
- do the basics well
- optimize for change
Individual
- explicit workflow steps
- explicit data shapes
- explicit data flow
- document your code (mostly at the block level)
Architecture
- write less code
- fight for simplicity
- have a place for all types of code and functionalities
- collocation over reusability
- use a tool/library/framework before creating from scratch
- don't make up abstractions if we can help it
- abstractions that we create are tested and documented
- plan ahead
Testing
- "not too many tests, just enough"
Devops
- if manual, write up a playbook
- repeatable, automated
- instrumented
- failover
- rollback