One other thing to note is that office space, while expensive, is much cheaper than your developers. You can easily get 10-20% more productivity with a better working environment.
Also, that "collaboration" that people value? None of that is getting written down. Circle's team is already half remote, so placing a strong emphasis on 'library voices' means more communication happens over hipchat and email. More things get written down, and the remote employees are able to collaborate more, and there's a written record of "oh yeah, on Friday 2013/01/03, Paul and Allen thought it was a good idea to try X.
Amen brother - At one agency I interviewed at everyone was crammed on long tables with less than 2 foot of space per person all on laptops no docking stations all hardwood floors.
I mentioned that the layout woudl impact their productivity I got marked down as not a culture fit according to the agent.
Is it true that Microsoft is doing two devs per office these days? I just thought back on all the places I sat at Microsoft and out of 9 different offices (ok, two were cubicles), I never shared once. They do make you move around a lot, obviously.
Sometimes management prioritizes the open plan aesthetic above enabling concentration. One office had hardwood floors which allowed every conversation to bounce around the entire floor: the suggestion of carpeting was rejected because it would ruin the look of the office. In another, management felt different teams–working on completely separate projects–could collaborate if they overheard each others’ conversations. They even planned to pipe in music to raise the decibel level high enough so that it would instigate conversation between distracted teams!
The most productive I've ever been in a job was when I shared an open office totaling around 500 square feet with 7 other devs. There was always something blasting on the TV in that office. There were always people discussing/arguing about one aspect of our software or another. Jenkins would blare a Lo Pan sound clip[0] on build success/failure. And yet, with all this, I put out the best work of my career (both in terms of speed and quality).
I'm not sure why, but it probably has something to do with the atmosphere that was less like a business and more like a place I'd like to go hang out during the days. It didn't feel like work, which was oddly conducive to getting things done. And if someone needed to concentrate and couldn't with the noise, they could toss headphones on and drown out the nonsense (which most of us did very, very rarely) or take a conference room.
Oh, and the private office I had a few years prior to this (incidentally about the same square footage as the 8 man office) had the opposite effect on me. Not great quality, no passion for the job, super quick burnout. For whatever that's worth.
So what I'm saying is: If you need silence, cool. Seek it out. Do whatever it takes to be the most productive you can[1]. But not everyone wants to live in a sound vacuum, and some people thrive in the environments that are the polar opposite of what you think is ideal. Some of us like collaborative spaces and occasional distractions they bring :)
> So what I'm saying is: If you need silence, cool. Seek it out. Do whatever it takes to be the most productive you can[1]. But not everyone wants to live in a sound vacuum, and some people thrive in the environments that are the polar opposite of what you think is ideal.
I agree that different people work better in different environments, but I think what you've said should be flipped:
If you like noisy environments, cool. Seek it out. But don't ruin the concentration of others just because you work best in a place with noise and distractions.
I used to work in a noisy environment and it was hell because there were literally no quiet areas to work. I would have happily moved elsewhere, but there was nowhere to go. Virtually every office space has conference rooms and break rooms where you can go if you want to be noisy or work in a group. Very few office spaces have "quiet areas". Silence should be the default around people's desks and noise should be taken elsewhere. If you're being noisy in an open plan office, there's a good chance you're disrupting a silent majority.
I guess the moral to take here is "people have different working styles, and should seek out the conditions they need to do the best work they can in their environment."
I do some of my better work with symphonic metal[1] blasting in my ears, but I wouldn't impose that on anyone else. For one thing, it's an acquired taste.
The benefit of private offices is that people can choose to be in them with the door closed. I've been in both environments, and there's certain work that I do better in each environment, so getting to choose what you want when you want it is the best solution.
All the jobs I've had since college have had an open workspace. Of those, 3 stand out as particularly pertinent to this topic.
At Job 1, a consulting company, we had an agreed upon culture of noise. We had music playing loudly most of the time and about 30 developers collaborating on different client projects. High vaulted ceilings definitely contributed to noise. It was definitely chaotic, but we managed to remain productive regardless.
At Job 2, my current job (also consulting), we have talked at great length about keeping things quiet and respecting each other's concentration. We have side-rooms if we need to collaborate, and use them frequently. We use chat to ask each other questions rather than tapping on the shoulder (most of the time). I feel extremely productive there (even more so than job 1) and while offices might make tapping on the shoulder even less common, I feel a sense of camaraderie there that I don't think I'd get if I was isolated with a closed door.
Job 3 was by far the worst. It was a similar open space for the entire product team. However, we never had much discussion about communication style or noise, we just always said we don't like being interrupted. Looking back on it, I think productivity was easier at jobs 1 & 2 because we had all agreed on our culture, so we could find ways to work around it. Job 3 was hard because we never knew what to expect. One day it could be quiet and easy to concentrate, but the next it could be noisy and impossible to work in.
The lesson for me is that honesty and openness is most important. If people speak up when they are having a hard time concentrating, then everyone can work together to try to improve the situation. This assumes of course the team respects each other enough to compromise; but if they don't you probably have bigger problems.
Great article overall, but it seems to be a bit dismissive of music for productivity. It appears[1] the answer is a bit more nuanced: music is great for getting "in the zone" where you are mostly using existing knowledge to create something new. However, when you are really focusing on learning something new and difficult, silence is best.
Anecdotally this seems to match up with my experiences coding. Sometimes I'm more or less just churning out code, and music is great. If theres an ops crisis, or I'm trying out something new, music can hurt rather than help.
Yes, music can help one to get in the zone, but as another poster mentioned, the obvious issue is that the music you're being forced to listen to is someone else's choice, which then becomes a complete distraction.
Are you going to preach the gospel of musical concentration when someone's choice of Rebecca Black's "Friday" is blaring in your ears? If you're concerned with nuance, how could you not recognize this as the central issue?
I'd be interested in seeing studies that look at this sort of thing for a variety of different software types. My completely-unsupported-by-evidence hunch is that different lengths and types of software project do better or worse in silent environments (although I also suspect that the largest variance is from personal preference).
By way of personal anecdote, when I'm working in the games industry, coding teams tend to be very small and very cross disciplined, and the smaller the teams the more frequently code changes touch other devs because you're often changing several systems across the engine throughout the day. In this environment myself (and co-workers - I did ask :) find non-silent, "noisy" environments work well. Incidental conversations and cursing are actually quite good ways to add interesting fluff to the games as they are being created, and cursing is a damn good barometer indicating that some of the APIs for my code is rubbish to work with.
Conversely, I've worked on more traditional things where I'm deeply involved in a rabbit hole of my own burrowing, and in those cases less noise does seem to help. In those cases I'm general solving very narrow and specific problems, and the APIs I'm offering to other devs (if there are APIs) are far more formally defined.
However, I'm likely biased. Unless it's a very specific and very hard problem I'm trying to solve, I like some level of background noise to keep the useless parts of my brain occupied while the code bits do their stuff. The more boiler plate the code, the louder I like the noise so that parts of my mind don't get bored and drift off into more interesting thoughts.
"My favorite example of this sort of insanity is the office in which each time any developer deployed to production, the speaker system automatically played 6 seconds of their favorite song across the entire office. You could actually watch productivity go out the window as dozens of developers fell out of the zone."
And yet, it's a developers dream to set something like that up. Or a nerf gun that fires when you deploy. Hah!
Many software shops "get this", and it is a recurring discussion in this field. There just isn't much to say about the offices that are designed right, however, so you just don't hear about them.
And it's worth noting that there are competing forces at play in the design of offices, and choices aren't always made with productivity as the primary concern.
Many software shops are desperate to mirror the popular notion of how these places operate: loud, boisterous bullpen type arrangements, whiteboards all over with various contrived things on them, street lights flashing the current iteration progress, desks littered with crazy toys and blimps and toy guns, and various nerdly hijinx. It is, in every way, cargo culting, putting the image of how it should work against the actual of how it works.
It looks like what many outsiders think a software shop should look like, all those geniuses doing their genius thing.
Impress investors. Impress potential hires. To the latter most will say "oh no! That wouldn't impress me", but the truth is that real work in this field occurs in the most boring looking way possible, so we all like to imagine that a vibrant office will be an amazing new experience. But in the end we're still wrangling code all day.
I for one am in favour of less intense scrutiny on measurable productivity and concentration for a diverse startup. I think you want to place your engineers in a quiet zone that is fine but to promote a blanket strategy of shhh zoning the office. sounds like a prescription for some bad interpersonal conflicts down the line.
Truth is there are really two distinct types of developers. I've seen guys who needed music loud and almost the more distractions the better. You wonder how they get anything done at all yet they're amazingly productive.
I had one developer who worked for me who stated that he needed music to distract part of his brain so the other half could code.
I am the exact opposite, if there is any noise at all my productivity goes to hell. Companies either need to offer people a choice or recruit for their particular cultural fit.
Great article ! It's too bad so many companies have open space rooms for developers. Noise just creates a vicious circle : we're less concentrated, working slower, have to work longer hours, get tired and so on.
The worst is when people in the same room aren't even working on the same project. I think having at least separated rooms for each team working on a single task would greatly improve developers' productivity.
We at Sococo have the best of both worlds. We're mostly in physical isolation (working at different offices or from home offices). Then we share virtual spaces where we can meet, talk, form spontaneous groups. If you're heads-down then just take your headset off, minimize the team app and work. Folks can see this; courtesy demands they send a chat to ask for your attention.
Interesting, I'm currently working at a startup where the Sonos is booming, did a short survey over here and everyone thinks they are more productive with the music on.
[+] [-] arohner|12 years ago|reply
One other thing to note is that office space, while expensive, is much cheaper than your developers. You can easily get 10-20% more productivity with a better working environment.
Also, that "collaboration" that people value? None of that is getting written down. Circle's team is already half remote, so placing a strong emphasis on 'library voices' means more communication happens over hipchat and email. More things get written down, and the remote employees are able to collaborate more, and there's a written record of "oh yeah, on Friday 2013/01/03, Paul and Allen thought it was a good idea to try X.
[+] [-] walshemj|12 years ago|reply
I mentioned that the layout woudl impact their productivity I got marked down as not a culture fit according to the agent.
[+] [-] hamburglar|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] greenyoda|12 years ago|reply
Peopleware was first published in 1987, almost three decades ago.[1] It's amazing how poorly our industry learns from the lessons of its past.
[1] https://en.wikipedia.org/wiki/Peopleware:_Productive_Project...
[+] [-] 001sky|12 years ago|reply
This is priceless.
[+] [-] SheepSlapper|12 years ago|reply
The most productive I've ever been in a job was when I shared an open office totaling around 500 square feet with 7 other devs. There was always something blasting on the TV in that office. There were always people discussing/arguing about one aspect of our software or another. Jenkins would blare a Lo Pan sound clip[0] on build success/failure. And yet, with all this, I put out the best work of my career (both in terms of speed and quality).
I'm not sure why, but it probably has something to do with the atmosphere that was less like a business and more like a place I'd like to go hang out during the days. It didn't feel like work, which was oddly conducive to getting things done. And if someone needed to concentrate and couldn't with the noise, they could toss headphones on and drown out the nonsense (which most of us did very, very rarely) or take a conference room.
Oh, and the private office I had a few years prior to this (incidentally about the same square footage as the 8 man office) had the opposite effect on me. Not great quality, no passion for the job, super quick burnout. For whatever that's worth.
So what I'm saying is: If you need silence, cool. Seek it out. Do whatever it takes to be the most productive you can[1]. But not everyone wants to live in a sound vacuum, and some people thrive in the environments that are the polar opposite of what you think is ideal. Some of us like collaborative spaces and occasional distractions they bring :)
[0] http://www.realmofdarkness.net/pc/sb/movies/lopan Our build failure was "Now this really pisses me off to no end!"
[1] How do I make things bold here? Because that's supposed to be bold. In <blink> tags. font-size: 3em.
[+] [-] MoosePlissken|12 years ago|reply
I agree that different people work better in different environments, but I think what you've said should be flipped:
If you like noisy environments, cool. Seek it out. But don't ruin the concentration of others just because you work best in a place with noise and distractions.
I used to work in a noisy environment and it was hell because there were literally no quiet areas to work. I would have happily moved elsewhere, but there was nowhere to go. Virtually every office space has conference rooms and break rooms where you can go if you want to be noisy or work in a group. Very few office spaces have "quiet areas". Silence should be the default around people's desks and noise should be taken elsewhere. If you're being noisy in an open plan office, there's a good chance you're disrupting a silent majority.
[+] [-] erbo|12 years ago|reply
I do some of my better work with symphonic metal[1] blasting in my ears, but I wouldn't impose that on anyone else. For one thing, it's an acquired taste.
[1] - See e.g. http://www.youtube.com/watch?v=JYjIlHWBAVo
[+] [-] danielweber|12 years ago|reply
[+] [-] joefiorini|12 years ago|reply
At Job 1, a consulting company, we had an agreed upon culture of noise. We had music playing loudly most of the time and about 30 developers collaborating on different client projects. High vaulted ceilings definitely contributed to noise. It was definitely chaotic, but we managed to remain productive regardless.
At Job 2, my current job (also consulting), we have talked at great length about keeping things quiet and respecting each other's concentration. We have side-rooms if we need to collaborate, and use them frequently. We use chat to ask each other questions rather than tapping on the shoulder (most of the time). I feel extremely productive there (even more so than job 1) and while offices might make tapping on the shoulder even less common, I feel a sense of camaraderie there that I don't think I'd get if I was isolated with a closed door.
Job 3 was by far the worst. It was a similar open space for the entire product team. However, we never had much discussion about communication style or noise, we just always said we don't like being interrupted. Looking back on it, I think productivity was easier at jobs 1 & 2 because we had all agreed on our culture, so we could find ways to work around it. Job 3 was hard because we never knew what to expect. One day it could be quiet and easy to concentrate, but the next it could be noisy and impossible to work in.
The lesson for me is that honesty and openness is most important. If people speak up when they are having a hard time concentrating, then everyone can work together to try to improve the situation. This assumes of course the team respects each other enough to compromise; but if they don't you probably have bigger problems.
[+] [-] spectre256|12 years ago|reply
Anecdotally this seems to match up with my experiences coding. Sometimes I'm more or less just churning out code, and music is great. If theres an ops crisis, or I'm trying out something new, music can hurt rather than help.
Edit, forgot the article: [1] https://medium.com/what-i-learned-today/be3172896a0f
[+] [-] drhouse_md|12 years ago|reply
Are you going to preach the gospel of musical concentration when someone's choice of Rebecca Black's "Friday" is blaring in your ears? If you're concerned with nuance, how could you not recognize this as the central issue?
[+] [-] pessimizer|12 years ago|reply
More like dismissive of your music for my productivity, or vice versa.
[+] [-] hoka|12 years ago|reply
[+] [-] mnem|12 years ago|reply
By way of personal anecdote, when I'm working in the games industry, coding teams tend to be very small and very cross disciplined, and the smaller the teams the more frequently code changes touch other devs because you're often changing several systems across the engine throughout the day. In this environment myself (and co-workers - I did ask :) find non-silent, "noisy" environments work well. Incidental conversations and cursing are actually quite good ways to add interesting fluff to the games as they are being created, and cursing is a damn good barometer indicating that some of the APIs for my code is rubbish to work with.
Conversely, I've worked on more traditional things where I'm deeply involved in a rabbit hole of my own burrowing, and in those cases less noise does seem to help. In those cases I'm general solving very narrow and specific problems, and the APIs I'm offering to other devs (if there are APIs) are far more formally defined.
However, I'm likely biased. Unless it's a very specific and very hard problem I'm trying to solve, I like some level of background noise to keep the useless parts of my brain occupied while the code bits do their stuff. The more boiler plate the code, the louder I like the noise so that parts of my mind don't get bored and drift off into more interesting thoughts.
[+] [-] SDMattG|12 years ago|reply
And yet, it's a developers dream to set something like that up. Or a nerf gun that fires when you deploy. Hah!
Very self-harming...
[+] [-] erobbins|12 years ago|reply
[+] [-] corresation|12 years ago|reply
And it's worth noting that there are competing forces at play in the design of offices, and choices aren't always made with productivity as the primary concern.
Many software shops are desperate to mirror the popular notion of how these places operate: loud, boisterous bullpen type arrangements, whiteboards all over with various contrived things on them, street lights flashing the current iteration progress, desks littered with crazy toys and blimps and toy guns, and various nerdly hijinx. It is, in every way, cargo culting, putting the image of how it should work against the actual of how it works.
It looks like what many outsiders think a software shop should look like, all those geniuses doing their genius thing.
Impress investors. Impress potential hires. To the latter most will say "oh no! That wouldn't impress me", but the truth is that real work in this field occurs in the most boring looking way possible, so we all like to imagine that a vibrant office will be an amazing new experience. But in the end we're still wrangling code all day.
[+] [-] stephenitis|12 years ago|reply
I for one am in favour of less intense scrutiny on measurable productivity and concentration for a diverse startup. I think you want to place your engineers in a quiet zone that is fine but to promote a blanket strategy of shhh zoning the office. sounds like a prescription for some bad interpersonal conflicts down the line.
[+] [-] rmason|12 years ago|reply
I had one developer who worked for me who stated that he needed music to distract part of his brain so the other half could code.
I am the exact opposite, if there is any noise at all my productivity goes to hell. Companies either need to offer people a choice or recruit for their particular cultural fit.
[+] [-] willjcksn|12 years ago|reply
[+] [-] JoeAltmaier|12 years ago|reply
[+] [-] elwell|12 years ago|reply
[+] [-] squeakyhinge|12 years ago|reply
[+] [-] abe_duarte|12 years ago|reply
[+] [-] taboada|12 years ago|reply