I suspect the two parent comments (and several more here and every time this topic comes up) point to a fundamental difference between various people, some are more productive in silence and solitude and some thrive on the productivity around them.
While it might sound like the difference between introverted and extroverted, I suspect it isn't quite as simple. It very likely also depends on the job to be done (memory load), the content and quality of surrounding conversation and more ephemeral factors like company culture.
I suspect it also affects how well things like pair programming work out, conversations about it often elicit quite polarized viewpoints on the subject.
I think there's some level of cognitive bias here with respect to social interaction preferences.
I certainly prefer to hang out with folks in a social setting compared to sitting in an office all day. I understand folks who prefer to do this in a work environment from a camaraderie and a "I'm not in a cave" perspective. That's totally fine and understandable.
But from a real, practical standpoint - are folks that "prefer" to be in an open setting actually more productive than those not?
What type of programming lends itself better to a distraction-filled environment?
How does "culture" fit into the distraction equation, other than "we tolerate more distraction-killing productivity here than elsewhere"?
(We have a chat room where we try and put all side discussions, so folks can virtually "overhear" conversations and chime in if applicable).
I concede that there could be some people who will get so antsy in an office all day that the mosh pit-style work environment "feels" better. I'm not discounting that some folks prefer to be in a noisy environment. I just question whether or not they're actually more productive there or that the organization is better off in total with a noisy environment.
The difficulty I have is that I cannot find any studies that show that a distraction-filled environment creates more knowledge-worker productivity than a quiet one. Mountains of studies scream the opposite.
Personally, I'd rather find other ways to channel that ADHD energy in a more productive manner. :D
I would guess it has a lot to do with the team, especially the size but also the level of commitment to the work of the other devs. I've never been around a loud team or in a noisy environment (I'm not counting the sound of other people typing). Blocking out 50 conversations in a day, many of the much more inane or pointless, may be much harder for me than 5 business/tech-related ones. But I've never had to try to deal with that.
Though I doubt that it would be much different for me, personally, because when I'm really in the middle of an interesting problem and cranking stuff out, I just don't notice background noise in the same way I don't notice that it's suddenly four hours later... I mean, maybe I'm just lucky in that, but my own coworkers have never expressed frustration with the environment either, so I don't know just how rare it is. (So I guess the key thing is that if the environment is getting to you, don't just keep it to yourself!)
I also have a (maybe overly cynical?) hunch that in addition to the "ease of distraction by external noises" spectrum there's also a "desire to goof off more if nobody's going to notice" spectrum that comes into play. (He says, as he posts on HN in the middle of the day, heh...)
I've never bothered to look into research on it, but I also don't see any trends of companies with private offices outcompeting ones without. I know the output of the team I was on at the company I worked at where I had a private office was not great, but there are other factors involved there too, of course.
I also think the rotating "consulting developers" idea from grecy above sounds like a pretty good idea, regardless of office layout.
The point of being in a room with others isn't mainly about productivity. There can be a few benefits sometimes, the ease of asking a question. "Hi, this SnowClassifierFactor instance in the audio lib, is there any specific reason it is there?" and overhearing discussions as mentioned in other posts.
However, the important thing to consider is the fact that humans in general prefer to be among others. Even sitting quietly staring at a wall is more preferable in company than alone. So I don't really care if I'd be 10% less productive, being amongst others is good for my mental health.
However, this should of course mean that for those who don't enjoy company of others there should be a way to be alone. Just having a "silent room" where you can go to not be disturbed might be a way.
While it might sound like the difference between introverted and extroverted, I suspect it isn't quite as simple. It very likely also depends on the job to be done (memory load), the content and quality of surrounding conversation and more ephemeral factors like company culture.
I suspect it also affects how well things like pair programming work out, conversations about it often elicit quite polarized viewpoints on the subject.