Sun does this, too. Out of the six places I've worked for, half provided individual offices for developers with few exceptions (recent college grads often shared). So, it's not wildly uncommon.

James Montebello
Wednesday, January 30, 2002

I have heard about MS, but it's not important enough for them to mention on their web page. Do they provide offices to all developers, or just some?

Perhaps there is some variation between different areas of the country (USA - sorry, I know some readers are non-US). I live in Maryland.

What about noise level at these places?

Gary Chatters
Wednesday, January 30, 2002

This is an especially important thread for me because I'm working right now to find the "perfect space" for our 5-person company. We’ll grow to 10 before the end of the year, so it’s a guessing game. I want to treat our developers like gold, and be that company that provides the ideal office. The suggestions you have above are noted; are there no arguments for the shared working environment?

Jake
Wednesday, January 30, 2002

Oh, there are arguments, mostly from management types who are interested in saving pennies, not in providing a good SW development environment.

McCue figured it out 25 years ago in the Santa Teresa report. Developers need substantial amounts of time working alone and similar amounts of time working in groups. The argument for shared work space is that it encourages interaction. It does, but it may not be useful interaction and it prevents the private time that is also needed.

Gary Chatters
Wednesday, January 30, 2002

that's an interesting thought.

Does that mean you can do creative things with shared individual workspaces/open group rooms? Or is the sense of "ownership" as important with programmers as it is with, for example, me?

Jake
Thursday, January 31, 2002

i'm a developer. i have 3 places i work on a regular basis, 1 of those being my home office (actually a shared cubicle). my home cubicle is not bad, but it leaves much to be desired. it can be noisy, it has very low walls (if i sit up straight i can see over them), it's not private (one person wrote on his white board, "if you can read this i have no privacy"), and i can't control the lighting. but it's home.

i am currently at a client site. here i work in an office that's divided up into 3 areas, with ceiling-to-floor partitions. that part's nice, but i am continually interrupted and it's very noisy. i don't like it.

the third place i work is my office away from home (we acquired another company, and i do work up there a lot). it's an actual office with a door that closes. i absolutely love it. i get more work done there than any other environment. there's a room upstairs called the war room where we can get together and collaborate on whatever we need, and then we can go back to our offices. if i'm in the zone, i shut the door. no interruptions. the one downfall - no window. and there's not much airflow with the door shut. so i need to get a fan. but it's awesome.

sorry for the length, but as a developer, i lust after an office with a door that closes and a window that opens.

Nathan
Thursday, January 31, 2002

We have offices for one to three people, depending on the wishes of the individual programmer. I would not want an office for my own, for example. I go crazy when my two colleagues are both gone on the same day because then I have no one to talk to or be silent with. But there are other programmers in our department who really want their privacy and even close the doors on their individual office.

We are located in Germany where it is rather common to have small office rooms instead of big offices divided into cubicles.

Another company I worked for had big team oriented offices for about 5 people and it still was surprisingly quiet most of the time. You could not talk of privacy there, though, and sometimes it was hard to concentrate due to phone calls or comings and goings.

Jutta Jordans
Thursday, January 31, 2002

Jake - it's not the sense of ownership that matters. It's that if you're trying to juggle multiple variables and their position in a nested control structure in your head and anything, *anything* distracts you, you lose that entire mental structure and have to rebuild it.

This can be fairly time-consuming....

Any shared interactions you need your developers to make are probably best concentrated into focused timeslots where everybody can be sure they're not about to destroy twenty minutes of somebody's work by talking to them. Ie, use meetings rather than some kind of brownian motion for communication.

JP
Thursday, January 31, 2002

Even in the most open plan of envitonments people try and create their own caves, bookcases were my favourite, that and a scowl if anyone approached.

Individual offices can be a problem for everyone else, if the door is closed then opening that door takes some doing. In which case people send emails or ping them in some other way which might be even more disruptive.

If someone always needs their own office to be productive, they might as well work from home.

