Why We (Still) Believe in Private Offices

Article hero image

There was a time where it seemed like we barely even needed to talk about this: Joel had won the argument, the Internet agreed that private offices were the future, and only incompetent management (or a tight budget) was still putting developers in cubicle farms. A glorious future lay before us.

The original Fog Creek Bionic Office, way back in ye olde 2003. We didn't have iPhones, but at least the offices had doors. Unfortunately, that’s not quite how it turned out. Open plans have been surprisingly hard to kill, despite research showing that they’re unpopular, decrease employee satisfaction, and hurt productivity. The response so far seems to have been to double down and make it, if anything, worse: cubicles are now decidedly un-cool so no-wall open offices are all the rage, and Facebook brags that its new building will be the largest open floor plan in the world, consisting of a single, ten acre open room. The result is that today Stack Exchange is decidedly lonely if not quite alone in offering private offices to our developers (at least the half who work in the office; the other half work remotely). Suddenly we’re the ones who look a bit old-fashioned: isn’t that the old-school Microsoft approach? Doesn’t it make us less creative? How can we stay fast and agile if people keep disappearing into offices to do work? We’re pretty sure it doesn’t do any of these things, and in fact we believe it has a lot to do with how we think about work and our developers.

Find your own rhythm

Joel’s management philosophy is deceptively simple: hire smart people who get things done, and get the hell out of their way. The role of management is to give the people who actually do the work -- the developers, designers, sysadmins, etc. -- all the tools they need to get their jobs done, and then trust them to do the job! This means we give you the space and expect you to find your own rhythm of work. With a private office, you’re in control of your space and attention: you can choose when to close the door and avoid interruptions, and when to go play ping-pong, talk with coworkers or work out of the coffee bar. In an open office you’re at the mercy of the people around you: if they’re talking, the best you can do is crank up your headphones and hope to drown them out, and if they’re playing foosball then good luck. Everybody has their own rhythm. People come in at different times, take breaks at different times, need to socialize at different times, and have their most productive hours at different times. Management’s job is to accommodate that and create a space where all those conflicting needs don’t congeal into a persistent hum of distraction -- not to enforce some top-down ideal of openness and creativity. Private offices put the people who do the actual work in control.

Motorized standing/sitting desks come standard, including for remote employees.

Keep the nexus of activity online

We are an online company: we’ve been remote from day one and still to this day over half of the team (aside from sales) works from home. The only way to make that work is to keep the nexus of activity online: in chat rooms, Google Hangouts, Trello boards, etc. This keeps everyone on equal footing, whether you’re in the office or working from home. Want to know what’s going on? Just check Trello and chat. Don’t go hang out around the watercooler. This creates a magnificent culture of non-distraction. Whenever we get a new hire in the office, I make it a point to sit down with them in their first week and explain that they should not go to someone’s office when they have a question. Instead, ping them in chat and then jump on a hangout. The result is exactly the sort of culture that open offices are supposed to promote but better:

  • If someone else sees the message, they can chime in with the answer
  • If someone else is interested in the discussion, they can jump onto the hangout
  • And, crucially, if someone is working heads-down and doesn’t want to be distracted, all they have to do is close the chat window.

This really is the best of both worlds, and one of the reasons that I’m a big advocate of remote work culture even if nobody works remote. And a big part of what makes it possible if you’re working out of an office is having a door you can close so you’re not distracting your coworkers.

Glass walls let in tons of natural light. It's not as creepy as you think.

Schedule time for cross-pollination

The result is that we get a lot of work done and individuals are fantastically productive. The only thing missing is to make sure that we’re facilitating those cross-team connections that open offices pretend to get you for free. We solve that in a few simple ways: daily lunch together in the office, weekly “Beer Bashes”, and an annual company meetup. Joel has written a lot about the benefits of eating lunch together and we’re still big believers in it. Some people get a little weirded out by this so I’ll clarify: lunch together is not required, but anyone who skipped it completely would be missing out on some great food. At Stack Exchange HQ in New York we’re lucky enough to have a full kitchen and our own professional chefs and the results are pretty amazing. Eating lunch together every day is a great way to connect with coworkers you wouldn’t otherwise have talked to, though it doesn't quite tie in the remote employees which is what makes the other approaches so important. Friday “Beer Bashes” have long been another in-office tradition: grab a tasty beverage (alcoholic or not, nobody really cares) and hang out with some of your esteemed colleagues on Friday afternoon before taking off for the weekend. Recently we’ve been experimenting with Remote Beer Bashes via Google Hangouts, with some pretty fantastic results. Now even the remote people can join in and have some fun, even if it’s closer to midnight or freakishly early in their time zones. Finally we have an annual engineering + community team meetup. We could write a whole post on this, but one of the points we make every year is that the primary goal of the meetup is to meet people and hang out -- any work done is merely a side benefit. This last year we had a pretty great mix of presentations, meetings, and a strange obsession with hangman (oh, and an impromptu war room when we were hit with a novel DDoS attack). The whole thing was a huge success (even the war room) and really got a lot of different teams talking to each other and solving problems together.

Lunch served every day at Stack Exchange.

That’s how we work

Now, of course, the caveat: this is what works for us, and we understand it’s not for everyone. Maybe some places really are more creative because they have open plans. We don’t actually even give everyone private offices: some people are doubled up in offices, and the sales and marketing teams sit in larger open spaces because they feel that's an important part of how they work. But it’s continually astonishing to me that more companies aren’t talking about private offices for developers, and that open plans have become the expected norm in the industry. At the very least we should be considering all the benefits that private offices provide. Oh, and did I mention we’re hiring? If this sounds like the kind of place you’d like to work -- whether out of the office or from home -- we’re hiring for a lot of positions in 2015 across all three offices and remote. In closing, I’ll leave you with a few choice pictures of our office. If you'd like to explore more, check out the Google street view tour of the NYC office. We also have sales offices in Denver and London which you can check out.

Serious work being done.

Obligatory ping-pong table.

Meeting space and cluster of offices. Would also qualify for Random Cups at Stack Exchange

Can't beat that view. Oh, and if you're worried about our remote developers, we make sure to set them up with some pretty sweet equipment too:

A remote developer's home setup.

Obviously a designer. And yes, he has a sketch of himself on his wall.

Obviously less of a designer. But look at all dem monitors!

Login with your stackoverflow.com account to take part in the discussion.