Slashdot Mirror


Finding the Programming Zone?

SlashDotDashDot asks: "As a developer for 20+ years, I've developed a fairly fine tuned way to find 'The Zone' for optimal programming - a combination of furniture arrangement (PC and chair), lighting and music. I also have a pretty good sense of what time of day is best for working on a particular set of problems. But this is what works for me. My company is growing and I'm needing to mediate working conditions between my clients and consultants. This has me wondering what others have found important for finding 'The Zone' in their programming lives. How fast can you get there? How long does it last? What do you do that helps keep that state? What are the major interrupters?" We also touched on this issue in a similar article, last year. However, many of you may have ways of attaining "the zone" that don't depend on any of the factors listed above. If you have a method that works for you, please share. It may work for others.

6 of 577 comments (clear)

  1. Here's how I do it. by ciryon · · Score: 5, Informative

    Optimal condition is:

    * Rather dark and gloomy room
    * Big monitor at high resolution and many xterms prepared
    * Huge MP3 playlist set to random
    * One big cup of coffee (machine close by)
    * Unlimited supply of colas in the fridge

    I'm at optimal performance just when I normally should go home from work. Or when I work home, just before I really should go to bed.

    Ciryon

  2. Read Peopleware by Anonymous Coward · · Score: 1, Informative

    By Tom Demarco and Tim Lister. It gives real world examples, research and solutions. It isn't extreme but makes the case the most corporate cube farms do not lead to productive work envronments.

    Don't enforce start/stop time rules but enforce the rule that you have to attend the meetings you say you are going to attend and you do the work you say you are going to do. If a problem arises, don't wait a few days to tell the PM, because the PM needs to mod the schedule ASAP in order to keep client expectations in line with reality. Telling your team mates where you are (in your coding) is just plain and simple manners.

  3. Re:Quiet! by dogbowl · · Score: 2, Informative

    yea, I've got a middle of the road Sony noise canceling headphones, and I've probably used them just as much without music as I have with music.
    Theres a switch to turn the cancleing on/off.

    One time, I had them on (with no music) and a stardess walkup to me and asked a question directly towards me .. I couldn't hear a word she was saying! Ahh .. bliss!

    --

    These pretzels are making me thirsty.
  4. Re:Extreme Programming Books? by bharlan · · Score: 2, Informative

    Kent Beck's "Extreme Programming Explained" is the first book to read -- and the first in the excellent Addison Wesley series. Also see http://www.extremeprogramming.org/

    --
    (Reality reasserts itself sooner or later.)
  5. use IM not phone by GunFodder · · Score: 4, Informative

    The phone has to be one of the most distracting elements in the modern office. If you and your team use an instant messenger instead you can really cut back on the distraction factor. I find I can hold my concentration better through a chat session than a phone conversation.

    And stack your meetings on particular days if at all possible. This is often difficult since in many office cultures the managers proclaim meeting times and the workers learn to live with them. But if you have a choice then try to put all the distractions on the same days.

    And for all you managers out there don't schedule a meeting that ends close to the end of the day. If the meeting ends at 4 and most people leave at 5 chances are your workers are doing only two things between 4 and 5: jack and shit.

  6. Re:Look a little further, guys. by CommieLib · · Score: 2, Informative

    Definitely some truth about the inflated egos of programmers. I must disagree on a larger part here, however.

    Being a programmer is about equal parts artist, engineer and scientist. And by artist, I don't mean artiste, I simple mean that solutions to problems bear some relation to the psychocultural background of the solver. Whether it's hard or not is not the point; I think you would agree it depends on the type of development being done.

    You seem to be implying that if you're in other fields, there is no "zone". That's simply not true; a child care worker may experience a period of terrific well-being or behavioral insight into a child and have a period of high productivity in that sense...and God knows that teachers have good days and bad days.

    All of what you've said here doesn't change the fact that the programming zone exists. You may grumble that we should just be happy with whatever environment we have. Fine...but that bears a cost, the reality of the lost productivity of a better coding environment. And man, if all we're talking about here is changing the lighting and dishing out free cokes and coffee, is that really so much to ask?

    --
    If your bitterest enemies are people who hack the heads off civilians, then I would say you're doing something right.