The project that taught me
Early in my career I inherited a booking system where the pricing logic lived inside a template file. Changing a discount meant editing HTML, and editing HTML meant re-testing checkout. Every release was a small act of courage. The rewrite took three weeks; the fear it replaced had cost months.
What "clean" actually means
Forget the hexagonal diagrams for a moment. Clean architecture is three habits: business rules that don't know about frameworks, dependencies that point inward, and boundaries you can describe in one sentence. When a new developer asks "where does this go?", the structure answers.
- ✓Core logic with zero framework imports
- ✓Adapters at the edges: database, API, UI
- ✓Tests that run in milliseconds, not minutes
The payoff compound
The first feature costs slightly more. The tenth costs dramatically less. Teams that hold the boundary ship steadily for years; teams that don't rewrite every eighteen months. I've watched both — the difference is never talent, always structure.
Start this week
Pick one module and draw its boundary: what it knows, what it hides, what crosses the line. Enforce it in review for a month. That single habit will teach your team more than any framework migration.