Complexity: the enemy
August 07, 2018
For all they get wrong in Smallville (a lot), they have one big advantage over Bigville: a well-calibrated allergy to complexity.
It's the disease of the modern world.
In Smallville, you pay cash. Bigville accepts chip cards, Apple Pay, or WeChat. But with their fancy technology comes a ton of baggage: Internet access, routers, patches, security problems. PCI-DSS compliance. Lots of software, which means training, and compatibility worries.
Bigville ignores its cost way too often. Chain stores can hire expensive IT talent; small businesses can't.
Growing up, we had a 40-year old stove and microwave. My parents still have both; they're reliable, serviceable, and easy to use. I look at these simple, reliable things and think, you'd have to be crazy to prefer a "smart stove". Want to spend your Saturday fighting to get that thing connected to the latest rendition of 802.11, only to discover it doesn't support whatever flavor of wireless security you're using?
It's not just inconvenience though. I'm convinced complexity gave us the Deepwater Horizon accident. Some kind of valve broke; somewhere, in a huge web of contractors (primes, generals, subs), something bad happened; someone screwed up. But who? Is responsibility even meaningful when thousands of people work on something?
Was any of this predictable? Forseeable?
That's the cost of complexity: muddled responsibility, unpredictable outcomes, inability to reason about cause and effect.
If you do large-scale projects today, whether bridges or software, easily half the job is managing complexity; thinking through absurd edge case collisions, sales tax on items with negative price (really happened). "David R. Albrecht, Manager of Complexity".
The American economy is consolidating, and I think complexity—regulatory, technological, and others—is a big part of the explanation. Consultants love to talk about all this magical, productivity-enhancing big data technology, but when you need a team of experts that costs millions of dollars/year to deploy it, it's just not something Smallville's ever going to do, making the productivity gap between the two even worse.
Programmers are detail managers. Programming is the art of managing hideous amounts of detail. The dream of a language that hides all that detail is a Golden Fleece.— Uncle Bob Martin (@unclebobmartin) July 27, 2018