We build our computer (systems) the way we build our cities: over time, without a plan, on top of ruins. — Ellen Ullman

We build our computer (systems) the way we build our cities: over time, without a plan, on top of ruins.

Author: Ellen Ullman

Insight: Most of us experience this contradiction daily without naming it. We use systems that feel ancient and fragile at the same time—software that runs on code written decades ago, platforms patched so many times nobody quite remembers why certain things work the way they do. Yet we treat these systems as if they're solid, stable things, when really they're more like cities that grew haphazardly around old neighborhoods. The insight clicks when you realize this isn't a failure of planning—it's almost inevitable. Cities work because they're adaptive; they layer new infrastructure over old streets, preserve what works while abandoning what doesn't. Computer systems do the same. The problem is we often pretend we could have done it differently, that with enough foresight we'd build everything "right" from scratch. But that's fantasy. Real systems, whether urban or digital, have to live and breathe and change while people are still using them. What's striking is how much anxiety this creates. We worry that our digital infrastructure is fragile because it's messy, when really the messiness is what lets it survive. The tension isn't between "planned well" and "broken"—it's between accepting that complexity is the cost of resilience, or burning it all down for a fresh start we'll never actually get.

Messy systems outlast perfect plans

We build our computer (systems) the way we build our cities: over time, without a plan, on top of ruins.

Most of us experience this contradiction daily without naming it. We use systems that feel ancient and fragile at the same time—software that runs on code written decades ago, platforms patched so many times nobody quite remembers why certain things work the way they do. Yet we treat these systems as if they're solid, stable things, when really they're more like cities that grew haphazardly around old neighborhoods.

The insight clicks when you realize this isn't a failure of planning—it's almost inevitable. Cities work because they're adaptive; they layer new infrastructure over old streets, preserve what works while abandoning what doesn't. Computer systems do the same. The problem is we often pretend we could have done it differently, that with enough foresight we'd build everything "right" from scratch. But that's fantasy. Real systems, whether urban or digital, have to live and breathe and change while people are still using them.

What's striking is how much anxiety this creates. We worry that our digital infrastructure is fragile because it's messy, when really the messiness is what lets it survive. The tension isn't between "planned well" and "broken"—it's between accepting that complexity is the cost of resilience, or burning it all down for a fresh start we'll never actually get.

AI generated

Comments

Sign in to leave a comment or reply to one.

Sign in

Ellen Ullman

Ellen Ullman is an American computer programmer and author, known for her work in the field of technology and her insightful writings on the intersection of computing and human experience. She has authored several books, including "Close to the Machine" and "Life in Code," which explore the cultural implications of technology and the personal narratives of those working in the tech industry.

Graph

Related