| Donald Knuth on email: "Email is a wonderful thing for people whose role in life is to be on top of things. But not for me; my role is to be on the bottom of things. What I do takes long hours of studying and uninterruptible concentration." http://www-cs-faculty.stanford.edu/~uno/email.html |
Note also that it is a particular word choice by Knuth: uninterruptible ... not uninterrupted. It harkens back to what Paul Graham wrote in both Maker's Schedule, Manager's Schedule and in Great Hackers -- even just having a mid-morning meeting on the calendar at all can prevent you from even attempting something hard at the start of your day, because you know the time is already interrupted.
You need more than just happenstance of not being interrupted in a given time window. You need to know that you can't be interrupted, at least not unless it's a sky-is-falling kind of emergency (and you need to be able to trust that your colleagues know the difference).
This is far and away the number one thing I need as a developer. I can write passable software that I'm not proud of if it's loud, violently anti-privacy, over-saturated with "collaboration" generally in some ultra-Agile open-plan nightmare setting. But the only times I've ever written software that I was proud of -- software that made huge, huge differences in the organizations I was part of -- was when I could finally find a loophole or something to create a situation when it was not possible to interrupt me with the usual bullshit.
It amazes me that even still, status effects and incredibly poor understanding of where the value of software engineering resides leads to so many organizations that not only have interruption-is-the-norm open-plan disasters for offices and a million Agile meetings, but actually praise that garbage and hold it up as if it is an example of positive collaboration or effective engineering, despite it being the very antithesis of positive collaboration or effective engineering.