The Humble Programmer

  1. intellectually manageable programs
  2. subset of intellectually manageable programs reduce the solution space
  3. proof of correctness over tests, build on top of a programs designed to be correct and no the other way around
  4. vital abstraction patterns
  5. avoid to write smart programs

(https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html)[https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html]