views:

1412

answers:

19

Obviously this is completely subjective, but what environment do you like to work in? Well lit or dark? Warm or cool? Noisy, quiet or do you listen to music via headphones? Open plan, shared/individual office, cubicle? Do you need a fancy aeron chair or are you happy to slump on a couch in starbucks? Laptop on the lap, or fully ergonomic desk with multiple displays. Do you require free donuts?

How important are these things, and control over these things, to developers?

+4  A: 

First of all, I'd suggest a really good chair!

Then, I suggest a room by yourself. Avoid phones and other nuisances.

michelemarcon
That is a ridiculous chair! I want one! D:
The.Anti.9
+1  A: 

For highest productivity, 68 degrees with total quiet (or white noise headphones). Ergonomics not essential as long as I am upright. I prefer to be in extremely casual clothes (t-shirt and gym shorts).

John
A: 

Having both a place to go to be alone and a place to meet with your coworkers is important. I now work at a place sharing a nice sized office with 2 other programmers and it is hard to focus as I did when we each had our own office.

Kevin Sheffield
+1  A: 

I've worked in both a cube farm and an office with a door. Having the door where you can close out the world when you need to think, are in the zone, or just need to talk to a client in private on the phone is amazing.

ben
+3  A: 

I personally find that what is "best" constantly changes. I tend to bore eventually with any given location/environment/position/lighting combination. There are a few consistent things I've found:

  1. I prefer a room quiet enough that without headphones I still have no physical or acoustic distractions. And for this, I find the best solution is either an office to yourself, or work from home.
  2. I Tend to like medium ambient lighting. Too bright results in glare, too low produces eye strain, i nice mellow chill glow gets me in a relaxed and functional mood.
  3. Coffee. Caffiene. Any Thing that gives that makes working so much better.
  4. Stable ambient temperature, if well dressed 18° C is nice and comfortable. This generally becomes more controllable at night ( winds tend to die down a bit here ).

I work nights myself, or at least spend some time working at night, its good because you get the benefits of the quiet plus the stable atmosphere all at once. ( And no sun glare you have to control )

Kent Fredric
+13  A: 
  • A bigger monitor than I have now. Or two.
  • A little cool (long sleeves comfortable) is a lot better than too warm.
  • Well lit, but no glare on the screen.
  • Quiet. Sometimes I listen to music on head phones, but not when I need to think hard about something.
  • Nearby conversations are distracting, but I would like to be able to pop in and ask questions and bounce ideas off co-workers.
  • The best chair my employer will spring for.
  • Free food from time to time and other such perks help me feel valued.

That is enough for now.

Justsalt
A: 
  • 2 screens one for coding one for looking up documentation.

  • Plenty of room for a full sized keyboard and mouse.

  • A consistent location is also a plus that way you are not looking around you too much.

  • I think all desks should be big enough to accommodate 2 people for pair programming.

Paul Whelan
+4  A: 

Lighting: I have windows facing two exposures, but unless it is raining or snowing I don't often have the shades open.

Offices: I am a big fan of an open-door policy, but I find that it can sometimes be distracting.

Sound: I bring in my iPod every day, sometimes Podcasts, sometimes audiobooks, mostly music.

Seating: Everyone in the company has a nice office chair, but I think only one person has an Aeron (which he brought with him).

Machine: I have a laptop docked connected to two 21" LCDs and that works great for me.

Special: We have free soda, coffee, and espresso everyday and a catered lunch on Friday's.

"[Working in a loud office is like working in a paint factory where the air is full of grit.]" - Paul Graham

Penguinix
What kind of laptop did you buy that allowed you to connect to 2 LCDs when docked? I have a Dell XPS, and they informed me that I could only use the laptop screen + 1 other monitor.
Josh Kodroff
HP Compaq 8710p. I believe it is touted as a desktop replacement.
Penguinix
A: 

Once you have a great chair, make sure that chair "fits the desk". When I was having problems with my wrists and shoulders, a ergonomics specialist told me that the ideal position for your arms is straight down, and then a 90 degree angle for your forearms. The arms themselves should rest upon chair arms. Additionally ergonomic keyboards keep your forearm and your hand in a straight line, keeping your tendons from having to "go around a curve".

Then your next concern is the screen placement. The same specialist recommended, for good neck posture, to have the middle to top of the screen at eye level. Of course, as Jeff would agree, plenty of desktop real estate is a plus!

Last but not least have plenty of good ambient lightning to cut back on the eye strain.

Jason Mock
+1  A: 

I require being in total darkness other than the light from my monitor. Mostly this is because when theres other light, I have the ability to look around and get distracted. but when everything is pitch black, I cant see anything to get distracted by.

Also, it should be comfortably warm and cozy, maybe a little chilly. Too cozy and you just want to fall asleep.

Personally I like to listen to drum and base while I am programming, its got a steady beat and minimal lyrics to get distracted by.

I also like sitting at a big desk with multiple displays. I need to take up space with my programming! I don't understand how some people can program on little screens or laptops. I program on my 24" and 19" displays and I still run out of room.

Sitting in a really big squishy chair is nice. I have a very large and padded office chair in my office.

And lastly I require some sort of caffeinated soda (i.e coke, Dr. Pepper, Vanilla Coke etc.)

All of this is vital to my success generally. Though I can handle not having the total darkness.

