views:

6143

answers:

72

We are designing our office right now and want to know what stuff you guys really care about or started loving in your office.

So -

What are your must-haves for a developers office? What things can't you live without?

+19  A: 

A comfy chair.

Jeremy Reagan
The...Comfy Chair?
Colonel Sponsz
I didn't expect that...
Doug L.
+107  A: 

Four walls. A door.

Jonathan S.
I'd give this three votes if I could! Few non-programmers appreciate how disruptive that dropping in for a "quick" question really is. Studies have shown that it takes, on average, about fifteen minutes to get back "on track."
Sherm Pendley
15 mins on a good day :)
Jeremy Reagan
@Jeremy - Same here, but I think I'm a little... well OK, a lot more easily distracted than average. Not enough to be diagnosed with ADD, but enough that I do have trouble staying focused.
Sherm Pendley
I wish I could program in a park though... I'd much rather be outside during the summer
Robert Gould
Sssss! We hateses the yellow face, precious! :-)
Sherm Pendley
I wish I could actually see anything onscreen when outside. Glare + Glossy == Unreadable
Adriano Varoli Piazza
4 walls is a bit excessive. think about the damage you are doing to the planet, you can get by with 3. :D
Darren Kopp
Currently working in a dev shop built entirely on the "open" plan - no walls. Lots of sales guys next to me making calls, CEO yelling into the phone all day 10 feet from me - every time he makes a call I have to take a break.
Steve B.
@Darren 3 works just fine if you have a REALLY big door where the 4th should be
TM
+94  A: 

Whiteboards. Lots of Whiteboards!

Morten Fjeldstad
I was gonna say that!
dviljoen
At Xerox PARC we had (this was back in the 70's) several rooms that were wall-to-wall, floor-to-ceiling whiteboards. There were boxes of markers (one for new, another for tired, a third for dead) and beanbag chairs. You could have amazing conversations in there.
Peter Rowell
+47  A: 

Each dev must be able to control the lighting in his/her work space to make it comfortale for them.

EBGreen
Where I work, a lot of people leave their office lights off, and bring in lamps from home to create the light they want. [Of course, this requires an office...but I'm in a cubicle. :( ]
Kyralessa
I have the same problem. For months we were able to work with the lights off. Then we got a new person.. and because of OSHA requirements, lights HAVE to be one. Full lights. It's frustrating because other departments can have their lights off...
Nazadus
This one doesn't bother me at all.
Orion Edwards
I've done a lot of work with the lights off. Often it's a bit too dark but it's a lot better than the glare of having them on.
Loren Pechtel
Wally loves this one.. this will also solve the noise issue.. you could just turn the lights off, set the alarm for closing time and go off to sleep ;)
Gishu
I wish I had that, people here like "the dark side"
Fabio Gomes
+116  A: 

Absolute must-have: comfortable chair. I'm going to be sitting in it for unspeakable amounts of time.

Really important: two monitors.

Neat stuff: corner desk, so the stuff to the right and left of the monitors is closer.

Paul Marshall
can't agree enough on the two monitors, we started using them about 6 months back, now I can't use just 1
Andrew Cox
I spent so long fighting for a second monitor at a previous job. It is totally essential. Sometimes it is even useful to have a third if you have an output (i.e your website / the app you are developing) that you need to monitor on a regular basis)
Tom Leys
Try 4 if you can; 1) firebug, 2) firefox, 3) editor/IDE, 4) terminal. I hate it when I have to go home to only 3...
digitala
Note: Corner desk is bad for pair programming.
Torbjørn
Pair programming works better in a pit imo anyway, not in an office. My best experiences with PP are when it is done in moderation somewhere centralized and you still do 50% or more of your work in your office alone-ish.
EBGreen
I've done only a minimum of pair programming, for only the nastiest of bugs or brief code reviews. I don't think that designing an office specifically for PP is as important.
Paul Marshall
I used to use two monitors regularly before I got a 24" iMac. I was planning on hooking up a second monitor to it but found I didn't need to so got rid of it. I think it's actually about having enough screen real-estate rather than a specific number of monitors.
Mark Reid
4 monitors? How?!?! I'd be given #4 if I asked for it but I can't imagine where to put it.
Loren Pechtel
+1 for the chairs. you have to find a chair/monitor/keyboard/mouse combination that is comfortable for you.
mfx
3 monitors, middle being very large, works like a dream http://www.davidwhitney.co.uk/content/images/blog/GeekingOut_1B33/2008_3_desktop.jpg
DavidWhitney
Corner desk is way high on my list, I prefer the "low" profile on my chair so that I can rest my arms on the desk, with a flat front desk this is nearly impossible unless it is overly deep.
Tom Anderson
You never appreciate a good chair until a bad one gives you back troubles so bad you can't even walk.
mat_geek
I just got a 30" LCD. It's amazing. I don't think I would want anything further to the sides than that.
Jay Bazuzi
@Torbjørn: Unless you turn the desk around 180 degrees.
Jay Bazuzi
I am definitely a fan of 2 monitors, but I find that a single large monitor (1920x1200 or higher) can be better than 2 small ones in a lot of cases. Of course, two big ones would be better still :)
TM
Except where the corner has a file cabinet on both sides, so close you can't swivel. I hate that!
tsilb
+3  A: 

