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?
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.
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).
|show 6 more comments|
Close all browser windows pointing to StackExchange and enough, good coffee might be a good place to start.
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.
Get the first task on your well maintained list.
The secret is having that list!
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:
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.
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.