Similarly, it is important to know when you are writing bad software. Here’s a few questions that will help us diagnose if you are writing bad software.

  1. Does pushing updates to the software take a lot of time and effort?
  2. Does the whole system go down when you push a very small change?
  3. Have you ever pushed broken code to production, and didn’t realize until your users started complaining?
  4. Do you know what exactly to do when your system goes down — how to dig into backups, and deploy them?
  5. Are you spending more time on things like moving between environments, or running the same commands again and again, or running small utilities than actually making the software?

If you answered yes to any of these questions, this post is for you. Read all the way through, at least twice.

https://medium.com/@karan/the-7-rules-for-writing-software-that-wont-die-when-you-do-38ef0a925650