Ramblings of an aging IT geek
← Ramblings of an aging IT geek
personal

the book that taught me queues are everywhere

How Donella Meadows' Thinking in Systems gave me a vocabulary for stocks, flows and feedback loops that I now see in every incident.

A coffee and a stack of books

I bought Donella Meadows' "Thinking in Systems" expecting something dry and academic. It's neither. It's a slim book about stocks, flows and feedback loops, written so plainly that I kept stopping to recognise things I'd lived through but never had words for.

The bit that stuck was the idea of a stock with a slow flow. A bathtub fills no faster than the tap allows, and you can't drain it faster than the plughole lets you, no matter how much you panic. Half the outages I've handled are exactly this: a queue backing up, a disk filling, a connection pool draining, and someone hammering the obvious lever while the actual constraint sits somewhere upstream, ignored.

She's also very good on delays. A feedback loop with a long delay oscillates, because you keep correcting for a state that's already changed by the time you see it. That's autoscaling that flaps, thermostats that overshoot, and me adding capacity for a spike that ended ten minutes ago.

It's not a technical book and it's better for it. I've started sketching the boxes-and-arrows version of a system before I touch it. Most of the time the diagram tells me where the trouble will be before I've read a single line of code.