The Myth of the Zone

published Aug 28, 2010

I’ve been thinking about how I work best for a while, and I was inspired by Peter’s post on his new workflow/schedule to write something up about it.

First, the provocative title is only partly link-bait. For me, the zone really is a myth. I keep hearing and reading about coders getting into zones and coming out of the mist 10 hours later with reams of awesome code (and, presumably, a really full bladder).

I’ve never had this happen.

Maybe it’s just me, and everyone else does get into a zone regularly. Maybe the zone isn’t as universal as hacker literature makes it out to be. Maybe the zone is a young hacker thing, and I’m getting towards the old side of the scale. Or, maybe it really is a myth.

Whatever the answer is, my version of “The Zone” looks like this:

  1. Start working on something.
  2. Hit a wall where I can’t find a solution or the solution I’ve come up with is too complicated.
  3. Realize “Hey, I’ve hit a wall. I should change the scenery” (The realization is the hard part).
  4. Go for a walk / go to a coffee shop / leave my home office and head to the “real” office / etc.
  5. On the way there, mull over the problem. Or don’t bother, and let my subconscious do that for me.
  6. Arrive at my destination, unpack my laptop, and find out that I’ve solved the problem or, at the very least, have come up with a new way to look at solving the problem.
  7. Happily code away until I get stuck again, whereupon I go for another walk.

Luckily, I live close to a lot of coffee shops. Also, our new office is about a 25 minute walk from home, and a lot of those coffee shops are en route.

This means that I can start working at home (or, preferably, at a coffee shop. That way I don’t spend half an hour surfing the web in the morning). Then, when I hit that inevitable wall, I continue my commute and arrive at the office with a fresh solution to whatever problem I’ve been working on.

Here are a few more thought on this in no particular order.

  1. The hard part really is coming to the realization that I’m banging my head against the wall. I’ve started listening more closely to those little voices in the back of my head saying “There must be an easier way to do this” or “Do you really need this feature?” or “Sheesh, I need a break.” Once I started doing this, I spent a lot less time going down rat holes.

  2. Part of the problem is that I tend to dive into the details really quickly and don’t spend long enough looking at the big picture. I’m working on this. I’d suspect that most (not all, but most) programmers do this too.

  3. It’s a heckuva lot more productive to go for a 10 minute walk than to bang your head against a wall for an hour.

  4. This would be tough to do in a typical office environment – I don’t think I would’ve been able to go out for a walk and a coffee a few times a day while I was working at Creo (and Creo was far from being a bureaucratic, top-down organization).

  5. Pair programming or describing the problem to someone or Rubber Ducking also get you out of those ruts. You don’t get those nice walks, though. Also, you may break someone out of their zone if you interrupt them to describe the problem to them…

  6. Surfing the web does not give you the same results as going for a walk. You absolutely have to do something active.

  7. Jamis Buck recommends getting a standing desk to help you walk away from the desk more easily. I may have to try this.

I’d love to hear any thoughts you have on the zone, whether or not it’s a myth, and how you stop yourself from banging your head against the wall.

blog comments powered by Disqus