This is something I've found very weird: there's a
sharp difference between the opinions of people I know in person and people online.
HN commenters love to hate open office plans. It's one of the few topics on which they agree with /r/programming!
And yet everywhere I've spent time has been in favor of open offices. This includes a few startups, sure, but also an enterprise software company (Guidewire), an academic research lab (Berkeley ParLab) and a quantitative trading firm (Jane Street).
In the ParLab, even most professors didn't have dedicated offices--apparently, this makes them more accessible and gets them to talk to their students more. David Patterson, the leader of the lab--with a lot of research experience--talked about how switching to an open layout was a real improvement in the research process.
At JSC, both traders and developers share an open space. This makes communication between the two parts of the company much more fluid. The founders of the firm all originally came from another firm where developers and traders were sequestered from each other, and they have found the shared open space to be entirely preferable.
Many of the other experienced people I've worked with have also been big fans of open office layouts. And these are some of the most productive organizations I've ever seen--probably some of the best full stop.
And yet most online commenters treat it as a given that an open space is completely inferior to real offices.
Personally, I'm a big fan of working in a nice open layout. It makes it much easier to talk to other people, even if I don't have a specific problem to solve. This makes work both more pleasant and more efficient because I can get outside input or an extra set of eyes at any point in the development process. Moreover, since I'm similarly helping other people out, I get a good sense of their projects as well.
And if I need to concentrate, I can just put on headphones or go to a quiet room. But I much prefer that not to be the default action, only taken when it's needed.