Requested by @charlie
Just a completely random brain dump
  1. Write tests for your code.
  2. Have and follow a coding style guide.
  3. Write code that you can understand 2 years later.
  4. Don't over engineer.
  5. Understand the performance characteristics of your code.
  6. A class should either hold data or perform an action, but never both.
  7. Make side effects explicit.
  8. Short term tech debt is good, but long term tech debt is bad. Forgotten long term tech debt is called code rot and it is rotten and will spread to other parts of your code.
  9. Keep track of the tech debt and keep them short term.
  10. Practice pair programming when dealing with complex or confusing issues.
  11. Stay top shape. Take a walk if concentration drops. You will make less mistakes and be more productive.
  12. Know when to be a hacker and when to be an architect.