Programming is a craft of the mind. Programmers need to think through the feature they are writing, build up the code and a solution in their heads, maintain the product architecture, structure and conventions in the background and plan and design the next part of the code they are assembling. And then they need the time to execute all that. Once in The Zone™, programmers are exceptionally productive. But The Zone™ has limits. A four hour limit.
Interrupt them, and it all falls apart. They lose their primary thread of thought, the code fades away, the next step wanders off and their brilliant plan evaporates. The Zone™ is gone. To replace it, they have to return to the real world, to reload language and social skills, attempt to recognize where they are and who they are, and why they are back in the real world, and who the interrupter is.
You’ve all seen it happen. Walk up to a programmer and interrupt them. For a second or two they do not respond. You think they did not hear you. Then they blink, shudder, slowly turn towards you and stare blankly at you for a few moments more. Then, and only then, do you see recognition in their eyes, and annoyance in their scowl.
When you interrupted them, they tried to hold on to The Zone™, and failed, again. While they stare at you blankly, they are reloading. And they are annoyed because they may have just lost The Greatest Algorithm of all Time™ in The Greatest Zone of all Time™.
It takes between 15 and 30 minutes for them to get back into The Zone™, assuming they can. If there is some projected activity within the next four hours, and there usually is, there is no point trying to get back. Better to do something else.
To get back into The Zone™ they have to reload the feature into their minds, reload the architecture and conventions, and start again in planning and designing the feature because its usually impossible to get back what they had. Since it takes so much work and so long to get back in, it’s not worth going through that unless they have a four hour window ahead.
Once back in The Zone™, they get back to being awesome.
The Zone™ time itself is unfortunately bounded by biology, fatigue, or semi-social activities such as lunch, meetings, emails, going home, exercise or personal hygiene. Lucky programmers get two Zones™ a day. Once in a blue moon, you get three.
So if you are wondering why a programmer is not working hard half-an-hour before a meeting, or just before lunch, or at the end of they day, know that they have determined that there is no four hour window available to them for the near future, and are doing something else.
And if you are wondering why they always seem annoyed at you, its because you, yes you dear reader, are The Zone Destroyer™ for interrupting them.
TL;DR No Zone™ available, no ability to code well.
Disclaimer: I don’t really own a trademark on The Zone, I just think it looks cool in the article.