Open office floor plans are widespread in today's tech startups. They aim in breaking physical barriers in the workplaces in order to break the intellectual barriers helping employees to collaborate with others. It is also a cost efficient way to squeeze all the employees into a small workplace.
But guess what?, Programmers hate open office plans.
Facebook has built a massive open office in silicon valley and dumped all its engineers into it. While Facebook thinks that they have created an awesome workplace, other programmers say it's a chaos.
As Joel Spolsky, the CEO of Stackoverflow mentioned in one of his interview :
I think Facebook was very pleased with themselves,
that they had built what they thought was the
ultimate, most amazing place for developers, And if
you went to Hacker News and read the comments,
99.98% of the comments said, I would hate to work
And here is one of the HN thread about Facebook's open office, No wonder, why Facebook is paying their engineers 50% more than other giants to hold them. A recent study showed that, nearly 70% of the employees don't remain in their seats, instead they seek for a peaceful space.
Yet another study shows that, Just 3 hours of open office noise, increases people's anxiety and stress level along with their epinephrine levels.
If you are a programmer you can totally relate to this. Every programmer needs to concentrate. They don't want to over hear other people's conversations. Damn, they don't even care how cute your new puppy is or how awesome was that movie while they are on a tight deadline with deliverables.
And using headphones is not a solution, you can't listen to songs and concentrate on programming. Sure it might feel better than without headphones, but you are just choosing worse over the worst.
Generally every employee undergoes these 4 modes in their workplace : focus, collaborate, learn and socialize. Open offices favour collaboration and socializing. Of course, these are the important modes where you can get some relief from your work stress, share ideas and help in developing the culture of the workplace. But collaboration and socializing should not happen in the area where programmers are trying to focus.
Employees must show some empathy to the programmers, well not only programmers, other employees who are trying to concentrate. If more than two people want to have a conversation, they probably should move into conference room or at least take it outside the office with a coffee.
The office cannot force some rule on the employees that they should not have loud conversations. So, Its up to the employees to respect each others productivity.
Programming is an art, its a creative work. You cannot get it done unless you are delved into it and completely focussed. Programmers call it a flow, when you start coding, your mind holds many thoughts and swap them back and forth in a rapid manner. All of a sudden you get a tap on your shoulder,
Hey, I have sent you the file, you got what you asked for?
Yes, thanks for being my notification bar.
Puffff.., everything disappears. Now practically you will need 20 more minutes to get back into that flow. Imagine this happens at least 6 times in a day. I am sure you will probably hit the bottom of your productivity.
The company should always have an official communication medium, either it can be slack, hangouts or any IRC. If you want to convey something, you can always leave a message. This way you can avoid tapping someone's shoulder and interrupting them.
The guy who is focussing on something can get back to you at the time when he has done with his train of thoughts.
People who love open offices will have some point by their side (Well, I am 99% sure they won't be programmers).
Open-office layouts are great, and if you don’t like them, you must have some problem, may be you are kind of an introvert.
Yes, programmers are "almost" introverts (watch the quotes, almost), they talk with various languages to the computer, databases and solve critical problems. With all these in mind, they don't really want to hear what you did on last weekend, while they are trying to focus.
Programmers are judged by the clean and quality code they write, not by their ability to talk, sell, bluff, etc. Programming is kind of meritocracy. Talking is cheap, show me the code -- This is harder in non-programming tasks.
This doesn't mean that programmers are stubborn, they are easy going, they have a good social life and they tend to have long conversations with you on an interesting topic. Its just those little non interesting small-talks that keeps them quiet.
The company not only has programmers, we do have others who love open office space. We can't change the office layout just for programmers.
Well, one cannot change the office layout just because a bunch of people cannot be productive. But if you are a tech company, that decisions/mistakes made by those bunch of people amid the noisy and hindersome workplace affects/drives the product that the company builds.
Instead of going for private offices, the programmers can be provided with silent working space. Not only programmers, any employee who needs to concentrate can goto that place, and other people inside that place should maintain discipline like a library.
Golden rules for productive workplace
All employees must respect others time.
Move the noisy conversations to a private place.
In order to convey something, First try to leave a message, wait for at least half an hour. Then go tap their shoulder. (Not applicable in urgent scenarios, but one should clearly know whats urgent and whats not.)
One idiot can cost an entire team's productivity, everyone should try their best to not to be that idiot.
When you ask a person, which is the most productive place where you can get more work done. Instead of listing, their home, cafe, long flight journeys. Their answer should be, my office space.
Adios, have a productive day :)