Hacker News new | comments | show | ask | jobs | submit login
"Silence is for the weak" (circleci.com)
91 points by pbiggar 1417 days ago | hide | past | web | 36 comments | favorite

[Disclaimer: I'm cofounders with OP]

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.

Microsoft has, in typical fashion, gotten very confused about this. Some teams are still one person per office (some more junior (measured by tenure, not level) team members probably share, all interns typically share), other teams are using open work environments... sometimes pushing the limits of what the fire code permits for number of people in a building.

The trend when I left (4/13) was towards open offices

Internally, for teams that use offices, there is something known as the "pain index" which is the person/office ratio. As a rule of thumb, you might be expected to share an office upto about two years, and by about 5 years might expect to have a window office - but it was very dependent on team

[Edit - added pain index]

I was only in one building (maybe building 39, probably 6 years ago) and every office I saw had 2 people. My bad! I'm also generalizing about Google - I only saw building 43.

Classic Microsoft in its high-productivity period was strictly private offices for everyone, solid doors and almost all with outside windows, soundproofed so each office could have its own music without requiring headphones, with deskspace and network connections in each office for several computers and seating for at least three people in each office so that people could work together privately when they wanted to. If that standard has been eroded in recent years, then we might understand why MS is now relatively unproductive.

Google's Boulder office definitely has a more open plan. Fairly large cubicle areas, but still not private offices.

"It’s not like the industry is not aware of the problem. Peopleware–the bible of managing engineering teams–discussed this over a decade ago."

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...

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!

This is priceless.

Anecdotal Devil's Advocate:

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.

> 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 disagree that silence should be the default, I think that whatever the majority of people in the environment want should be the default, with the understanding that we should try to accommodate everyone. If I was the one developer out of 8 in my office that thrived on quiet, I wouldn't have punished the other 7 by mandating that silence should be the default[0].

If you're in a loud environment and need quiet, then communicate that to your boss. Ditto for <insert productivity issue here>. They've got a vested interest in you doing your best work, and will try to make it work the best they can for everyone. If they don't, then they're probably not worth wasting your skills on anyway (plenty of fish in the sea). But if you don't speak up, then you've no one to blame but yourself.

[0] Pertinent side note here, after about a year of working in the loud office, the owner mandated that we stop the distractions. No more TV, fewer breaks to mess around, etc. He thought it was affecting our work, and boy was he right (but not in the way he thought). The net result: Our productivity went down. Measurably. Strange world we live in, eh?

> If you're in a loud environment and need quiet, then communicate that to your boss.

I did, on many occasions.

> If they don't, then they're probably not worth wasting your skills on anyway (plenty of fish in the sea).

I agree, I quit that job :) There were many reasons of course, but the distracting environment and the lack of response to honest employee feedback didn't help their case.

> If I was the one developer out of 8

I think we're coming from different perspectives. If you're working with a small number of people, I totally agree that the group should be able to come to a sensible agreement (I would never demand that my 7 other co-workers act like they're in a library just to please me). My previous post was from the perspective of someone in a larger office (say... 20+ people to pick an arbitrary number) with the typical office layout (cubes, some private offices, conference rooms, break rooms). In such a situation, you're going to have more than a few people who prefer quiet when they're working. Those people are assigned a desk with little choice in the matter, and there's no viable alternative workspace for them to escape to. In this type of situation I think it's rude to intrude on a person's one and only workspace with noise, and silence (or at least low volume) should be the default.

If things were perfect, everyone would get to choose how they work. But things are rarely perfect :)

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.

[1] - See e.g. http://www.youtube.com/watch?v=JYjIlHWBAVo

after experimenting with many different pandora stations, i've found that trance music is awesome for programming. anything with lyrics or irregular beats (like dubstep) is particularly distracting, even though outside of work i like listening to pretty much anything.

this is often why when people ask me, "what music do you listen to?" my answer is always, "for what?"

Indeed! I tend to play the more minimal techno (that is so popular here in the Berlin club scene). Sometimes even some Prodigy.

Have some real metal from a fellow hacker that blasts while coding: http://www.youtube.com/watch?v=FttgsegQyAU

Have a very metal season of darkness.

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.

Edit, forgot the article: [1] https://medium.com/what-i-learned-today/be3172896a0f

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?

>Great article overall, but it seems to be a bit dismissive of music for productivity.

More like dismissive of your music for my productivity, or vice versa.

Looks like you left your reference out by accident. Mind sharing?

I did! Actually, it later got pasted into some code where I meant to paste something else.


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!

Very self-harming...

finally someone gets it? amazing! If I was a functional language guy I'd apply.

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.

Noise can have a positive effect on creativity and cognition... http://www.jstor.org/stable/10.1086/665048

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.

I love silence when I'm developing. I can start to get really frustrated with (most) background noise.

Oh, the irony. You're being weak if you don't speak up and demand silence.

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.

Given this, the hype about coworking spaces strikes me as particularly misguided.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact