In honour of my contrarian nature here are the 10 commandments of the modern anti-developer:

  1. I stage-deploy and click through the functionality I implement. I do not rely solely on tests in order to validate the functionality of my code. I write tests for code that needs to stand the test of time.

  2. I duck-tape engineer as much as possible but do not forfeit good engineering practices.

  3. I follow separation of concerns as much as possible especially in the early stages of a project in order to have clear dividing lines later on when they will be needed.

  4. I realise that the an undeployed feature/project is the big unknown. Thereby I hurry to deploy the MVP, validate my thoughts and reserve time to refactor code as I gather feedback.

  5. Not all code is the same.

  6. Product comes first. Code is second.

  7. The best code written is the one removed.

  8. Good engineers create good code, better engineers create good engineers.

  9. There is no average user for my code. There are different user types and an associated distribution.

  10. In tech there is no black or white. Context is everything.