33

So I know everyone here is all about private offices, how many developers actually have them. I am sort of half skeptical. I can believe that lead developers have them, but that's normally just one person in your average office.

That makes me wonder, how many developers have private offices. Which leads to the actual question: why should they have them?

gnat
  • 21,442
  • 29
  • 112
  • 288
Morgan Herlocker
  • 12,722
  • 8
  • 47
  • 78
  • 5
    my assumption is private offices are rare. And right now, I work in a cube farm pushing 250+ IT folk (hardware/software). – Tony Sep 29 '10 at 11:46
  • 5
    In nearly a decade and a half, for 10+ companies and lord knows how many different desks. Number of private offices = 0. Time wasted as a result of distraction > time saved as a result of hearing what's going on and reacting to it. – adolf garlic Sep 29 '10 at 14:16
  • 5
    Lets not forget that having a private office (which I do) and having the door to said office respected (not unless the door is closed, locked, and a snarky poster covering the doorknob) are two different things. ;) – AnonJr Sep 30 '10 at 14:24
  • 1
    [related discussion at meta](http://meta.programmers.stackexchange.com/q/7437/31260) – gnat Jun 23 '15 at 14:09

2 Answers2

77

In the management world, where concentration on a task is not an issue, offices are a means to represent status. They think "private office == more status, big private office == even more status, etc."

What most people fail to understand: Every time our concentration is broken, we create at least one bug and/or delay the deadline for another half-hour. Private offices is not a "nice to have" for developers but a must. This is not about status, this is about brain physics.

Working in an open space costs at least 30% productivity (I read that in a newspaper, start with this blog post if you want to know more). Worst part: This goes unnoticed. If you always work in such an environment, you'll never notice that it happens! Until you wonder why your neck is stiff, you feel tense/nervous all the time, etc.

If you want another productivity increase, take the telephones away, too. Unless you're doing production support, the next day is always soon enough.

To relax the team, supply free soft drinks. That costs $100-300/month for a team of 10 and makes sure they take regular breaks, drink enough (so they don't dehydrate).

The funny thing is: These aren't a bunch of myths but hard facts. Still, most companies ignore these simple, cheap ways to boost productivity. Well, except for the successful ones, of course (Google, Microsoft, etc).

See also:

Aaron Digulla
  • 2,865
  • 21
  • 22
  • http://programmers.stackexchange.com/questions/4888/dealing-with-interruptions-working-in-solitary-confinement – Incognito Sep 29 '10 at 14:45
  • 22
    free soft drinks = hydration? Maybe water, dunno about soft drinks... – Jé Queue Oct 04 '10 at 17:50
  • @Xepoch: The topic of drinking is worth a blog post of it's own. I usually drink juices mixed with water (20-50% juice depending on my daily form). – Aaron Digulla Oct 06 '10 at 07:23
  • 1
    Our current open space has high ceilings with two floors, and there are regular Nerf gun fights throughout the day. – Uri Feb 21 '11 at 01:08
  • 12
    This answer deserves some analogy. A programmer not having their own office is about as effective as a teacher sharing a classroom with other teachers(at the same time). – Earlz Feb 21 '11 at 03:51
  • 1
    @Xepoch No free soft drinks means the devs don't take the 30 min store run twice a day, and saves the 15 min setup for the store run as well. – Erin Feb 21 '11 at 04:59
  • 2
    @Erin - I get the point of providing food, penny wise but dollar foolish to not, but the point being should we programmers really be "hydrating" ourselves with soda? I think we can all agree the programmer diet could use alternative incentives. – Jé Queue Feb 22 '11 at 01:35
  • @Earlz, lots of elementary school teachers do this every day. It can be very effective because you have someone to take smaller groups who are more advanced and someone to deal with the slower students at the same time rather than forcing the smarter kids to work at the slower kids pace. – HLGEM Feb 22 '11 at 15:06
  • @HLG do they both teach at the same time, with no barriers? I would imagine this to be massively distracting to the children. (and yes, in this case, programmers are sorta of the children) – Earlz Feb 23 '11 at 02:14
  • @Earlz, happens in the open floor plan schools built in the 1960s. Basically the classroom is huge and different groups work in differnt areas of it and move around through the day to different groups. My sister-in_law used to teach in a school like this. – HLGEM Feb 23 '11 at 16:27
  • Status? I always thought managers had private offices so they could yell at people. – NeedTungsten Feb 27 '11 at 04:39
  • 7
    -1 soft drinks don't make sure you hydrate. If anything they have the adverse effect. in programming soft drinks is just a sterotype and band wagon that people jump on to look cool. if hydration is a concern get a water cooler or supply water bottles – dreza Jul 06 '12 at 10:41
  • 1
    Soda is horrible for your teeth, gums, and waistline. It does not hydrate you! – sourcenouveau Jul 06 '12 at 11:41
  • 1
    @dreza: No one ever died from drinking soft drinks, so that can't be true. They don't dehydrate you, they just make sure your thirst doesn't go away (so you will drink too much). But it's always better to drink them than not drinking anything at all. Water or fruit juices (especially when mixed with water) would be better but most people can't be bothered so soft drinks are the next best thing. – Aaron Digulla Jul 06 '12 at 11:44
  • @AaronDigulla everyone in the USA is slowing dying from soft drinks filled with HFCS here ( and around the world ). [Sugar is toxic](http://www.dailymail.co.uk/news/article-2124212/Is-sugar-actually-poisonous-Researchers-say-sweet-stuff-fatal-health.html) and if you want to drive up your companies healthcare costs and have employees on more sick days, then by all means encourage them to drink as much sugar water as possible!. –  Jul 06 '12 at 15:45
  • @Earlz actually Montessori classes do just that, they share a large classroom with multiple teachers. This encourages the older students to naturally help the younger, learning valuable social skills while allowing the teachers to help the more advanced students ( regardless of age ) advance even more. This sets up a feedback loop students help teachers help students, where all the children benefit! It is a proven system and works! –  Jul 06 '12 at 15:48
  • 3
    @Jarrod: Anything is toxic, even water (https://en.wikipedia.org/wiki/Water_intoxication). But not drinking any will kill you much faster. Creating panic and/or turning off your brain doesn't make life safer or longer. – Aaron Digulla Jul 09 '12 at 07:42
  • @JarrodRoberson: Re Montessori: This great for developing social skill but it breaks down for tests since the constant background noise interferes with concentration - much the same as cubicle farms. – Aaron Digulla Jul 09 '12 at 07:44
  • 2
    @AaronDigulla I have been successfully managing software development teams for more than 20 years, bullpen style environments are the most productive for team work and collaboration. I have a 7 year old in public school, they have 28 kids in a single large class room with desks, this is the reality today. He is reading at a 5th grade level and doing 4th grade math, and tests on these accelerated things at 90% - 100% comprehension. The *I need a quiet office to be productive* complaint is just that a complaint. Teams do better when they collaborate, thus the success of XP and similar ideas. –  Jul 09 '12 at 15:26
  • 7
    @JarrodRoberson: Unfortunately, humans are unable to assess their own mental states reliably. When you measure stress levels and efficiency, you find that background noise reduces efficiency by 30%. When I tackle a complicated problem, I really don't want to collaborate, I want to **concentrate** and I can't do that when the a****** on the next table discuss some b******. – Aaron Digulla Jul 10 '12 at 07:58
  • 2
    Using Google as an example of a company that "gets it" is a bit off here: everyone shares an office at Google. Even Sergey and Larry. – Fixee Jun 13 '14 at 20:12
  • @Fixee: That's the default but they have lots of secluded places where you can retire to focus. – Aaron Digulla Jun 18 '14 at 07:29
  • 2
    @JarrodRoberson 50 years of quantitative research into programmer productivity disagrees with you. Your comment totally misses the mark and reveals a very typically bad manager attitude towards the realities. In the 20 years you've managed people you seem to only look at what you did accomplish, instead of realizing that you accomplished far less than you could have by giving your workers the basic tools needed to be productive. Being "productive enough" isn't the same thing as being productive, and a good manager understands the importance of the difference. Please, read Peopleware. –  Oct 03 '14 at 13:00
  • 2
    @EMS - for cowboy programmers you might be right, and for siloed task oriented worker bee programers you might be right as well, but when I have a team of people in a single room, everyone is communicating about the EXACT same task at hand and helping each other out it is a **force multiplier**. I have built software for 30+ years, and my experience tells me communication is more powerful than silence. Silent programmers working on a team are wasting time solving problems that others might have already solved or letting others know not to try they are doing it.My teams deliver amazing results! –  Oct 03 '14 at 15:51
  • Also every child I know ( 2 are mine ) when you visit them at Montessori class, the entire room is quiet, all the kids are working with each other and the teachers quietly. My oldest son scores in the 99% on standardized tests when he went into 1st grade, still does in the 4th. Every kid that graduated w/his Montessori class went on to public school were 1 - 2 grade levels ahead of the rest of the class in Reading, Math and Behavior. My son was reading at 3rd grade level in the 1st grade. So this model does work, at work as well. Disciplined Respectful people != chaos, they are > sum of parts. –  Oct 03 '14 at 16:00
  • 10
    You seem to conflate open offices with communication, when every study done on the matter has hands down demonstrated that communication is *better* when programmers have private offices. Putting them in cubicles actually hurts communication, due to noise overhead, and the interruption-knocking-them-out-of-the-zone problem. People tend to have more superficial interactions in open settings as well, to speed up and quickly get through the mindless "over communicating". There are even plenty of studies about the productivity lost to higher rates of communicable illnesses in open offices. –  Oct 03 '14 at 16:53
  • To put it another way, I love collaborating and having a lot of open, clear, useful communication. That's why private offices are better than open floor plans. –  Oct 03 '14 at 16:54
  • 3
    @JarrodRoberson: Give every kid a phone and make sure that at any time, at least 25% of them are having calls with someone (like you'd have in a real office) and see what that does for productivity. Just because you have a few anecdotal stories where open office works doesn't mean you intuition is right. Scientific research (i.e. repeatable, large+unbiased set of individuals, repeated several times, errors margins are available and results are within these) suggests that open space is bad for concentration. – Aaron Digulla Oct 06 '14 at 07:16
  • Where is the claim "Every time our concentration is broken, we create at least one bug and/or delay the deadline for another half-hour" based on? – jao Feb 03 '16 at 10:18
  • @jao I've added links to studies and related questions. – Aaron Digulla Feb 08 '16 at 15:16
  • @ely Please could you point me in the direction of those studies? – Bugs May 07 '19 at 13:34
14

The Master said: “A gentleman is easy to serve, and hard to please. Nought but what is right pleases him: he fits his behests to the man. The vulgar are hard to serve, and easy to please. What is wrong may yet please them: but of their men they expect all things.”

When I had a private office, I disliked my job for other reasons (I was actually happy with compensation, and was treated very well. The lack of smart co-workers bothered me, amongst a few other things). Now I do not even have a cube, but I am happy and productive (I bought myself excellent noise-cancelling headphones for only $150, which is cheaper than paying a union-backed worker to change one light-bulb in a union-controlled building).

Instead of having luxury at work, I would rather take more $ home. Keeping my programming tools sharp is good for my salary, but I understand that a job is a job and dirty/dull work is not always avoidable.

More development managers should wear programmer's shoes, but also more programmers should have a better business sense - for instance think about how much $ just went into project X, and in the hindsight decide whether they should have bought someone else's tool instead. Just an example, and I can find many more.

Many talented developers live in a business bubble where they want to work on fun projects all year long. Street-smart developers also understand that money makes the world go round, and good customer base=everything, and sales, support, & other folks at the company matter plenty.

So, a street-smart developer will over time move to a pasture that is as green as possible, start her/his own business perhaps. An idealistic developer will ask questions on forums about how life should work, and/or will write a blog entry about how managers suck, and programmers rock, and the world is no fair to us, poor programmers.

And in the long run we are all dead, so make sure to spend your weekends wisely, such as getting drunk, having lots of sex, hiking, hitting the beach, and do not forget about ping-pong. Your list may vary. After a nice weekend work-out, your euphoria may last till Wednesday, at which point you have only 3 days of suffering without a private office left.

EDIT: When scrumming, having no walls and being able to group the new team geographically is a big plus.

Job
  • 6,459
  • 3
  • 32
  • 54
  • 2
    Sorry but I disagree with your definition of an idealistic developper. I don't know how exactly I would define it but your description sound far from being idealistic. Also, you don't seem as much happy as you say you are in your new job ("3 days of suffering"). Personnaly I share an office with 2 other guy and I think it's a nice compromise between privacy and saving money. – n1ckp Oct 04 '10 at 22:07
  • 1
    Amen and Amen! This has been my exact philosophy with regard to my career for the past 6 years, and thus, I've managed to get the kind of work & money I wanted, with the freedom to move on if things don't work out. – jonathanconway Feb 07 '11 at 06:15
  • The most pragmatic answer – Ubermensch Jul 06 '12 at 10:40
  • plenty of businesses *do not want* devs to think about business considerations. – Randy L Jul 20 '15 at 17:15