Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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

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

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined in the FAQ. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about closed questions here.

7 Answers

up vote 31 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
2  
+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
1  
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
1  
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
1  
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

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

share|improve this answer

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
1  
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

Get the first task on your well maintained list.

The secret is having that list!

share|improve this answer

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:

  1. One must be involved in an activity with a clear set of goals. This adds direction and structure to the task.
  2. One must have a good balance between the perceived challenges of the task at hand and his or her own perceived skills. One must have confidence that he or she is capable to do the task at hand.
  3. The task at hand must have clear and immediate feedback. This helps the person negotiate any changing demands and allows him or her to adjust his or her performance to maintain the flow state.

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

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.