Overcomplicated: Technology at the Limits of Comprehension by Samuel Arbesman
Time, or at least today’s society, points in the direction of more technological interconnectedness. In this book Sam Arbesman lays out the increasing complexity of our technological world and how we have moved into a regime in which we can potentially not even understand what causes these complex systems to misbehave. As someone who works with complexity daily (what do you think software development is, these days?) I can attest to this in spades.
This book will be eye opening to those who believe our increasing technological sophistication marches hand in hand with our increasing comprehension. My one quibble would be that I think there is a missing portion of this story which is the techniques that everyday practitioners use to work in this increasingly complex environment. I mostly agree with both Arbesman’s observations about our current complex state, and his argument that we will require new approaches to understanding the complex artifacts we create. But tomorrow I must go to work, and build a system that works in this complex world. What techniques can I use to best insulate myself from this complexity, indeed to get anything done? Here I think there is an untold story filled with cool ideas from distributed computing.