Advice, from a senior developer to a junior developer.

  • Avoid, at all costs, arriving at a scenario where the ground-up rewrite starts to look attractive
  • Aim to be 90% done in 50% of the available time
  • Automate good practice
  • Think about pathological data
  • There is usually a simpler way to write it
  • Write code to be testable
  • It is insufficient for code to be provably correct; it should be oviously, visibly, trivially correct

Read the full article at qntm.org.