Why programming is like writing poetry -- and vice versa

I am somewhat unusual in having a degree not only in CS & Maths, but also in Poetry Studies.

Yet there's more in common between poetry and programming than practitioners from either side usually recognise.

For example:

I'm wrestling with some problem. I'm not completely sure how to characterise it, or what the solution is. I might have a good first-order guess at how to tackle it, or I might not. Part of the function of writing is to firm up this first-order idea of what the right way is.

I open an editor partially to let my mind run cerebral digits around the edges of the problem. I open it partially for the pleasure of writing, of crafting something that might work, that might be the best I've done yet.

While I write, I think precisely and painstakingly about the power of words I use, and the higher-level constructions. There are many consequences to the words and the forms we choose: some obvious, some very much less so. I think hard about how each word relates …

On-call is broken: Kahneman & Tversky told me so

On-call is broken. It's used to paper over the cracks in systems, instead of as a reliable, reluctantly-used failsafe. The whole way we do it as an industry is just wrong.

Perhaps you disagree, but I think I have some pretty compelling evidence that it's true. I also think we can fix it -- or at least give it a good try.