Take the 2-minute tour ×

Getting into zone is a pleasurable and fruitful process. We produce good source code and we get lots of satisfaction from our work done while being in the zone. But, how does one get into the 'zone'? Do you follow a specific process? Apart from switching of email system, mobiles and other mundane non-productive applications, is there anything else that can be done?

share|improve this question
add comment

closed as off topic by Yannis Rizos Mar 8 '12 at 13:17


7 Answers

up vote 36 down vote accepted

Concentrate on what you need to do. Make the effort to actually start doing it. This can be one of the hardest things - to actively stop fluffing about.

Don't have email open. Don't have Fakebook in another window. Don't have any StackExchange going. No forums. Only quiet. And then get on with it.

It generally takes me (and pretty much everyone else I know) about 15-20 mins to get there.

You can generally sustain "the zone" for about 2 hours, and generally only once per day - its mentally pretty tiring. If you are super-duper you might manage it twice in a day. After "the zone" the rest of your day is pretty much lightweight by comparison, you get things done but the burst of huge productivity is over.

Oh - and getting out of the zone takes about 3 seconds - eg a phone call, or somebody sticking their head and saying: "Can I bother you for a moment" - to which the answer is: "yes, you already did". Bang. The zone is gone. Another 15-20 to get back.

Amazing how many stupid s/w defects get introduced by getting knocked out of the zone.

Amazing also how few people (esp managers) think that open plan is a really good way to develop quality software (where nobody EVER gets into the zone let alone stays there).

share|improve this answer
+1 for open-plan paragraph. –  rmx Nov 22 '10 at 13:07
+1 for making an effort to get started. I've also found that 15-20 minutes actually working is enough to keep going for a couple hours, at least. However, my 'zone' has been known to last for 4 - 8 hours, depending on what I'm doing, and I have gotten there several fays in a row. Is that atypical? –  Michael K Nov 22 '10 at 13:10
Perhaps you have a special work environment. Perhaps you are atypicial. If it works for you, don't question it! –  quickly_now Nov 22 '10 at 22:54
Open Plan SUCKS big time. Its good for developers to communicate - in groups of 2 or 3. More than that, it sucks productivity up and hurls it out the window. The worst innovation in office planning, ever ever ever. –  quickly_now May 1 '11 at 13:49
To each their own. However (again quoting DeMarco) a number of studies of programmer productivity over a number of years have shown that open plan causes a decrease of productivity. From my own experience, and that of many around me - open plan has been a disaster. –  quickly_now May 1 '11 at 23:15
show 6 more comments

Get the first task on your well maintained list.

The secret is having that list!

There is one really effective way to beat procrastination. It has been described in the book Getting Things Done.

First you have to maintain a list of things to do. The methodology proposed is great (read it on wikipedia).

Then it's the way you write your tasks.

Rather than writing:

Do the documentation of the new ui (ouch a good candidate for procrastinators)


Call Robert to ask him to include Take screenshots of the new UI Write a summary about what to say Etc.

The trick is that tasks are small, and are actual actions. It's easy to start. And everybody here know that when you started, you have beaten procrastination.

share|improve this answer
add comment

Close all browser windows pointing to StackExchange and enough, good coffee might be a good place to start.

share|improve this answer
add comment

The other answers about how to concentrate and not getting disturbed are good and I have not much to add to them. The only fact I am suspicious about are rules about concrete numbers (how much time it needs for...). I am convinced that such numbers cannot be generalized in such a way. However it is important to concentrate on your task and to avoid getting disturbed.

The task you are working on is also very important!

Here are some general rules about the task you are working on:


Csikszentmihalyi, M.; Abuhamdeh, S. & Nakamura, J. (2005), "Flow", in Elliot, A., Handbook of Competence and Motivation, New York: The Guilford Press, pp. 598–698

These rules are not specifically related to software development but can be applied to them easily.

Just to add some examples on how you can check if these conditions apply to you and your task:

Do you know what will be your next commit? Maybe set smaller goals? DO you use Test-Driven-Development? Do you have the necessary knowledge to complete your task? Do you work with an IDE? etc...

This is only to give you an idea how it can be applied to programming, it cannot be generalised.

share|improve this answer
add comment

Here is the Joel On Software article that covers this point.

...the documented productivity gains provided by giving knowledge workers space, quiet, and privacy. The classic software management book Peopleware documents these productivity benefits extensively...







share|improve this answer
add comment

One thing that I've found to be helpful in getting into the 'zone' is actually 'zoning out'. I typically put on headphones and listen to instrumental, not lyrical (in my specific case Dj Tiesto) while trying to ignore the outside world. The headphone and music act as a barrier from the outside world. Studies have proven that listening to classical music helps concentration.

This solution may not be optimal in the corporate environment as connectivity and communication are pivotal, however if the situation allows, listening to music in the background, or on headphone may help.

share|improve this answer
The lyrical thing is quite key here I find. Another thing I've noticed is that if I'm designing something rather than debugging or programming, music detracts rather than helps and I really need someplace quiet. Just another variable to throw in :-) –  Kev Mar 21 '12 at 11:17
add comment

What do you mean by zone? Is it when you are so focused on your work that you forget to eat and the rest of the world and all the people in it seems like white noise when you are focused completely?

I admit I can't do it everyday but on a day when I hit that zone,

Music or headphones with no music is a great way to get into the zone. Make sure you do not plugin your headphone into the computer, make sure it's plugged in to your ipod or mp3 player. This is because it's really easy to go to youtube or start downloading stuff....when your sound source is only music and nothing else.

When you reach the point where you are not focused on hearing the music and it rather sounds like white noise, it's a confirmation that you are now in the zone.

A much more easier way is to just start coding to get the fire going basically....but sometimes just to get that initial stage is tough....well take the music you hear, really listen to the music and get into the music....channel that passion in the music now to your code.

share|improve this answer
add comment
