Principles for Software Development I Mostly Stole From Hacker News
- Ship small increments to production all the time
Branches (if you even have them) should be small and short-lived - Aggressively remove obstacles that slow down releasing to production
- Have tests and run them continuously, including in production (you can call this monitoring if it makes you feel better)
- Lint and automate code-level checks
Agree or (agree to disagree) on a code style - Have someone else review the code
- Make experimentation easy and run lots of experiments
- Hire people who can communicate as well as code
- Programming languages don’t matter as much as you think
Settle on a language for each of your domains, stop arguing and ship some code - If you can’t write a well-architected monolith, you also can’t write a well-architected micro-service application
- Don’t do big re-writes
Adopted from this post on Hacker News https://news.ycombinator.com/item?id=15777442