2013-09-24

Many software development companies choose to have an open-plan office space and unfortunately I happen to work at one. Now, one thing makes me wonder. Why would any software development company want to use open plan office? It looks nice on pictures and you can throw great parties in it, but how does it affect the most important thing why people gather there in the first place - getting shit done?

Just think about this - if a guy has chosen computer science as his way of life, would he rather be more happy and productive hacking on code in a small, quiet, distraction free room, or in a big open space full of noise and loud conversations? Would the guy enjoy people walking behind his back and constantly pulling him out of his sweet matrix of code by asking work related questions that could be asked in chat or by email?

Funny thing, google for open plan office and see the results on first page. You will find so many negative headlines:

Actually, there was not a single headline saying open plan office is great or anything alike, but for some strange reason those who make critical decisions have different beliefs. Let's dig down to the arguments open-plan office fans may put on the table. Those fans obviously don't write code at work, they are courageous business people who like to face their problems head-on, like James Bond:

Offices with walls are dull, boring and old school - we don't want that in our company

Software development is dull and boring for most people, and it's done best in dull and boring rooms where you don't get distracted by all the fun around you. Quoting Wikipedia - Neither open or closed plan offices are perfect for any one situation or individual. The right balance is required. any office design is likely to involve trade-offs for the workers, with some positives and negatives.

When you force developers to work in open space, you are making a trade-off for their productivity and happiness.

Open plan office is more social

Computer science, software development, coding, math, concentration. Social doesn't belong next to these words. GitHub says it's Social Coding, but it's easy to get the meaning wrong. GitHub is awesome, because you can get social when coding in your calm, quiet room, alone with 4 walls, no sunlight, just computer screens glaring gently in your face. That's the social that gets shit done, not a crowd moving in front of your face while you're trying to concentrate on the code.

Developers are introverts who prefer to socialize in digital form, where it's easy to respond by picking your words carefully, by doing a research on the subject, by choosing a right time to get involved in a conversation. They don't want to be social all day long, but they are forced to, against their will. If you're their boss, they probably won't say it in your face, since it could get them fired for bad attitude, but that's the hard truth. Software developers would have chosen to become salespeople if they wanted to be social.

You cannot hide from work in an open office

If you want to hide from work, you can find numerous ways to look busy with any office plan, and if you have employees who want to hide from work, you have a much bigger problem. Those who want to get work done, will do it anyway, question is, will they be happy doing it in the conditions they're given?

And those who would want to pretend they're working hard would most likely make the loudest noise, so everyone would see how involved they are, right? Talking about work does not get shit done. Talking about work next to those who are trying to do it slows them down. Loud mouths should be banned from open space offices.

It enhances communication among employees

Sure, people communicate around developers all the time. Walk across the office in the usual, noisy moment. Most developers will be wearing their headphones, hiding from communication. Sadly, good headphones are an absolute requirement to get any work done in an open-plan office.

Communication in the middle of the office raises the noise level, which raises stress and blood pressure levels of everyone who is trying to concentrate on getting their work done. You're literally killing your developers.

There may be more arguments, why someone would say open-plan is superior to other options, but none of them would be valid when it comes to delivering results of labor that requires high levels of concentration.

Surviving in open plan office

If you are trapped in such an office, there are ways to survive:

  • Come to work as early as possible. Noise and distractions start around 9-10 AM. If you get to your office as early as 7AM, you could get more work done in 3 hours than in rest of the day.

  • Do work from home. If your company frowns upon remote work, you can still do it without telling anyone, before or after normal office hours, while coming in a little late or getting out a little earlier. Just be in the office at day time, when the noise is the loudest. This way everyone will think you are getting work done right in the office, while being social and shit. Or do long calm work sessions on Saturdays and Sundays. These are the best, but I have a feeling that no one will be a big fan of that. You can burn yourself out after doing that for a while.

  • Get some serious noise canceling headphones. Not hipster beats by rapper crap, not anything from Apple store. Look for Studio monitor headphones or DJ oriented products. The price tag will be steep, but you will get what you pay for.

  • Get a curtain wall. Open-plan fans will want to keep it open, but you can close it again and again. We have one in our office, and it's always closed shut. We need more of those, but I still need to convince people. Hopefully this rant will do it.

  • Hide in meeting rooms and lounges. It will take a while for those who want to distract you to find you in a secluded meeting room. And often they wouldn't bother to look for you further than your desk.

  • Reduce chaos by improving company processes to require less direct interactions. Implement Scrum properly, and you will get much more peace and quiet even in open-plan office, since there will be significantly less clueless people trying to find out what to do next, less poking about task statuses, less work given to developers directly out of thin air.

  • Convince people that remote work is healthy now and then. I used to work in a company where one day a week could be spent working remotely from home, and those were the most productive days - no hard task could resist a one day cracking in a peaceful atmosphere of your choice.

  • When someone interrupts you, say you are working on something at the moment and ask them to send you an email about it. Promise to respond as soon as you'll be available. I know one person who used to do it, and it worked as a charm. When you reject someone with direct request several times, they start writing emails and come in person only when it's really necessary.

  • Convince your company to adopt Library rules, like in 37 Signals. All conversations should be either in whisper, or in remote meeting rooms.

It is sad that remote work is not a part of software development culture in most companies. Management almost always relates remote work with slacking or failing at communication, but that's far from being true. There are plenty of high profile companies (i.e.: Automattic), that are wildly successful with remote workers. A well organized team doesn't have to talk face to face to get work done.

Make walls, not noise.

Productivity