Every mature system is carrying around lessons that were never written down. They’re encoded as validations, retries, timeouts, workflows, and exceptions. The implementation remembers. The organization forgets
Production used to be the place where software went to fail. Observability made it the place where software becomes legible.
The architecture of a regenerative system is defined entirely by what you can't delete.
Trying to find the best tool or platform for generative software in 2026 is a mistake that could haunt you for decades
For a long time we’ve treated frameworks as the target of software development. But if systems are meant to be regenerated and replaced safely, the real compilation target has to be the architecture itself.
In 2014 I gave a talk called Tiny (keep things small enough to understand) In 2026, small means something different. Small means safe to delete. New in the Phoenix Architecture series: The Regenerative GrainI
When code can be thrown away and recreated, the unit of change is no longer lines of code. It’s reasons. Version control has to follow.
Single-developer capability isn’t a productivity story. It’s the test that tells you whether your architecture is worth keeping.
As I mentioned in a previous post, at Wunderlist, we had a rule: any new service had to be "this big", a constraint I'd demonstrate by holding my fingers a few inches apart. The metric wasn't about lines of code. It was about replaceability.
Programming didn't die all at once. There was no single moment, no dramatic obsolescence event. Instead, something quieter happened: the core constraint that shaped software for seventy years dissolved. Writing code stopped being the hard part.