Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been tasked with creating a fun and relaxing environment, one thing I know that I want is ergonomic mice and keyboards, others have suggested exercise balls and bands.

What is it that every programmer needs while working? What might not be necessary but would be nice to have anyway?

Note: this question was asked previously, but has been recommended to be posted here. See this link for the previous responses:


locked by Yannis Mar 13 '12 at 20:41

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

Wow what company is that, treat there employees so well! :) Wish I am able to join such a company too! – Jiew Meng Oct 13 '10 at 8:04
Why don't you ask your developers what they want? – Thomas Stock Oct 13 '10 at 11:54
Conjugal visits – Greg Nov 4 '10 at 0:29
Nice salary!!!! – Amir Rezaei Nov 18 '10 at 10:50
Something that may not have been mentioned - good temperature/humidity/air quality control and nice bathrooms. I, for instance, get more hungry while working during hot summers than cold winters, because the temperature inside is negatively correlated to that of outside. Ideally the correlation should be slightly positive, but still be close to zero. – Job Dec 12 '10 at 15:49

90 Answers 90

Many people have mentioned a quite or silent workplace which is often not only impossible but is actually almost as bad as a noisy one. I can't stand utter silence, it's creepy, so here is my inexpensive suggestion:

A white/pink noise generator

Like a clock that has a white/pink noise generator in it. A lot of them have additional sounds but the beaches have annoying bird noises and rivers make me have to pee so the best ones are the sound modes that simulate rain. My favorite is rain on a tin roof.


Stimulating, not intrusive music.

This is my work playlist

  1. Dual Monitors (I got that, yay me.)
  2. Access to newsgroups (me no have it:/)
  3. Free coffee (I got that, too, yay me.)
  4. Blackboard.
  5. One or more bookshelves.
  6. Laptop.
  7. In-house training on software engineering processes, tools, etc.
  8. Ability to create your own "helper" tools (if they help you get the job done) in any language of your linking (which is different from using any language outside the official ones for developing the main products you are getting paid for.)
  9. Part-time student assistance.

Memory upgrade

because sometimes the model I'm building in my head just won't fit.


Fast (i.e. 10000+rpm) disks!

Nothing frustrates me more than waiting for I/O, where I find my computer can't keep up with my thinking.

Or a good SSD (I'd prefer the SSD). – Bobby Oct 18 '10 at 22:30

For me a gym. I'm a physical guy and I know a lot of programmers are not, but I need to go and work out or i'm just not as productive. It doesn't have to be much but a place where you can do pull ups or sit ups a chin up bar and a punching bag. however I would do this after you have 2 monitors and a place where ideas are debated but those have already been mentioned.


A Water Cooler

I don't have one and I bring two water bottles with me every day.

Many other answers have covered things like dual monitors and recreation areas (music and the like).

  • Lighting that doesn't make you feel like your on a supermarket floor.
  • Some nice big green plants
  • High performance pcs, Dual 22" LCD screens
  • A developer wiki
  • Sectional dividers so everyone can have their little privacy and not look at each other all day. Avoid cubicles though... there still has to be an interaction environment.
  • Ample workspace
  • Game room witha pool table/Ping Pong table, nice tv, PS3/XBox/Wii with some multiplayer games.
  • A nice kitchen
  • Balanced snack/drink machine that caters to healthy and non healthy eaters.
  • Nice outside area that is cool in summer where people can sit and relax and eat.

The work is the most important aspect. You can have all these things but still feel like your stuck in a terrible job. Work ahs to feel like fun, and the fun stuff has to be a bonus.

food food food ! – Ayush Goyal Oct 25 '10 at 18:12
  • A fast Computer

  • A good internet connection( can't see that loading sign for too long )

  • Liberty to wear what I want ( ofcourse in a limit )

That much would be sufficient :)


In decreasing order of importance.


The possibility to work from home!


A working brain is what you need the most.

Everything else depends upon it


Caffeine and a lot of patience...


As much screen space as possible and big desks with space to put post it notes somewhere.


• Surroundings that harmonize with him/her. This includes what has been mentioned before. Next to nothing cuts down productivity as bad as feeling like you're a rare type of lizard in a terrarium. If you feel at home, you get going ;)

• All the Software required plus some stuff to take away the hassle:

  • Current IDE and Equipment

  • Bug Tracker

  • Wiki

• Project leads that know their job : Have the developers develop, the help-deskers support. Period.


Color laser printer (can be shared, but should be no more than 20' or so from one's desk).


Right to use his own methods and allowed to do new experiment rather then using same old methods and sticking to the old rules. and of-course Light instrumental Music


A Model M keyboard.

I hate those loud and noisy keyboards. I prefer modern, flat and close to noiseless keyboards, because I can't stand anymore to hear that noise for more then 8 hours a day. – Bobby Oct 18 '10 at 22:33

Personally, I always have Sopranos episodes running in the background or on the screen beside me, its always great when you hit a road block to just tune in for a few minutes to clear your head with some Paulie Walnuts!


Some flexibility in hours

Not everyone is most productive at the same time of day


Well from my experience so far I think the following things are absolutely vital:

  • Powerful development machine
  • Dual monitors (at least 22" or 24")
  • Decent chair
  • Unfiltered internet (I don't know how many useful sites I've seen blocked by WebSense)
  • The ability to decorate/furnish your workspace (it's amazing how much this can help you be comfortable/at east)
  • Good support servers for version control, wiki, backup, testing with other applications if your solution stack includes several, etc.

A Hardware clock

  • Ability to choose own rig/chair
  • Ability to choose own software, withing reason IDE etc
  • Plenty of Tea/Coffee and Water (very important)
  • No stupid internet policies (no streaming etc)
  • Time to work on own projects

May be someone has already said it, but there should be a fortress of solitude and if that is not feasible atleast a corner of solitude.


No telephones. Ok, a compromise: have a room set aside for phone calls.


Colorful Post-It notes. Simple, versatile, and inexpensive. I use them for everything. To do, ideas, grouping, brainstorming, learning, etc.


An outdoor terrace with comfortable chairs, power outlets and a wifi access.


A rubik's cube



BTW, dual monitors are overrated.

Cocaine? Cool!! – Thomas Eding Mar 10 '11 at 18:23

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