Now most employees working in tech companies are not developers. There is a whole "developer abstraction layer" (https://www.joelonsoftware.com/2006/04/11/the-development-ab...) but tech companies should at least have a place for all of their engineers to do quiet, focused work that is free of distraction.
I would also say that many people who are managers and do marketing also need a quiet place for focused work. So do QA people, infrastructure engineers, etc.
A larger point is that there are so many easy ways to communicate and collaborate now that to fix the physical plant to optimize for communication is just plain nuts. Why not use something that is very expensive to change, like the architecture, to meet needs that can't be met with software. Software can let you talk to someone easily, but it can't give you a quiet space. Only the architecture can do that. So I would err on the side of giving everyone an office with a door and then creating some common meeting spaces for them rather than building the office to have open offices and then adding a few multi-use closed door areas.
Lets say that you have a 5 minute question, that would save you an hour of work.
In a closed/cubicle style office, you may be less willing to bug your expert co-worker. In an open office, it may be perfectly normal to turn to your left, and quickly ask you question.
Sure, you are taking time out of your co-worker's day, but even so, on the net whole, asking the question is probably a net benefit time saver to the company.
In closed-style offices, it is a big gesture to walk into someone's office and ask a question. I'd feel less comfortable doing that.
Even sending a slack message still feels less comfortable than just turning your head and asking a quick question.
Coding is a collaborative process to many people. I don't want to schedule a freaking meeting for my simple question, or walk into someone's office. I'd probably just not ask if I felt like I was bothering someone.
Just send them a message in slack. Don't be so obnoxious as to assume that whatever's bugging you at this moment is automatically more important than whatever your co-worker is on.
I don't know why it feels weirder to slack them then it does to turn your head and ask. One demands immediate attention, the other allows them to answer when they have bandwidth for it. It seems obvious enough to me which is more polite.
In practice it doesn't pan out that way, because most 5 minute questions don't save that much time (answer was a 2 minute search away), don't take that much time (take much longer), and overall cost much more time (due to loss of flow).
Most (if not all) programmers need a state of flow to write quality code. Achieving flow after an interruption can easily take 15 minutes or more. If the environment discourages a state of flow by having frequent brief interruptions, the quality of the code written in that environment will be poor. If you had the ability to collect the right metrics, you'd probably find that bugs disproportionately are written right after an interruption.
The other issue you raised is that sure, your productivity may go up if you interrupt someone and get a question. It's clear that we don't want to optimize for that, because the interruption may cause someone else a loss of 30 minutes before they get back into the zone. It's not just 5 minutes. And 20 minutes into that recovery of concentration, someone else will interrupt them and ask another question. And they will also interrupt you. That creates a very frustrating experience. So it's better to ask your question asynchronously. You will get your answer when the person takes a break and relaxes their concentration. Both of you will be able to exercise control over when you can concentrate on getting your work done. Having that sense of control and ability to concentrate is critical to being productive.
I basically think it disturbs more with questions in an open space than when you go over to a cubicle/room.
I don't like large open plan offices, but I think a small room just for my team (6 devs) would be helpful.
Don't talk on behalf of me.
Maybe because I'm relatively younger and I've mainly worked in open-plan offices, but I have zero problems with them. I'm not so easily distracted that simply having someone else's presence is enough to throw me off. When I need to buckle down and get some 'serious developing' going on, I just put on some headphones and listen to The Social Network soundtrack. I am more productive by having my colleges around me so I can easily pair-program or pair-design.
The point still remains: everyone is different and what works for one person won't work for everyone (I for one could never work remotely for any serious period of time). Again, we need to make sure we're building office spaces that can adopt to these different people and the ways they work.
More proof that a noisy "collaborative" environment is not conducive to work that requires deep concentration.
by "serious developing", I'm guessing you mean "actually programming".
You've just described everyone who has ever programmed against the clock in a hollywood movie.
Yep. This is what needs to be done. One thing I'll note is that in my experience, remote workers are 2nd class citizens unless the company is a remote-first company. And if the company is bought or gets new management, the remote workers are the first to go.
You get all the advantages of being able to talk to people, and none of the disadvantages of conversations drifting over from the rest of the office. And there's more of a chance that if your immediate co-workers are discussing something then it's actually relevant to you.
Also, it cements the idea that things are done by teams, not individuals.
Personally, at home I am too easily distracted - I can pick through the fridge or cupboards, or read news sites forever. At the office, my screen is visible and as such I'm more likely to stay focused. I vastly prefer the incidental social interactions in an open plan office too.
Not everyone loves open-plan, but if it was truly a disaster, the space wouldn't be full.
In a previous iteration of the same space, there would've been anything up to 75% programmers but the bulk of them bought and moved to another open-plan office.
(thinking of wework)
Further down thread, someone quoted the WSJ article:
The WSJ article said Apple prototyped one work area, and then multiplied it across the available space. "Having settled on an overall shape, the team then broke it down into smaller parts. “One of the advantages of this ring is the repetition of a number of seg-ments,” says Ive. “We could put enormous care and attention to detail into what is essentially a slice that is then repeated. So there’s tremendous pragmatism in the building.” The ring would be made up of pods—units of workspace—built around a central area, like a spoke pointing toward the center of the ring, and a row of customizable seating within each site: 80 pods per floor, 320 in total, but only one to prototype and get right."
Prototyping one version seems un-Apple. I would have expected them to have prototyped many office layout options, had people work in them for six months each and rate them or otherwise measure quality.
I wouldn't be surprised if Apple's choice here is actually quite good, but perhaps I wouldn't be surprised by the opposite.
You're a bike ride away from the office that you prefer? Fantastic job of deflection.
It's rather obvious that there are trade-offs, isn't it? It's pretty clear to me, at any rate, and there's nothing inherently wrong with providing an office. Shame on your words coming out of my mouth.
In relation to the expense of providing "office space" for several hundred the cost of a fat pipe is pretty darn cheap, were that it existed.
If you don't have the need to live where you work there are "simple" choices any given person can make that will make their lives easier, happier and, hopefully, more fruitful for both themselves and their employers.
And besides, having worked in offices (real ones), cubicles (and half-ones), bullpens and open spaces (including fields) I feel I am more than qualified to provide my own opinion on the matter without implying that my "simple" opinion is somehow not compatible with your own.
Open spaces suck to work in. It's that simple.
But, like I said, I'm annoyed that it's become obvious accepted wisdom that "open offices universally suck" – because it's emphatically not that simple. I respect your need to work in a different environment, and explicitly advocated ensuring that you are able to do that – so please respect my preferences as well.
These are just opinions, right? Right. We both have valid ones that are actually pretty closely aligned. We seem to both appreciate our fortunate circumstances which are, for the most part, at opposite ends of the "we're fortunate" spectrum. I regret having inadvertently annoyed you, but, in all respects, you shouldn't be annoyed with anyone's opinions simply because they seem to not be like your own. I think we're good here. Are we good here?
I am awfully bored of these “everything is simple, open offices are uniformly awful, everybody should be remote” arguments. Yes - this works for some people, in some workplaces. In other cases, it doesn’t work. I’m fine with my open office space, and I prefer working from an office - which is a bike ride away and better equipped than I am.
How about instead we accept that there are almost certainly trade-offs involved in these areas, and that maybe building an office space that works for everyone is important? Provide open office space for those who thrive in that environment. Make sure there are private areas for those who don’t. Establish a culture that supports remote workers, and encourages good behaviour in shared areas. That, if anything, is simpler.