Preferable one whiteboard per developer plus large whiteboards in each meetingroom...

Thas one of the most important things for me (except maybe for large monitors, a 24" monitor, or preferable two

Ulf Lindback
One whiteboard per developer is a great idea. It solves the problem of "Oh, I can't erase the stuff that Joe did, so I have to write in this teensy quarter of the board here"
Orion Edwards
+6  A: 

The most Scariest night mares for a developer are here, Of course these are the 'BIG NO's when designing an office for developers.

  • Place all the Monitors face towards public walkway.

  • Make an environment where people can stand up and discuss - Low level partitions or no partition

  • Your boss sitting very close to you

You can vote if this happening at your workplace too.

Jobi Joy
I don't like working with my back to a high traffic area. It's uncomfortable and distracting and that negatively affects my productivity a lot more than it's improved by never reading Slashdot.
pd
I believe this is actually counter productive. It's better to have 4 or 5 hours of good productivity ("flow") in a day than 8 full hours of half-assed worker drone faux productivity.
Wedge
1st paragraph: I've worked in that situation before. The number of people who come over to start a 10min+ chat about what you're working on would negate any lost time on /., even *with* headphones.
digitala
These are the worst of the list so far and COUNTER productive in my experience.
Tim
I this answer is trying to point out things NOT to do. If so, I think we can all agree.
P Daddy
Its a joy at my workplace too
EvilTeach
This is exactly what my last job was doing. The company president wanted all managers to have 'line of sight' to their employees, so all walls came down. I quit. Got a better job where they respect their staff.
rally25rs
I wouldve quit too, that's really dumb. Programmers are different than managers who have a fixed daily schedule; we often have erratic work habits that increase productivity (even if they don't seem like they do.)
temp2290
Much worse than having the boss sitting very close, my managed sits eight timezones away.
Tom Hawtin - tackline
+10  A: 

Foosball table

Torbjørn
I was going to add this one, but you beat me to it. We had a foosball table at my last 2 jobs. Personally, I'd rather have a pool table though :)
rally25rs
Foosball sucks. Ping-pong tables rule though!
UpTheCreek
+5  A: 

Nerf gun with extra bullets.

Whytespot
Or a taser depending on who your colleagues are.
UpTheCreek
+6  A: 
  • A reliable and fast coffee machine. Keurig, Senseo, etc.
  • 2 monitors.
StingyJack
+22  A: 

I recommend you to take a look at part II (entitled "The Office Environment") of the famous book Peopleware: Productive Projects and Teams(Second Edition). The authors described in great detail the importance of a furniture policy and the appropriate use of space. One of the good statements of the book is transcribed here:

"Even if you managed to prove conclusively that a programmer could work in 30 square feet of space without being hopelessly space-bound, you still wouldn't be able to conclude that 30 square feet is adequate space. The noise in a 30-square-foot matrix is more than three times the noise in a 100-square-foot matrix. That could mean the difference between a plague of product defects and none at all."

And if you are curious about famous companies offices', go to Office Snapshots.

Gustavo
Yeah, peopleware is a good one, I remember that particular chapter was one of my favorites and probably the most interesting.
BoboTheCodeMonkey
Furniture police? Are they a special-branch of the fashion police?
digitala
Yeah, I'm pretty sure that should be furniture "policy"
BoboTheCodeMonkey
Maybe it was supposed to say "the importance of not having furniture police". I've worked in places with furniture police. :(
Kyralessa
Peopleware rocks!
Chris Ballance
oops, sorry. Corrected.
Gustavo
I'm reading it right now, actually, and they do refer to furniture police as the people who are always trying to enforce standard areas/cleanliness/uniformity measures in a workplace.
pbh101
+2  A: 
  1. NO CUBES! low level partitions if you must have them at all.
  2. Couple of sofas and a decent coffee machine.
  3. Wireless Network
Simon
I actually prefer cubes to low level partitions. To me, low level partitions give you the downsides of a cube (significant barriers to communication) with none of the upsides (no visual distractions, slight noise reduction).
Joel Wietelmann
At my last job, we had cubes and they took down the walls. I like walls better. If i'm too lazy to roll back 3ft to talk to someone, then no wall won't help. No walls was WAY too loud. Everyone went and bought sound-canceling headphones. Plus nowhere to hang whiteboards!
rally25rs
+2  A: 

A computer.

nullptr
This was not helpful, but funny.
Mark Stock
+14  A: 

Attractive coworkers!

Seriously, the most important thing for me and most of my (attractive) coworkers is noise level. So doors and walls can fix that, or proper spacing and headphones. Individual offices are the best. Whiteboards are nearly essential as well. We have nice magnetic ones that wheel and flip.

Instantsoup
And since most developers are not attractive, relatively speaking, and predominately male (which is unfortunate for a number of reasons) they should sit near a non-technical group with some eye-candy to offer up
Chris Ballance
Eye candy will improve any office!
Loren Pechtel
+14  A: 

Coffee machine!

Edit - with good coffee!
Gavin Miller
Rancilio Silvia and Rocky http://bit.ly/1268uo
daustin777
+45  A: 

Things I absolutely need to get anything done:

  • A machine that works consistently, and performs well for the work being done.
  • A good size desk, and preferably walls. Door not required, but having one's own space is invaluable. Though, open air work spaces are good for very small teams who need instant access to resources.
  • A nice set of headphones. Okay, these are probably unique to each developer but we need them. Noise canceling would be nice, but we can get by.
  • Paper. Lots and lots of paper. Some swear by whiteboards, but myself, I use pads of paper. I can keep all my notes from meetings and everything on my PC, but writing is 10x as effective when you are on a call or in a meeting and far less distracting.
  • Dual monitors. 2 monitors are the threshold for power computing. Without two matching monitors, you're losing at least 10% productivity per developer. (See Jeff's post.)
  • If I'm expected to make calls, give me a headset. Whether its wired or wireless, these things are great for being able to debug while on a call.
