Principles for Software Development I Mostly Stole From Hacker News

Software Development
  • 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