The "Zone"
November 10th, 2006
One of the most pleasurable places for a developer to be in is “the zone”. It’s where everything else - the local environment around the desk, the street outside, the family at home, the bills, the workload, even sometimes hunger and thirst, are all completely forgotten. The only thing that matters at that moment is the problem in front of you. For some developers - particularly those who are Unix systems administrators at heart, like me - it can go on for days at a time. I sometimes call it “my coding head” - I hunger for the problem, and nothing else can get in the way.
Getting into the zone is not always easy. Different people have different techniques, nearly all of which involve a bit of peace and quiet and no interruptions. You need to start somehow and somewhere, and I’ve heard that people sometimes procrastinate fearing that they won’t get in the zone - they’re worried about phone calls to make, etc. so they’ll do those first. I find saying “I’ll just do half an hour” to myself, can sometimes result in a ten hour coding marathon.
Once you’re there, the worst thing that can happen is to be interrupted - I frequently shut down mail and IM clients when I want to make progress. When I used to work in shared offices, I would find a quiet corner. I shouted at people who interrupted me with trivial problems and put signs on my desk saying “Please don’t disturb unless building is on fire”. My bosses hated me because of it. Even now, I sometimes set alarms on my phone to remind me to eat - it has been known for me to forget, and suddenly think “hmmm, think I’ll have a bit of tea”, only to discover it’s 4am.
Today, the zone is just jumping and down all over my head and the feeling is wonderful - I can slip in and out of it even with light interruption. My technique involves a decent high-carb meal, some coffee, headphones and iTunes. Musically, almost anything that isn’t too heavy is fine, and my playlist gets tailored based on the kind of code I’m dealing with. I tend to do weird abstract things better with pop/rock (although strangely, always with female vocals), and simpler but more ‘big wedge of code that needs sorting’ projects get shifted easiest with some Mozart, Saint-Saens, or Delibes. I think that’s because drudgery is easier to cope with when I have some complicated music patterns going on in the background, and abstract/complicated work needs nothing more complex than a simple and melodic tune playing.
Another reason that The Zone is so useful, is that it actually relaxes me. My workload right now is very high - almost stressful - but I’m getting through it. I’ve been beset by problems with my development environment this week, clients’ work is backing up in the queue and I’m trying to get to grips with two new projects whilst simultaneously putting two old projects to bed for good. Last night I had a pretty restless night - this morning I overslept - to be greeted on the phone by a client who themselves was so worried about a deliverable that she hadn’t been sleeping properly. For a few moments this morning, I was relating to Atlas - the World upon my shoulders, etc.
This afternoon though, it was smiles all the way. I became detached from it all and was able to just make progress, gliding forwards, pieces of code jigsaws suddenly came slotting down into place, and the rest of the World could go to hell. It was relaxing, fun, enjoyable. Me, code, my mp3 collection, and a handy kettle.
Then, something odd happened that triggered an old memory. ‘Sunshine on a Rainy Day’ by Zoe came onto the play-list. A dodgy piece of cheese you might think, but it’s in my collection for one reason and one reason only: it was once used on a Commodore Amiga advert. The kid in the advert was playing Lemmings, looked out onto a rain-swept street, and just didn’t care: he was in the zone, happy with the amazing tool he had in front of him. Geeky, but happy. I didn’t know any hardcore geeks when I was learning to code, and that was the first time I saw somebody else enjoying the zone.
I looked up, and outside saw on my balcony that it was raining, just like in that old advert. Peering out into the gloom I could see Manchester was wet, rainy, cold. But it didn’t matter, I was warm, dry, my face lit by the glow of the screen, just like the advert. I was in the zone. Removed from the reality of the World, I was playing my own version of Lemmings - coding and strategy games are remarkably similar from a problem-solving perspective - and I remembered what it was that got me into this gig in the first place all those years ago when the Amiga was the ultimate computer, but all I could afford was a beaten-up second-hand Amstrad CPC6128: The Zone.
It’s not the money. It’s not the freedom of my own business. It’s not even the end product. It’s the process, the thinking, the working stuff out. It doesn’t matter how stressed I feel about the code that needs to be done, I can escape it all by doing the code itself. How many people can honestly say they have a legal occupation that gives them a buzz and helps melt away stress without the need for chemicals?

