If you’re looking for case studies in technological solutionism — well, first of all, you won’t have to look long. But try these two on for size:

  1. How Soylent and Oculus Could Fix the Prison System
  2. New Cities

That second one, which is all about how techies are going to fix cities, is especially great, asking the really Key Questions: “What should a city optimize for? How should we measure the effectiveness of a city (what are its KPIs)?”

The best account of this rhetoric and its underlying assumptions I have yet seen appeared just yesterday, when Maciej Ceglowski posted the text of a talk he gave on the moral economy of tech:

As computer programmers, our formative intellectual experience is working with deterministic systems that have been designed by other human beings. These can be very complex, but the complexity is not the kind we find in the natural world. It is ultimately always tractable. Find the right abstractions, and the puzzle box opens before you.

The feeling of competence, control and delight in discovering a clever twist that solves a difficult problem is what makes being a computer programmer sometimes enjoyable.

But as anyone who’s worked with tech people knows, this intellectual background can also lead to arrogance. People who excel at software design become convinced that they have a unique ability to understand any kind of system at all, from first principles, without prior training, thanks to their superior powers of analysis. Success in the artificially constructed world of software design promotes a dangerous confidence.

Today we are embarked on a great project to make computers a part of everyday life. As Marc Andreessen memorably frames it, “software is eating the world”. And those of us writing the software expect to be greeted as liberators.

Our intentions are simple and clear. First we will instrument, then we will analyze, then we will optimize. And you will thank us.

But the real world is a stubborn place. It is complex in ways that resist abstraction and modeling. It notices and reacts to our attempts to affect it. Nor can we hope to examine it objectively from the outside, any more than we can step out of our own skin.

The connected world we’re building may resemble a computer system, but really it’s just the regular old world from before, with a bunch of microphones and keyboards and flat screens sticking out of it. And it has the same old problems.

Approaching the world as a software problem is a category error that has led us into some terrible habits of mind.

I almost quoted the whole thing. Please read it — and, perhaps, read it in conjunction with another essay I referred to recently, about the just plain wrongness of believing that the brain is a computer. Ask a software engineer for solutions to non-software problems, and you’ll get answers that might work brilliantly … if the world were software.