Take the 2-minute tour ×

From the perspective of a developer what do you consider to be the most important environmental factors or work place perks/policies that contribute to increase productivity?

For example, my top four includes the following:

No internet restrictions - Because honestly ever few hours I need a 15 min deload, which usually involves checking my gmail account and or browsing a few choice site.

Personal office with a door - for obvious reasons

Dual monitors - do people really develop software with one monitor still?

Flexible hours - This could be interpreted in different ways, but basically I really appreciate that fact that I can roll into work at 7am, 11am or whenever and the time police aren't on my back. It is just understood that I will put in my 8 hours or more if needed and get my job done however that works out.

share|improve this question
"Dual monitors - do people really develop software with one monitor still?" Yes, because I have a big screen, don't need a second one: either you center them and end up with the borders right in the middle of your field of view, either you put it on the side and have to turn your head. I dislike both cases so I'm glad I switched back to one giant screen instead :) –  wildpeaks Dec 29 '10 at 14:00
To solve the "border in the field of view" get 3 widescreens. One for your primary work, and two for all the other crap you need to see. (email, db, web, files, etc) –  CaffGeek Dec 29 '10 at 16:17
add comment

closed as not constructive by Mark Trapp Dec 16 '11 at 1:51


11 Answers

  • Silence is the most important. Personal office with a door would be ideal, and that's exactly because people need to communicate. Say that you have two-person rooms. Now what happens when a third person comes in to talk with your roommate? Your focus breaks down. Period. Most people actually do realize this, so they start getting shy, and communication goes down because people want to respect their colleagues. Eventually there will be some kind of balance between bad communication and bad productivity! It doesn't need to be that way, of course. Give people personal offices, and the problem of disturbing more than one people when actually communicating with just one goes away.
  • Internet, of course. Any restriction is a personal insult at me. I won't work with such corporations.
  • Dual monitors? Tried, didn't like. Yes, I really develop software with one monitor still. Somehow I'm able to focus better when the physical screen area to focus on is small enough. If there are screens all around me, then it feels like an "agile cubicle", just noise pretending to be productivity.
  • Decent computer. Time spent waiting for your computer to do something == pure waste.
  • Flexible hours or working from home when needed, but actually I've found it best to just go to work from 9-5 or so. It creates a nice rhythm and a (physical) separation between work and non-work, to avoid getting too immersed in work. As John Cleese puts it: boundaries of space, boundaries of time.
  • Not too many, too long meetings. Sometimes they're necessary of course, but somehow they usually tend to end up being too long, boring, waste. I would say a half-hour meeting once a week is enough.
share|improve this answer
On dual monitors - I used to like this with 19inch 1280x1024 monitors. With 22inch 1080p, though, I tend to not to use the whole screen area anyway. I didn't use the whole area of the two monitors either, but its hard to connect one-and-a-half monitors to a PC. Possibly relevant - two separate smaller monitors may be a bit more practical than one larger monitor, as the smaller monitors may be at an angle to each other. Different positions on a large monitor are at different angles/distances relative to your eyes. –  Steve314 Dec 29 '10 at 10:47
I like my quad monitor setup - gives me a much larger desktop to work with. –  Dave Jan 21 '11 at 22:29
add comment


...and what they do to their space that bleeds into yours.

  • Music
  • Random Windows *ding*s
  • Wanting to chat all the time
  • Your office not having a door
share|improve this answer
add comment

I can work in nearly any environment as long as someone is not requesting my immediate attention. Nothing else really matters besides being able to concentrate on what I'm doing without being pulled away from it every 5 minutes.

share|improve this answer
add comment

From the perspective of a developer: feeling like working at home in a cozy place... actually, I really advocate the whole working at home thing since it works quite well, if not better to-the-bazillion.

There can always be ad hoc meetings when necessary, as a business you avoid rent, as an employee transport, and if you need to meet a client you can always offer to go to his offices instead, or actually afford to take him/her to a nice place.

