I'd add open office plans to this. It's awful. You never quite get to focus, you don't build the rapport with your team, you don't get to customize your physical environment. Development really became a white collar version of the assembly line.
It's kind of weird by now. They will happily offer you $200k in annual salary, but an office with a window where you could keep a potted plant is out of the question.
"remember that sad library basement with the rows of depressing tables and power strips where you cried during finals in undergrad? welcome to your office for your next 40 years."
is it a form of abuse like trying to keep everyone under control? is it a form of psychological conditioning to remind you that you just a resource whose top priority is to be interrupted at any time so knowing that you don't really have any personal space sovereignty or privacy to your own thoughts or creativity but that you must answer and create only for the collective?
I don't feel I have a clear picture on what it's about any insights?
I can't say for certain, but I would guess it has something to do with the idea that all people must be available to each other at all times for the sake of raw productivity. So if there is a problem there is no time to wait. You just walk right up to the person you need to speak with and get it resolved then and there.
Open offices facilitate that feeling of persistent accessibility and production. No closed doors to slow anyone down, and no notion that you are there to do anything but work every minute of every day. So why on Earth would anyone need privacy?
This is full-on agile ethos. And, for the same reason, agile is also responsible for the reversal of telecommute policies at some companies.
You make a valid point. And I believe open office spaces are wrong for the same reasons that I believe agile is wrong: both assume that all work is fundamentally similar.
When I call someone and in the background I can hear 20 other people talk, I immediately assume that the person I called is not considered important in his/her company. Because high-level work needs uninterrupted quiet time.
For agile, it's similar. When you stop having different roles, then you implicitly assume that your lead architect and your junior trainee can do the same work, albeit at different speeds. If your architect has useful experience, that's an insult. Or it means that your entire product is simplistic enough to be built purely by trainees.
So both open office and agile effectively reduce your programmers to expendable grunts.
I have read somewhere that there is often _less_ face-to-face communication in an open landscape than with single offices. Possible reasons include an unwillingness to disturb everyone else, and that people in such situations tend to turn inward in order to isolate themselves from everything and everyone around them.
Also (and somewhat contradictory to the above), I expect that, if your colleagues are _too_ easily available, you'll be running to them with a half baked question in your head, only to blurt it out before realising you didn't think it through, and wasting both their time and your own. But before you go knocking on someone's office door to ask a question, you really want to be sure that you know what you want to ask, and that you understand the problem well enough for the answer to make sense to you. Which leads to a better conversation, less time wasted, and better learning.
In practice, this sucks. I have been both the asker and the reciever of the open floorspace surprise question. The reciever looses their train of thought and will struggle to give a decent answer off the cuff, the asker gets a shitty response as a result, and probably has to ask someone else more questions. Far better would be an email, and definitely not slack.
I understand but I think this is wrong. there's a benefit to asynchronous work and having multiple tasks in your queue that you're chipping away at its like the idea of task scheduling on a single processor I just think asynchronous is fundamentally more efficient for humans because they can maximize their productivity per task. And asynchronous "get back to you" allows there to be like a homeostatic equilibrium of priorities and allows everyone everything to get addressed. like hardware interrupts, and giving everyone that power, when it has a knock-on effect as well to whatever you working on it just doesn't make sense to me as something smart. I think it decreases productivity.
I believe the idea is that you don't notice time passing in an environment with purely artificial light, so you'll stay longer, work more. It's kind of the same reason why casinos and chicken farms don't have windows, either.
This is something I see people railing against all the time here. I'm young and new to the industry so I've never experienced anything other than open-plan offices. So maybe I just don't know what I'm missing out on but the idea of private offices/cubicles is really unappealing to me. I really like collaboration spaces, being able to see people's faces, being social, bouncing ideas off each other, pair programming etc. If I really need to put my head down and do some quiet work I can put some headphones on or move my laptop to a booth or quiet space. So I really don't see what the problem with open-plan is but I'm open to being convinced I'm wrong.
I have similar views on wfh, fwiw. Like 1-2 days a week is fine for me but full time remote is far too isolating IMO.
Back when I had a cubicle, I had a second chair and a white board in my cube, and people would come for a visit when they wanted to talk about something, and we'd draw on the whiteboard, and we were social and bouncing ideas off each other. Now, I'm in an open floor plan office, and when the guy who sits literally next to me wants to talk to me, he sends me something over slack. I think people don't want to disturb each other in an open floor plan office, so they rely on these IM tools more? I don't know, but I know it's way, way less social now than it was when I had my cube.
But what about the serendipitous things, like the unplanned conversations that lead to fruitful ideas, or the guy you're not directly speaking to overhearing your conversation and solving your problem for you? It seems to me you would lose all of that in an environment where you have to deliberately make the effort to enter someone else's closed space to talk to them.
Those still happen in common spaces, having an office or a cubicle won't eliminate those. The difference is, with your own space you can do deep work on your own terms. No longer is your train of thought constantly interrupted, and if someone does have a question or wants to meet or just hang out and shoot the shit, they can shoot you an email for a good time where you can devote them your full attention. Academia doesn't have this problem of isolation of ideas, and every professor there is has an office. Communicating to your colleagues is a company culture issue, not a physical space issue.
Fresh out of undergrad, open office layouts feel familiar to the long hours spent sitting at big tables in library basements, so I can see why some people like it initially. After a few years, you will be pining for four walls and a door to get anything done.
Fair enough, it obviously works for you. But on just a couple of points:
> The difference is, with your own space you can do deep work on your own terms. No longer is your train of thought constantly interrupted
What's wrong with headphones for deep work? Or appreciate not everyone has these, but where I work atm we have small 'quiet zone' booths where you can take your laptop if you really want to focus deeply.
As for being interrupted, again maybe it's just a company culture thing. Where I work people are generally pretty respectful if they see you with headphones on intensely focused on something, they'll probably just ping you a message on slack asking when's good to talk. But equally if people have headphones off, open body language- everyone feels happy to strike up conversation and there are no barriers in the way of collaboration.
I'm not sure i can convince you, but I can say that going to school in the 70's and 80s was a completely different experience. We did a minimum amount of group work. Homework was not done collaboratively.
So to my generation, this bouncing ideas thing is less of a requirement because we're used to doing our own work.
If you look at scientific papers from fifty years ago, most had just a few authors, now many of them list eight or ten.
The team approach seems to be taking over the world. However, I would point out that most truly great work, think Nobel prize, or truly awesome engineering work (K&R, UNIX) has till now mostly been achieved by individuals or by small teams, and that there was a lot of focused individual effort put into them.
I don't mean to sound condescending at all, because the young are going to win out by default, you guys are the future and we are the dinosaurs. You preferences and work habits will become the correct ones (whether they are better or not).
However, I would suggest that you like open plan environments because this preference has been trained into you since early grade school.
Private offices suck. The environment you want is ~5 developers per office. You get to build rapport with your coworkers, customize the physical space together, collaborate, differentiate yourselves from other teams. But you don't have to deal with Heather in recruiting telling Judy about the details of her wedding dress.