The Programmer's Perfect Day
- By Matt Stephens
- March 31, 2006
This morning, an odd thing happened. I was programming away for the best part of the morning, and found myself thinking: "Gosh, I’m being unusually productive today. I’m getting loads done! What’s going on?"
Then I realised that I had forgotten to start up Outlook. I don’t use IM (I can’t stand the very concept behind it), and it was one of those mornings when the phone just didn’t ring. So, devoid of all the usual "pings" and diversions, I just settled down and had a blissful morning of uninterrupted thinking and coding. It was joyous, and I produced reams of high-quality code. I’d forgotten how productive I was capable of being, given the right environment.
Much has been written about how bad we humans are at multi-tasking. If you want to do something really well, you have to focus on just that one thing, for a sufficient amount of time. This allows your brain to get into the "flow state", where your brain has a balanced presence of alpha and theta waves [pdf]. This state of consciousness is ripe for thought and creativity.
But it takes about 20 minutes to get into this state: that is, 20 minutes of uninterrupted "me time". So that means that even experts have to be bad at something for 20 minutes before they can resume normal operation. If a programmer’s IM client blips at him every 10-15 minutes, he stands no chance.