Curriculum
The 44 Golden Engineering Rules
Each rule is explained at three depths โ Simple, Standard and Deep โ plus a quick quiz. The first 6 are free; the rest are part of Pro.
Build for Production, Not Just for Demo
Design every system to be correct, resilient and maintainable.
Understand Before You Change
Trace the architecture, data flow and dependencies first.
Correctness Before Optimisation
Produce the right result even when things go wrong.
Anything Can Happen Twice
Make repeated requests safe with idempotency.
All or Nothing
Keep business operations atomic with transactions.
Two Requests at Once
Protect data when operations run simultaneously.
Fast Response, Slow Work in the Background
Keep user requests short; queue the heavy lifting.
Queues and Back-Pressure
Buffer work so spikes do not crush your systems.
Retry With Care
Exponential backoff, jitter and a maximum retry count.
Nothing Fails Silently
Give every important job a recoverable failure state.
Make State Explicit
Model workflows as clear, legal state transitions.
Let the Database Guard the Rules
Keys, constraints, indexes and referential integrity.
Design APIs People Can Trust
Explicit, validated, authenticated and versionable.
Trust Nothing by Default
Assume every request could be hostile.
Only the Access You Need
Give every component the minimum permissions.
Assume the Whole Internet Is Knocking
Bots, spikes, abuse and malformed requests are normal.
Scale by Design
Stateless services, no hidden local state.
Measure Before You Optimise
Find the real bottleneck, then fix it.
Know What Happened
Trace any request across your whole system.
Logs Machines Can Read
Correlation IDs, status, duration โ not vague messages.
See It Before Users Do
Watch error rate, latency, queue depth and retries.
Bend, Do Not Break
A failing side-dependency should not sink the core.
Treat Every External Service as Unreliable
Timeouts, retries and circuit breakers.
The Backend Is the Boss
Handle double submits, refresh and network loss.
One Source of Truth
Define who owns each piece of data.
Do Not Break Your Consumers
Prefer additive changes; version the breaking ones.
Change Schemas Safely
Assume the database is full of data.
Test the Unhappy Paths
Timeouts, duplicates, concurrency and failures.
Prove Failure Cannot Corrupt Data
Attack your own system before someone else does.
Ship Repeatably
Automated, versioned, reversible deployments.
No Hard-Coded Environments
Separate config from code, everywhere.
Release Slowly, Roll Back Fast
Decouple deploy from release.
Who Did What, and When
Record important business operations.
Collect Only What You Need
Classify, protect, retain and delete deliberately.
Code Humans Can Trust
Readable, modular, explicit, tested.
Never Swallow an Error
Handle it, translate it, or log it โ never ignore it.
Fail Loudly, Not Silently
A clean failure beats corrupted data.
Design Recovery In, Not On
If this stops halfway, how does it continue?
Find the Inconsistencies
Automate checks for data that does not add up.
What If It Gets 10x Busier?
Know your bottlenecks and limits in advance.
Agents That Think First
Inspect, risk-assess and change safely.
Never Optimise for the Demo
It must work repeatedly, concurrently and safely.
Definition of Done
A checklist, not a feeling.
The Golden Rule
Anything can happen twice, concurrently, partially, slowly or not at all.