Working at home gives you by default: no internet restrictions, personal office with a door (unless you live under a bridge) and flexible hours. Dual or triple monitors can be encouraged, but other way, they are a must IMHO.

share|improve this answer
add comment

Co-workers, but not for the distractions they create but the motivation they provide.

Working with motivated, knowledgeable, interesting people is a bigger boost for productivity than anything else. Conversely working with unmotivated, boring people will kill productivity more than anything else.

share|improve this answer
+1: Conversely working with unmotivated, boring people will kill productivity more than anything else. - Very true. –  Jim G. Jan 22 '11 at 0:37
add comment

I would go for Sun Light, Fresh Air, Strong Computer and Cooperative team members. The "Personal office with a door" kind of contradicts the Agile "war room" approach which proved to be useful. I am not voting for each, just pointing the issue.

share|improve this answer
add comment

Very subjective:

  • internet - I would say 20% of my solutions come from web. If some one limit speed down to 1Mb/s I wont suffer. So some restrictions are fine.
  • quite working conditions
    • GOOD headphones could help, but not to everyone, and not for long period of time
    • Personal office with a door - depends on development process. Now it will just slow down development. But again, if there will be 2-3 times more disturbance from co-workers, doors will be valuable.
  • dual monitors (main at least 1680x1050)
  • second computer (or virtual server), that you could play with, and easily rever to some working state
  • flexible working hours, e.g. in current work I should be in office 10-16, and remaining hours could do earlier or later, or even other day. I don't need any more flexibility than that
  • good lunch place in 10 min walk (preferably without need to go outside of building)
    • micro-kitchen in office is also good to survive when I decided to stay longer in evening
share|improve this answer
add comment

There isn't a "right" answer. There are two types of people. Those that can work in noise, and still focus, and those that can't.

Personally I always need noise when I'm working. Today there is hardly anybody here, and the silence is distracting me. The guy who sits beside me loves it.

There are times I need to tune out and get in a zone, in which I put in my earbuds and code. Other times, I'm talking with coworkers to solve a problem at someones desk. It works for some, being in an open plan office. But others like their solitude.

There is no perfect solution. In any event, keep teams close to one another so their conversations don't affect other teams as much. Whether in offices or an open plan. We move seats frequently where I work. On average, it seems you keep a seat for a year...then you'll be moving. Either because you're on a new team, and need to sit with them. Or the team next to you grew, and need your seat and people get shuffled to keep groups together. On top of that, if teams have overlap, they should be seated beside one another, with the "overlappers" in the middle.

The biggest flaw I think we have, is that some of our PMs actually have their own office. They fall out of touch with what is going on, because they aren't in the middle of it all day. They only are kept in the loop by email or if we explicitly mention something. But some problems are found and solved without email and/or meetings simply because they people needed to solve it already sit beside each other. They can just get the work done.

While it does reduce my productivity being interrupted, if not getting an answer prevents you from continuing your work, as a team, productivity gains by you interrupting me.

We work as a team, individual productivity comes second to team productivity. And the only way a team can be highly productive, is if they are highly communicative. Which means, walls, offices, etc are a hindrance. IMHO.

Addendum: In an office I would struggle with a problem, because calling someone to the office is a bother and a HUGE distraction when they must leave their desk. In the open, I can ask the three people sitting near me, and 9 times out of 10, one of them will have the solution. That's many hours saved over the course of a week. And huge gains in productivity.

share|improve this answer
add comment

Smart co-workers and flexible hours. Appreciating an individual working style rather than free beer.

share|improve this answer
add comment

Ergo-dynamic chair that makes me physically feel fine by sitting for extended periods of time.

At least two monitors.

share|improve this answer
add comment

A really, really awesome chair.

share|improve this answer
How is this different from programmers.stackexchange.com/questions/31587/… –  ChrisF Jan 21 '11 at 23:52
It is different because the answer you point to includes "two monitors", something I strongly disagree with. I would have voted up that answer and refrained from posting my own if it didn't include that line about the monitors. –  CesarGon Jan 22 '11 at 11:52
add comment
