Lessons / Rule 1
ποΈ Build for Production, Not Just for Demo
Design every system to be correct, resilient and maintainable.
A demo is a magic trick. A real app is a bridge.
A magic trick only has to work once, in front of one person. A bridge has to hold up every car, every day, in storms. Real apps are bridges.
π‘ Key ideas
- Ask "what if 1000 people use this at once?"
- Plan for things going wrong, not just things going right
- Simple now can still be strong later
π οΈ How to apply it
- Before you build, name three things that could break.
- Write down how each one should behave.
Reading level: π£ Simple
"It works on my machine" is not a finish line.
The goal is not to make the feature work once. It is to make it work correctly, repeatedly, concurrently, securely and recoverably in production.
π‘ Key ideas
- Optimise for correctness, data integrity and reliability β not just green checkmarks
- Assume 10x, 100x or unexpected traffic growth with no warning
- Design for controlled scaling instead of assuming you can just buy more servers
π οΈ How to apply it
- List the failure modes of the feature before coding
- Decide the recovery behaviour for each failure mode
β οΈ Common pitfalls
- Treating a proof-of-concept as production-ready because the happy path works
Reading level: π Standard
Production is a set of promises you keep under stress.
Every feature carries an implicit contract: it will produce the correct business result despite duplicates, concurrency, timeouts, partial failures and spikes. Engineering is the discipline of keeping that contract.
π‘ Key ideas
- Correctness, atomicity, idempotency and observability are design inputs, not afterthoughts
- Scale is a design property; you cannot bolt it on after the bottleneck is in production
- Maintainability compounds β future you is a stakeholder
π οΈ How to apply it
- Treat reliability requirements as acceptance criteria, not aspirations
- Reject designs whose only scaling story is "upgrade the server"
β οΈ Common pitfalls
- Optimising for the demo (Rule 42) and discovering the architecture cannot be fixed cheaply
- Confusing "scalable infrastructure" with a scalable application design
Reading level: π§ Deep
Community
Ask a question, share your own analogy, or help someone else get it.