There's No Limit to How Bad Code Can Get
- ID
- 22041
- Status
- summarized
- Published
- 06 Sep 2026, 5:08 PM
- Fetched
- 07 Sep 2026, 9:06 AM
- Provider
- Simon Willison
- Category
- developer-ai
- Original URL
- https://simonwillison.net/2026/Sep/6/theres-no-limit-to-how-bad-code-can-get/
- Source URL
- https://simonwillison.net/atom/everything/
Summary
- Score
- 7.0
- Created
- 07 Sep 2026, 9:06 AM
- Tags
- Audience
- developerssaas_founders
What happened
Simon Willison argues that greenfield rewrites of tech-debt-laden systems almost always fail, leaving you with two production systems instead of one. He recommends instead shoring up the old system with automated testing and attempting targeted refactors, citing Will Larson's 'Migrations: the sole scalable fix to tech debt.'
Why it matters
If you're tempted to pitch a full rewrite of a legacy system—especially one running core business logic—expect the old system to keep changing while the new team underestimates scope, resulting in two systems in production. Before committing to a rewrite, invest in automated tests on the existing system and try targeted refactors first; this has a higher success probability than a greenfield replacement.
Discussion angle
Share your own rewrite war stories: did the greenfield replacement actually replace the old system, or are you now maintaining both? What's the threshold where a targeted refactor is no longer viable and a rewrite becomes the only option?