Abyss Knight
I second the headset if you need to be on the phone and computer at the same time. I've ended up with a very sore neck after holding the handset to my ear with my shoulder while typing for an hour in the past.
Evan
Definetly need a nice headset, I find it so much easier to get into the zone with music. As for paper and whiteboards, whiteboards you need, nice big ones if possible, but as for paper, I just use a tablet PC :-)
Daemin
+1 for headset. I actually tore my vocal cords from the stress of cradling phone-to-ear while typing. Doctor actually prescribed one for me.
Peter Rowell
+1 for noice cancelling headphones
Tom Anderson
I don't think 'matching' monitors are necessary. I have a 24" wide for my coding monitor and a 17" standard for my other monitor and I like this set up. I mostly use my non-coding monitor for web browsing and most websites look like crap on huge monitors.
David HAust
I agree with @DavidHaust, they don't necessarily have to match. Matching is better of course, for reasons of brightness/color similarity. But if I had to choose between a 24" widescreen with a 19" 2ndary and two 19" monitors that matched, i'd take the extra screen space every time.
TM
10% lost for non-matching monitors? So ever hour I spend 5 min just scratching my ass? i don't think so - you quickly adapt to such niggles.
John
@David HAust, in Windows 7 you can easily split windows in monitors without tools like WinSplit, thanks to Aero Snap. Now you can have two browser windows open for the same price (I find wide monitors to be just a little more expensive than smaller non-wise ones).
iconiK
+16  A: 

A kitchen. Lets me heat up my lunch, or cook it if I'm feeling adventurous...

Dan Vinton
Make that "a kitchen with very good ventilation." The smell of popcorn / curry / tacos / pizza / haggis / whatever can be very nonproductive or even downright nauseating.
Peter Rowell
or Cup Noodles... blech...
Jared Updike
+5  A: 
  • Multiple monitors - at least two
  • Dart board
  • Stress ball from a recent conference
  • Quiet environment
  • Conference room or a "war room" that is available when you need to have a quick discussion. Not tied up with sales types.
Brian Behm
+20  A: 

A really good library and the ability to take advantage of it. My favorite places to work are where there is a culture of learning and books and other resources are a huge part of it. Some comfy chairs and some books and magazines that make you thinking about programming and design in new ways are always good.

Tracy Hurley
+1 A good book can pay for itself in a few minutes if you find even one good nugget in it. Time saved = money! A guy at one job told me, "You don't learn nuthin' from books." Really. That job culture did not support books, tools, whiteboards, etc... I left.
Doug L.
+9  A: 

Essentials

  • Dual monitors
  • Plenty of legal pads and pens for jotting notes when talking to users
  • Whiteboard
  • trashcan
  • comfortable chair

Extras

  • mini-fridge
  • 4 walls and a door

I recommend you actually ASK YOUR DEVELOPERS what they want. Everyone will be a little different but the bottom line is the better you treat your people, the better work you'll get out of them and the more willing they will be to go the extra mile.

Caleb Postlethwait
+1  A: 