For those setting up an office, ask yourself why you need it. Does the work actually have to take place there?
If its somewhere for the rest of the world to find you then a receptionist and meeting rooms may well be all you need.

Is there something about having people together that makes sense, does it help to improve morale, build teams, create a culture?

If you have an office plan for informal meeting spaces. Sometimes the best meetings happen in the hall.

Simon Lucy
Thursday, January 31, 2002

"If you have an office plan for informal meeting spaces. Sometimes the best meetings happen in the hall."

And sometimes, when you work in open plan offices that's the case as well. Well, it works if you're IN the meeting. If you happen to be the person sat next to the T junction walkway near the coffee machine, your productivity will be bloody close to zero.

I notice this trend in companies. All the developers are sat in a big pit full of ringing phones and chirping machines, aircon running, flourescent lights... because they need peace and quiet to think in.

All the managers are in separate offices round the edge. Or rather they're not. Because they're always in meetings, because their job revolves around talking to people all the time. So actually they're occupying the meeting rooms.

Developers get to have their meetings at their desks , because they can't use the (empty) managers offices, because they're for managers. They can't use meeting rooms because they're full of managers in meetings so they get to disturb the people around them who are trying to think about completely different code.

Pah. They don't DESERVE working software. And funnily enough, they rarely seem to get it.

Katie Lucas
Thursday, January 31, 2002

In theory, Microsoft does office-with-door for each developer. In practice (and most of my experience on campus is in the 1996-1999 timeframe, so this might have changed) things are not that simple. First, every group at Microsoft is always moving to another building, and as a result people are forced to double-up "just until the move". Second, although testers and documentation folks are supposed to be the equivalent of developers (in terms of their importance to the product) they are often doubled-up in offices. Third, contractors are sometimes treated like crap, even when they're contracting for the long term; I've known cases where contractors were working four to an allegedly single-person office. Fourth, there's the occasional skunkworks project that sneaks off-campus into a cubicle farm or bullpen atmosphere.

Still, in theory each developer gets their own office with a door, and even in practice it's probably 80%.

Personally, I think I've got a near-ideal office now. However I realize that having a toddler running around and having to break twice a day to feed the horses and chickens is not for everyone.

Mike Gunderloy
Thursday, January 31, 2002

Jake, you write: "Or is the sense of "ownership" as important with rogrammers as it is with, for example, me? "

Who are you? You give the impression that you think programmers are a lesser class of being than you.

Gary Chatters
Thursday, January 31, 2002

I appreciate the responses, but there has been little mention of actual companies where it is policy to provide good office space. Even one that does, MS, has a lot of limitations.

I have had some good experiences in the past, but even the best evolved from being a technology company where good workspace was part of the entire culture of quality to being a management company where people are interchangable parts and costs are minimized in an effort to maximize short term profits.

Gary Chatters
Thursday, January 31, 2002

I used to work at Microsoft. Every developer had their own office with a door and sometimes a window. Most testers had their own offices with a door and sometimes a window. The only people I knew who had to share an office (with a door) were QA contractors.

Banana Fred
Thursday, January 31, 2002

Oh, goodness Gary. When I talk about "developers," I mean "real developers," not former script-kiddies like myself. I am lucky enough to manage a few great programmers at our little shop, though.

Right now our office consists of three individual offices, three cubes/workstations, and two massive couch-lounge-areas. I guess that's worked pretty well; the only problem is that the developer's workstations are separated from the three offices by a 15-foot hallway. Talk about elitism! I'm a bit of a micromanager, and when the projects come to a close it's too hard to walk down the hall and request little changes (and I hate IM).