The.Anti.9
Redbeard 0x0A
+1  A: 
  1. An acoustically isolated office (so I can have quiet when I need it, and rock out when I need it),
  2. either a huge whiteboard or windows (which you can draw on with a dry erase marker
  3. A meeting room with a gigantic whiteboard
  4. A comfortable chair
  5. Two large monitors (24" CRT or 21" LCD) or one monitor and a company laptop
  6. A decently fast computer with tons of RAM (my personal laptop has 4Gb)
  7. caffiene supply, either coffee or diet coke, preferably free
Paul Tomblin
+1  A: 

Just a keyboard and a display. If I'm getting into my coding, the rest of the world pretty much slips away anwyway...

CobolGuy
+2  A: 
  • Great Chair.
  • At Least 2 LCD Monitors (17" or better).
  • Quiet environment when necessary (ability to close a door).
  • Dry-Erase board to allow for working stuff out in front of me and not on paper.
  • Windows (I <3 natural daylight).
  • Good Blinds (in case the daylight becomes too much).
  • Control of the overhead lights (sometimes, I just need the dark).
  • Plenty of scratch paper.
  • Plenty of programming books.
  • As good of a computer that can be afforded. Laptops are nice as they allow for portability.
  • A work environment that encourages for cooperative programming
  • A work environment that encourages side projects to get you versed in new technologies that you can leverage for the good of your company.
Rob
A: 

Very subjective question, but I'll give it a shot. I've worked in cubicles, single offices with a door, and a scrum room with five other people. For the purposes of collaboration, a shared space works best, but I don't think it works well enough to justify the interruptions when a developer is trying to write code. So the ideal for me would be a small office with a door to close out distractions and controllable lighting - preferably natural light - sometimes I like it lighter, sometimes I like it darker so shades or dimmer switches are a plus. If that's not possible, then a cubicle might work if it isn't too cramped. A temperature of between 68 and 70 degrees. Reasonably ergonomic set up with a comfortable chair. Headphones or speakers and a phone that can be unplugged or turned off. Let's not forget one of the most important features, a dual monitor set up. I can't imagine how I ever got by with a single monitor. Free food I can do without, but coffee is a must.

+7  A: 

Things that everyone should have:

  • A chair that, above all, is the right height for me.
  • A desk that, above all, is the right height for me in that chair.
  • No flicker from your monitors. If you're using CRTs, crank the refresh rate up to at least 85Hz, 100 if possible. If that means turning down the resolution, fine. A retina is a terrible thing to waste.
  • No flicker from your light bulbs. When I had an office with only fluorescent lighting, I brought my own incandescent and used it instead.
  • Lots of space between my face and my screens. When you have two or three screens this can save your neck.
  • Lots of empty space on the desk so I can move my arms around. I typically have a foot of nothing at the front of the desk, then comes the keyboard, then the screens. That empty space is where my arms go when I type, and where my notes go when I design or debug. This encourages me to be a little more mobile -- the desk is like a workbench, not a workstation.
  • Apple Mighty Mouse. It is flat and doesn't require a particular posture for your arm, and you click it not with one finger but with your whole hand. Not as clunky as it sounds. Of all the wrist strain remedies I tried this is the one that worked the best. Don't worry, you can still right-click. Read up on it.
  • Lots of space for my mouse. Ten inches square or so. Using a low mouse sensitivity causes you to use not only your wrist but your entire arm to move the mouse. Same principle as clicking the button with your hand, not your finger: Your arm is stronger than your wrist, so it won't get worn out like your wrist would.

Things that are personal preference:

  • A room with a door I can shut.
  • Coworkers who, if it's shut, will send me an email rather than knocking.
  • Monitors that sit below eye level but point up at me a little.
  • A window. I like to know that the world exists, which is easy to forget sometimes.
  • Scorpius M10 mechanical switch keyboard. They cost $50 and have that 1993 kinda-clicky super-springy feel that I miss so much. Good sharp clicks cue your brain that you've typed the character, too, and help you type a little faster.
  • The Dvorak keyboard layout. Not only is it smoother for typing English, but it's a good improvement for programming too. Never was an underscore so easy to type.
Kevin Conner
A: 

Sounds like my current work area is not the norm. I currently work in my dining room that I have turned into an office. I have no doors so I dont have a way to drown out the kids when they are home. I have worked in a shared environment and an isolated environment and I think that work pretty well here.
I personally don't like the quiet. I need some type of noise whether its people, radio or outside noise. My only requirement with where I work is that I next to a big window.

Web
A: 

Try turning your monitor on its side - it really opens up how much code you can see at once. Even with my 24" monitor i sometimes feel like im coding through a knot-hole in a fence

dittonamed
A: 
Jonas Gulle
is it not a problem that light low and comes directly back?
dankyy1
I like the can of stout!
Rippo
A: 

Well I wish I had that luxury. My order is :

1) Quiet workspace (if not private office at least a 2-3 persons office).

2) Good hardware including monitor,keyboard and mouse

3) Opportunity to change positions (a laptop would be great) because you tend to have new ideas when you change the environment.

I worked for a year in an office with 3-4 other programmers. It was ok .. though managing to focus required me to stay late and/or come early. My preference (though I have only worked for 1 week in a private office) is clearly for the private office. During performance evaluation (I got a good performance review) I mentioned I wanted to keep a team/room setup in order to continue to deliver and improve.

One month later we were moved to an open plan layout and the problems begun to grow :

1) No way to setup ventilation and temperature for each desk .

2)Noise and distractions - headphones are a temp solution

3) The feeling on intense supervision (my monitor is setup so that people can view it from anywhere in the room especially the boss).

So I mentioned my performance would drop and so it did and I also mentioned as alternatives having flex time and or working from home. None were accepted. Well it's their loss as I do not want to stay late and /or come early without being rewarded for the effort so I guess you need to really learn to cope with it. Oh .. there is also Getting Things Done to help you get in the flow (which can and is usually broken by your manager) and stay with it.

Mike L.