HP-16C (http://www.hpmuseum.org/hp16.htm). I recommend the iPhone app version of the calculator.

Mark Grimes
+7  A: 

I'm trying my hardest to get a tall desk. 5/6 days a week, 8hr+ each day, sitting at a low-level desk and you're just asking for a pot-belly and DVT. With tall "artist"-style desks and adjustable stools (pref. with backs) you can cater for any height, and you can work standing-up. Plus, if anyone has to do some typing at your machine (code-reviews, etc) they don't need to kneel or trundle a chair across the office.

digitala
I really really really wish my desk was taller. I guess if I was shorter it wouldn't be as big of a deal, but i can't really help that.
TM
+1  A: 

As usual Joel has a great blog article on this very topic that you can find at: http://www.joelonsoftware.com/articles/BionicOffice.html

JohnFx
+3  A: 

Nothing specific I couldn't live without apart from some of the obvious like dual monitor, good temperature and lighting, access to coffee, fridge etc. But I think most importantly: an office space has to have personality. let employees tastefully design/decorate their space.

caglarozdag
+2  A: 
  1. A desk that's big enough for two people to sit at and both see the monitor(s) and reach the keyboard. Whilst this is essential for an XP shop (or any other using pair programming) it's also a good idea in general if you want your developers to work together.

  2. Space to put books. No space => no books :(

+24  A: 

A good chair.

Plenty of desk space and bookshelves.

A whiteboard in my cube/office, and PLENTY of communal whiteboard space. I.e. the conference rooms should be LINED in whiteboards, not just a dinky little board at one end.

Flip charts for more permanent drawings. Preferably the kind that are like giant post-it notes.

Dual monitors.

If my primary dev machine is a laptop, a docking station would be nice. At the very least, an extra power cord to keep at the office.

Decent coffee. I don't care about some fancy-schmancy espresso/latte machine, just fresh, strong, regular coffee of reasonable quality. Some communal mugs would be nice for the days when I forget mine.

Reliable printers. When I print something, which isn't too often, I don't want to have to troubleshoot printer issues.

A window that I can see when I'm sitting at my desk. I'm not saying I must have a cube next to a window; just a sliver of visible outdoors through a gap between cube walls is better than nothing.

Legal pads. Pencils (wood is better than cheap mechanicals; just make sure the sharpener works). Pens that don't skip.

Don't block my ssh.

Adam Jaskiewicz
nice point with SSH access
solomongaby
WTH is PC Load Letter?? :)
geocoin
sshd on port 443...
Tom Hawtin - tackline
You take your mug home with you?
John
+1  A: 

Brian The Build Bunny!!! http://au.youtube.com/watch?v=Is32fWJJA-I

RWendi
+2  A: 

I agree sound, monitor, and chair are all important.

The one thing not yet mentioned is keyboard / mouse of preference. Ease of input is important. My wrists and pinkies have begun to hurt, and I have yet to have an employer who thought a new natural keyboard was a good idea to chip in on...

A: 

Details Adjustable Desks!

Michael Pryor
+2  A: 

one thing that often gets neglected is Monitor Arms for your multiple monitors. It's one thing to have multiple monitors, it's quite another to have the flexibility to move them around to show other developers or accomodate extra / temporary equipment

lomaxx
A: 

I like a window, a comfortable chair I can lean back in, speakers, leg room to put my feet up, and a split keyboard like the MS Natural 4K. Walls and a closable door are also good.

I don't mind working around people, but I really don't being in the open.

Paul Nathan
+1  A: 

free coffeeeeeeeeeeeeeeeeeee!

Derek B.
+3  A: 

One thing you DO NOT WANT is a Public Address system or at least not one that blares into everyone's space that "Joe Blow, you have a phone call on line X!"

There are many excellent suggestion posted. I'll re-iterate the recommendation for "Peopleware"

Ken Gentle
+14  A: 

An ocean view.

Mark Stock
You have this... awesome!
alex
+1 LOL. It's a must!
zdmytriv
+5  A: 

Make your office like this! Stefan's Office

All joking aside, look for these qualities:
- Peace and quiet
- Get away from normal life
- Organized
- Clean
- Encourage work
- Library, easy access to information
- Proper equipment
- Some nice amenity, like a good view or something small and special

pearcewg
+12  A: 

I highly rate a couch. Being able to lie down and discuss or think about a difficult problem really helps me. Plus, when you're pulling an all-nighter, they are invaluable.

nickf
+5  A: 
  • A door (no, not one with glass in it).
  • Heat.
  • Good chair.
  • Big Monitor(s).
Brian C. Lane
What's wrong with a glass door? Personally if it can keep noise and people out that's all I care about.
TM
+1 for no glass. I want to know if someone is watching me. (But I don't pick my nose, honest!)
Tom Hawtin - tackline
A: 

Ping pong table is a big plus

Chris Ballance
+2  A: 

Good lighting, where I work at now the lighting above me is yellow, very hard on the eyes.

Dual monitors (I know it's been said several times before, but a HUGE productivity improvement)

Headsets for phones. It's hard on your neck squeezing the phone to your ear while solving the problem on the computer.

Good comfortable chair. We sit in it for eight hours and most people spend only 20 minutes looking at them, we spend a lot less time in our cars, yet spend vastly more money and time in getting one. Go figure.

I also agree for the low partition walls, I currently have to offices one high wall another low wall (company is trying out new layouts), but if there's a lot of noise neither really work well.

Trashcan, we snack.

A good powerful machine. We don't need the latest gamers mega processor, but something that doesn't slow us down. We want to solve the problem quickly, not to be slowed down because the comp is thinking. Skimp on some other stuff if you must to keep this one up.

Lastly I second Caleb's answer of asking your developers, they will ask for a lot but let them know your intentions and they will tell you what helps them most.

David
A: 
  1. A good development machine with dual screens. Needs to have plenty of HDD space and as much ram as possible in order to make it possible to have several IDE windows open as well as a handful of local Virtual machines.

  2. An internet connection...to be able to access stackoverflow as needed ;) (Some places I've worked it was an uphill battle to justify why the development team needed an internet connection)

  3. A comfortable chair and desk. Some people have this as the top priority but I've found in most places you don't have much choice...and as long as it is reasonably comfortable to sit in for several hours at a time I'd rather prioritize the development machine which, if not up to spec, can cause you to spend hours more at your desk than you have to.

  4. A quiet environment with as few distractions or interruptions as possible

  5. Easy access to stationary supplies. (At one place I worked I got chewed out by the boss for taking more than one pen at a time)

  6. Easy access to good reliable printers.

mezoid
A: 

junk food! when you go for a break it's good to load your system with crappy but highly stimulating food. hehe.

melaos
+1  A: 

It has to have ergonomical designs, the chair, lighting, monitors all the way. If you design a office with ergonomics in mind, it costs far less than what you would spend modifying it later.

A place to lie down. A power nap of 15 minutes is better than

  • A cup of cofee
  • A sugar laced drink/soda
  • 10 trips to loo (5 to wash your face)
  • Bugs introduced because you were feeling sleepy.
foo
A: 
  • enough power routed to my office/cube so I don't short out my neighbors when I plug in 2 monitors, mulitple pcs, misc dev hardware, and then start a long compile and data export. with a bad power setup, your office will be on fire and not expandable.
  • big battery backup, so when my neighbor shorts me out, I will be good to save.
  • coffee grinder preset to grind out beans ready into a coffee filter basket.
  • pump coffee carafes. low power, portable for meetings.
  • snack machine set to just enough to make me not buy snacks, but not feel ripped off if I do. Also keeps slothful snackers from always walking off with otherwise free food.
  • heat / cooling system properly calibrated and labeled. nothing like having dudes make the office hotter when they think it's making it cooler.
  • 8gb+ ram and 4 cpu machines for faster compiles.
  • an inventory system with a scanner so moves are painless
  • multiple working video conferencing units with large displays.
  • beer tap, good beer. make fridays fun.
Epu
A: 

Here are my personal favourites in no particular order...

  • Multiple monitors, (at least 2)
  • Good lighting (no glare on my monitor)
  • Comfortable chair (very subjective, padding and back support is essential)
  • Space to organise and store paperwork/documentation
  • Whiteboard + digital camera (for storing important whiteboard stuff when you need to wipe it)

Docta

DoctaJonez
A: 
  • Space for the developers to put their personal stuff on. I.e. actually leave a bit of the wall and the desk free for developers to but figurines, posters, photo frames, whatever... on.
  • A lockable cabinet.
  • A Window. Windowless offices with only artificial lights are not good.
Michael Stum
A: 

A good kettle, a water filter if the water's bad, and good quality tea!

Also as previously mentioned, a quiet workspace, with a comfortable seat is essential.

Zeus
A: 

Dual matching monitors, Cinemassive makes some great ones. Noise canceling headphones or individual office space. Do Not Disturb signs. Flexible building access hours. Corporate Wifi. Laptops with Docking Stations. For the entire office a printable color whiteboard like this one from panasonic. A couch or open area with pinball, air hockey, Wii||Playstation||X360, 42+ inch LCD, Conference room w/ projector, kitchenette with stove & sink, Refridgerators, Free Soda & Coffee, That's what I do if I had the money.

icode.cs
A: 

A couch to sleep on when working on those projects till 3am and where you have to be back at your desk by 8am so you dont bother going home .. Ive spent may nights resting my head on my folded hands on my desk ...and waking up with my hands still sleeping :(

A: 

Most of everything here, plus:

A way to obtain Diet Coke in quantitative supply. It's all right if I have to leave my desk or even go outside to get it - in fact, it's preferable.

John Dunagan
Eugh - you know dentists use Phosphoric Acid (#4 diet coke ingredient) to etch the surface of your teeth before filling. And aspartame of course contains phenylalanine, which appart from being linked to cancer also passes though the blood-brain barrier and can interfere with serotonin production. But, if you fancy a sickly soup of chemicals - Enjoy Diet Code!(TM)
UpTheCreek
+1  A: 

A bar will be great!

yapiskan
+2  A: 
John Dibling
A: 

I'll reiterate what many others have said above me.

  • A great chair
  • The biggest monitor you can afford (or dual monitors)
  • A great keyboard is a must IMHO.
  • Lighting. More natural lighting the better.
  • iPod

Not necessarily in that order.

GregD
+3  A: 

free breath mints for the coffee drinkers!

In all seriousness, if you drink strong black coffee, you should be cognizant of the non coffee drinkers around you. This can be more intrusive than someone wishing to chat when you are busy, or other ambient noises. It also makes pairing quite difficult. If you don't think so, imagine pairing with someone who just ate a ton of garlic at lunch. Thats what it can be like for a non coffee drinker.

Just something to be aware of...

Brett McCann
So what about me -- I use garlic flavored creamer in my coffee.
kenj0418
+6  A: 
  • Free Soft Drinks (This is very popular at our company)
  • Flexible Work Hours
  • Relaxed Dress Code (Comfortable developers work better)
  • Public Developer Library
Page Brooks
+1 for relaxed dress code. Young developers love this.
Tanmoy
Tammoy: Old developers too.
Tom Hawtin - tackline
I wonder which software firm restricts dress code...
Pavel Radzivilovsky
+7  A: 

Silence is golden.

Ali A
+2  A: 
  • Available and open break out areas with white boards and noteboards.
  • Project rooms where the walls can be covered in notes and retained.
  • Allowance to work from home.
  • Open all hours. i.e flex-time.
  • NO politics
jsfain
+2  A: 
  1. Blazingly fast computers with quad core CPUs and tons of memory.
  2. A 64bit Operating system to support the tons of memory.
  3. 4 walls and a door (office not a cube)
  4. Whiteboards in every office.
  5. A bookshelf
  6. A desk with solid cable management and enough space for 2-3 monitors
  7. A high quality office chair like an Aeron. Yes they cost more, but people can stay seated for 8 hours at a time with no back pain. It's worth it.

Also make sure to provide solid dev and staging servers for deployment. Too many companies skimp on this. Also provide devs with whatever developer tools/software they need to get their job done. Don't be cheap when it comes to your devs.

Karthik Hariharan
+1  A: 

A mobile phone signal jammer.

Ovidiu Pacurar
-1 it is a software office not army.
JCasso
+1 I suggest using a hammer. Also works on desk phones!
Tom Hawtin - tackline
A: 
  1. The obvious, a good chair a good machine and a good monitor.
  2. A window, doesn't have to be right next to me but I have to have some way to see the outside or it gets too depressing after just few hours.
  3. A flexible electricity phone and network wiring scheme, so that different people can put their monitors in different positions, add an extra monitor or even one or more extra computers without having cables on the floor.
  4. Good lighting, my current office has numerous florescent tubes and at any given time at least one of them is buzzing or flickering.
+1  A: 
  • Development laptops. I really like to be able to take my laptop over to a coworkers desk and show him a problem or bit of code, rather than email a screen shot or call him over.

  • A public area with no walls and lots of seating to collaborate. Ideally comfortable couches and tables and whiteboards.

  • Private cubicle or cubby type space with walls that is quiet. Equipped with wired internet, laptop docking station, external display.

  • Something I would have LOVED to have at my last job: Move the product and project managers close tot he development team, in similar seating. In other words, if your shop does a "no cube walls" thing, then the managers should always be visible too. No offices. From my experiences, the "lack of communication" is almost always developer <-> manager, not developer <-> developer.

rally25rs
+1  A: 
  1. Good Oxygen supply as Oxygen stimulates brain. I've seen some offices even use Oxygen supplied artificially.
  2. Candy jar or Candy vending machine for energy boosting.
  3. The option of "Work From Home Policy", say 2-3 days per week.
whiz
+1  A: 

If your group includes classically trained mathemeticians or basic scientists (e.g. Physics, chemistry, etc.) a blackboard (not a white board) is essential. Most people in these categories were taught to think on blackboards and the tactile association is really important.

Barry Wark
+1  A: 

Fidget/stress toys. Research has shown that utilizing parts of the brain other than the one that's your primary focus can boost over all utilization and increase creativity and thus productivity.

So, things like the Slinky, the Hoberman Sphere or any of Erno Rubik's puzzles, or for work environments where such things are frowned upon, the venerable stress ball, can be a real help.

feoh
+6  A: 

Laundry room. (No, I'm serious.)

I actually convinced my employers to add a laundry room to their big buildout and it worked out great. Lots of people rent apartments and don't have an in-unit washer/dryer setup. Instead of having to deal with a laundromat, they can do their laundry at work when they're waiting for code to compile, or whatever. This means more of their free time outside of work is spent on things other than basic chores.

mseery
That's actually a really great idea
Kyle Cronin
Plus it allows work outs, keep you work out cloths at work clean and ready.
MostlyLucid
+1  A: 

No matter what the layout (individual offices, cubes, bullpen):

  • plenty of sound-absorbing material is a must.
  • natural light
  • sufficiently adjustable office furniture (doesn't have to be the really high-end stuff)
  • big monitors
mmagin
+1  A: 

Many good answers already posted. Already have many of the items already listed. For me personally the next thing needed is a book case. Too many books for the sagging hutch above my desk.

A bit old school I guess as the Web has many quick answers in electronic form. But there is some good stuff under copyright that I find useful for explaining the whys of development process to my coworkers (or myself again).

Lee
+1  A: 

Instead of two monitors I would suggest one huge monitor. At the moment I have a 24" monitor for about EUR 400. I like it a lot.

Peter Stuifzand
+2  A: 

"Open" Internet access.

"Fast" Internet access.

Currently we have content filtering on our internet connection, when trying to search an error or do research on some functionality I am not familiar with, the content filter literally takes a huge amount of productivity out of me. To get around this, I just simply setup a VPN to my house, but this isn't a healthy workaround for your developers. We use the web, we use it a lot, so let us.

Tom Anderson
A: 

I think temperature control would be nice for a developer. In my office there is a part of it that has a lot of machines, servers and test equipment running. So, they need the AC low to keep the area at a decent temperature. However, this makes the rest of the floor hover around 64 degrees. Then they just turn off the vents to our area and the temp goes up into the 80s.

We are currently in a temporary situation, hopefully the new building will have AC control partitioned to each area of the building as an uncomfortable temperature can be very distracting.

Fostah
A: 

Lava lamps indicating the build state of your sourcecontrol repository/Integration Server.

Green/Blue everything is ok. Orange/yellow warning tests failed, build took stangely long Red Build failed Nobody leaves office till at least orange

Janusz
A: 
  • A shower.
  • Somewhere to lock a Bicyble or Motorbike safely
UpTheCreek
A: 
  • Good air to breathe/ventilation & heating & cooling all adjustable
  • no new carpet odors/other chemical insults
  • no strong colognes/perfumes policy
  • ultra-casual dress code (e.g. jeans + t-shirt OK)
  • Quiet, one programmer per office, so phone conversations are not concentration-breakers for self or others
  • team development can make use of chat, with a separate lounge for face-to-face discussions
  • ergonomic chair and wrist rests, no sharp egdes on desk near keyboard
  • adjustable lighting, adjustable window shades, non-halogen adjustable brightness desk lamp
  • small kitchen nearby with running water and microwave oven
  • window with grass and trees outside
  • large monitor, small printer
  • vending machine with reasonable mix of healthy/deadly snacks
  • non-static carpeting
Tim