01

There are no shortcuts

Software development creates technical debt the way trees create oxygen — unavoidable, but reducible through good professional practice.

02

All code is first-class code

If code fails to convey a technical solution to other people's minds, it is poor and potentially dangerous code — test code included.

03

Code for other people, not just for the solution

Say what your code is going to do, up front. If you don't program with intent, your source files are just a stream of your consciousness.

04

Avoid stream of subconsciousness programming

Reading such code is like being transported into someone else's dream — boundary conditions unhandled, failure modes unconsidered.

05

Security is your responsibility

Security is the primary non-functional requirement. Make sure it's built into your build and deployment pipeline, not bolted on after.

06

Always test first

Testing is nearly impossible to reverse-engineer well. Write it first, so it's always in place, protecting your code, your application and your customer.

07

Test functionality, not implementation

Test the contract your code makes with its caller, not its internal mechanics, so the implementation is free to change without ever touching the test suite.

08

Test business rules and aim for 100% coverage

One source of truth for your business rules should drive your tests. 100% coverage with a green build buys you the confidence to refactor, or even rewrite the application, and trust it still works.

One more thing

Now AI writes most of the code

These rules don't get less true — but AI changes where each one bites. A practical guide to applying them when the author of your code is a model, not a person.

Read the AI era guide