This is why I ask (and I admit it's somewhat off-topic) if whether in our new offices we should adopt an open floor-plan or try to build-out offices for everyone.

Jake
Thursday, January 31, 2002

Jake, you write: "This is why I ask (and I admit it's somewhat off-topic) if whether in our new offices we should adopt an open floor-plan or try to build-out offices for everyone."

I work for a small contract software development company. Ideally, we get a requirements document and a contract to develop a piece of software. The contract might take 6 months to 2 years or more and involve 2-8 people. (A lot of projects don't meet this ideal, though).

Through the life of a project, developers are involved in a variety of tasks, only one of which is writing code. Private offices provide the kind of work space needed for those bigs chunks of time when one is writing a design document or writing source code.

But those offices need to be near common areas with meeting spaces, since similarly large chunks of time are involved with meetings and discussions.

There may be some environments where the shared open plan office space is better, but I have never worked in such a situation. Open plan is very popular with management, but neither software quality nor worker satisfaction seems too important to them.

Perhaps you should start a new thread, describing your situation in more detail and asking for input.

Gary Chatters
Thursday, January 31, 2002

IBM - Haifa Research Lab.
Private offices for one or two.

Evgeny Goldin
Thursday, January 31, 2002

What is a "Private offices for one or two."? If there are two people using the office, its not private.

Gary Chatters
Thursday, January 31, 2002

Gary,

Your input has been insightful. Once I'm convinced of our direction (we'll be looking at the available space on Monday), I'll create a thread to get some help. It's somewhat exciting as I'm eager to build out the "ideal" space.

Jake
Thursday, January 31, 2002

Gary wrote:

>Perhaps you should start a new thread, describing your situation in more detail and asking for input.

which is a very sensible request IMO since there sure enough is no perfect "one fits all" solution.

Furthermore I would suggest that you ask your own developers for input, too. Ask them if they want to work with as much privacy as possible or if they rather want to double up or have shared open plan office space. After all, it is them who will have to work there and they will know best, what they will think most comfortable. Keep your programmers happy :-) Happy programmers are good programmers.

Have fun,

Jutta Jordans
Friday, February 1, 2002

When giving everyone a private office isn't feasible, there are still techniques that can be used to enable people to work together comfortably. In particular:

1. Flexible office space. My company just moved to a new office with furniture that can't be moved. Half a dozen of us sit facing the wall with our backs to the room. I'd be 100 times happier here if I could sit with my back to the wall and not have people moving around behind me.

2. Communication. When a group moves into a new space, it's important to talk about what you need from your co-workers to get along. Getting to say things like "don't read over my shoulder", "don't use your speakerphone to listen to your voicemail", "have conference calls in the conference room, not at your desk", or "if your lunch has a strong smell, please don't eat it at your desk" before your co-workers do those things and annoy you can go a long way towards reducing tension.

3. Scheduling. If the office is often very busy, setting up designated quiet hours (no music without headphones, no conference calls at your desk, no meetings on the schedule) can help give people a little peace and quiet.

Beth Linker
Friday, February 1, 2002

Beth, you are correct that even shared office space can be made better by paying attention to these issues. In fact, most of them apply to private offices. There is no particularly good reason for someone to make calls using a speakerphone and disrupting the work in all the offices in a hallway.

I have some disagreement with the implication of your first statement. The implication being that providing private offices might be infeasible. Providing offices isn't rocket science, it's ordinary construction. Making them quiet is a bit more difficult, but still no big deal. The only difficult part is making it part of a company's culture of quality.

Gary Chatters
Friday, February 1, 2002

In a lot of places though office space is just expensive and developers come way down the food chain. Plus you have to see people working otherwise they skive off and exchange porn.

Managers (bad ones) read Dilbert a lot

Simon Lucy
Friday, February 1, 2002

Just FYI, Microsoft India does NOT provide individual offices to its developers in India. Even though Bill loves to talk about the Hyderabad development centre, it's nothing close to what they have in Redmond.

MadMan
Thursday, February 7, 2002

> Microsoft India

Also FYI, I work at a company in Canada that was bought by an American company. They have a development branch in India too. I was told they like this branch in Canada, partly because we're good, but also because our costs are relatively low, even compared with India; in particular, we have cheap rent and office space etc. From that I guess that office space (and telecom infrastructure etc) is relatively expensive in India.

FWIW they've said they also like Canada compared with the U.S., because our immigration policy is relatively loose and so it's easier for us to find and hire skilled immigrants.