(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=38691468

作者承认开放式布局具有一定的优势,包括培养社区意识和鼓励合作。 他们强调了在工作和干扰之间设置障碍的重要性,并建议带门的私人办公室或会议室可以提供更好的注意力和生产力。 作者还指出,个人对办公环境的偏好差异很大,并强调需要认识和尊重这些差异。 总的来说,讨论围绕着在办公室功能与员工满意度和舒适度之间寻找平衡和妥协。 某些个人对开放式布局的批评进行了讨论,但最终承认并理解为合法的个人偏好,尽管以攻击性或愤世嫉俗的方式表达。

相关文章

原文
Hacker News new | past | comments | ask | show | jobs | submit login
Why do programmers need private offices with doors? (blobstreaming.org)
313 points by signa11 1 day ago | hide | past | favorite | 544 comments










I worked for a Japanese corporation.

The Tokyo offices had enormous rooms, with long rows of desks, arranged by section/department. The section manager's desk was at the end of each row. VPs, with billion-dollar budgets, had small, schoolteacher-style desks, in the corner of the room.

These enormous rooms, with hundreds of engineers, were quiet as a library. They had carpeting, people wore "office slippers," and there was very little chit-chat.

American open-plan offices, on the other hand, resemble flea markets. Loud, somewhat chaotic, and distracting as hell.

But the Japanese also have a culture that is attuned to open-plan offices. When we would bring them to the US, they would be uncomfortable with cubicles and offices.

I have found that "one-size-fits-all" solutions, don't really work, across cultural boundaries.



I worked for a Japanese corporation where each floor had different rules.

One floor had an open-plan layout where people were open to chitchat, another open-plan floor that expected everyone to be quiet, and there was a floor with reservable cubicles or sound-proofed rooms. In general though, I do agree that the culture is on the quieter side.

I really enjoyed working there because the level of isolation was entirely up to you, depending on your mood.



Sounds like the Amtrak quiet car for early morning routes. I loved the quiet car.


this is how most university libraries are set up


In the USA, perhaps. An amusing statement really, given the context.


I would hate that due to the visual distractions and lack of privacy, but "quiet as a library" is absolutely essential.

It does sound like that office layout (as with most US office layouts) is designed to clearly reinforce the status hierarchy.



> clearly reinforce the status hierarchy

Oh, yeah. Hierarchy is very important, in Japanese business culture.



To emphasize hierarchy, it's common to give cheap office chairs without wrist rest for who aren't at high hierarchy in traditional companies . It's one of the worst way, it harms health.


Rakuten was the first and only bigger corp I've worked at (my life has been startups and boutique shops) and so I have had a hard time understanding why people don't like open office floorplans. Thank you for making me realize why I enjoyed it and might not, at another org.


Was it a Japanese office or a foreign office following Japanese customs?


I would say it fits in a third category. It’s a Japanese office that switched to English as its official language and hires a lot of foreign engineering talent. These types of companies are becoming more and more prevalent in Japan.

It is interesting to note that they can integrate the best and worst elements of both aforementioned work cultures.



You worked in kevinmershon's office?

Either way it's interesting such offices are becoming more common in Japan. Could you say more about how they integrate the best and worst of both cultures?



I worked at a similar type of office, but I had coworkers who also had interned/worked for Rakuten.

These are based on the accounts of my local coworkers, but their experiences with previous traditional Japanese companies involved strict social hierarchies, long working hours, constant overtime[0] and overall a very oppressive work culture (though this is slowly improving in general). Getting a chance to escape all that while still working for a local company that really understood them is a huge win. As a foreigner, they made it really easy for me to integrate into their work without feeling like an outsider (which is unfortunately a common trope in more traditional offices).

There is a spectrum to this. For example, I’ve heard Rakuten has a lot of bad rep with a bunch of foreign engineers I’ve met. They still have a lot of “traditional” influence in their management culture that I’ve heard has created a high turnover rate on the foreigner side. This Reddit thread last year also was a hot topic that led to a small exodus[1] and some of their Glassdoor reviews are scathing.

On a side note, the government actually takes some interest in these companies too through inspections, as they seem to observe how well-integrated foreign talent can be with Japanese offices. I’m assuming they’re looking long term to increase immigration to compensate the decrease in local talent from the declining population…

Please do take these as stories and not fact. Experiences can wildly differ from company to company and I’m just one perspective.

[0] I recall a story where a company made employees “tap-out” but not actually leave the office to get around government regulations.

[1] https://www.reddit.com/r/japanlife/s/LmIxQUPakW



I did a year as an exchange student in secondary school/senior high school in Japan. We were close to 50 pupils per class room - yet it was much more quiet than my Norwegian classroom with half as many pupils.

Not a praise of the outdated Prussian high school system in Japan - but another illustration that the culture is different.



Is it outdated? How do the results compare?


Which results? Evaluating school systems is an unsolved problem.


I have found that North American divisions of Japenese companies will be setup the same way. The managers sit at the front facing into the room. All of their subordinates will be facing towards them.

Toyota sticks out in my mind, only because of the scale of the room. There were hundreds of desks in one large open space, and if you looked up from your desk you could see every last one of them. But I’ve seen it in other smaller Japenese companies as well.



"one-size-fits-all" solutions are the prevailing business strategy of investment bankers: Make every company run exactly the same, and save on cost by commoditizing the materials and people.


Aah yes this is why I work in an open office yet very confused on why this website hates it so much.


Leveraging my extensive rapid-paced AI-augmented automation experience*, I have discovered an innovative, self-service solution utilizing a revolutionary, modern material that dynamically shapes itself to fit an external acoustic meatus and turn even the loudest office into a harmonious, quite garden of productivity.**.

* I did manual labor on a factory production line to pay the bills in college

** Put 20 cent earplugs in your ear



Just want to add that I only became (at least in my opinion) a good programmer by sitting next to a very good and passionate one that I was able to question from time to time and may have interrupted his work some days.

I also probably helped him brainstorm ideas with me and debugging, since he would just say what's on his mind while doing it, and I'd do the same, and sometimes this kind of ping pong debugging/brainstorming together yields way better results than solo work. I really like one time he was trying to see how to open the chrome debugger to debug the chrome debugger, and I just knew how to do it (same shortcut while focussed on open debugger) since I had done it by mistake :D

I am convinced that you get more in a collaborative environment having a few devs sitting next to each other in pairs/small groups that they enjoy being with than anything else. IMO with remote work you get hidden inefficiencies that the company can attempt to fix by just hiring more people in the team (and a culture of let's do less meeting, less face to face, more work) takes over and that 1+1=more than 2 environment I was very excited about is gone..

Can someone who is a fan of remote work tell me how a new grad excited about writing code could find a mentor and really up their game in the remote world with what's becoming "standard" way of doing meetings etc?

A counterargument to what I describe is how successful open source projects have always been remote with passionate people working on them



I am a huge fan of mentorship; I benefited from it early in my career, and I strive to offer it to others now. I don't think that requires an open office at all, though. I think mentorship works even better if you're in a quiet environment where you can talk comfortably and not worry about bothering the people around you.

That said, I can attribute one positive effect in my career to having worked in an open office. Early in my career, I happened to overhear someone on the phone dealing with an Open Source licensing issue (and I genuinely do find Open Source licensing interesting), went over to chat with them afterwards, ended up finding out about the company's Open Source review process, one thing led to another, and not long afterwards I co-ran that process company-wide (for a 100k+ person company), which I really enjoyed and which provided a great deal of visibility into all the work happening in the company.

I don't think "happened to overhear one side of someone's phonecall and strike up a good conversation about it" is a "benefit" I'd say is worth the pain of an open office, but I still want to acknowledge it.



Well... I have a counter example of a failure in FOSS, because of remoteness of the responsible department:

At IBM working in a satellite office, I wanted to contribute to Jenkins. The fact that any person with the authority to allow me to do that was "behind an office door". Multiple emails back and forth - I ended up ditching the idea of getting the approval and quit IBM.

Closed doors should be for focus time, which should not be "all the time". Having small team offices and quiet rooms - can contribute to people's ability to focus. But personal offices is just another door that stops people from collaborating will inevitably stop a lot of valuable collaboration.



> how a new grad excited about writing code could find a mentor and really up their game in the remote world

Everyone's different, you wanted a mentor next to you, many don't enjoy that relationship. To answer your question, looking at the fresh graduates we take, extremely detailed code reviews, a lot of chat and some pair coding on the overly difficult parts seems to be working good enough for them to reach a decent level within about half a year.



In the past I've participated in weekly pair coding sessions or group coding sessions, say 2-4 hours on a Friday afternoon. That was with an open source project. The meetings included both maintainers and newer contributors.

Maybe look around for an active open source project you'd like to contribute to, and ask around its community and propose a regular pair/group coding session?

Edit: Crucially, we all took turns "driving", even during a single meeting. Sometimes someone wanted help on a branch, and they started driving and then someone else "took the wheel" for a few minutes then passed it back.

I found our interactions were similar to session-style sports, like skateboarding or bouldering. We all attempted a challenge together and could see how each other approached the problem. As in sports, sometimes even knowing something is possible is all you need.



The primary means I've seen it happen by is by being part of a team that does pair programming rather than code reviews. In general I've seen it do wonders for team alignment, integration speed, and ramping up new colleagues, junior or otherwise. It does take a concerted effort to learn and do well though. There are best practices, and putting two random programmers behind the same computer does not necessarily mean they'll find and apply those.

I'm curious to see if there's been studies on its efficacy, and whether or not those studies agree with my entirely anecdotal experience.



Mentorship doesn't have to be interactive. My first boss mainly mentored me over email. In fact, my first job largely worked over email and it was a bit of a culture shock when the next one was largely instant message based and also had daily meetings as well. I felt a bit like I had gone back to infant school.

It may be a bit harder now because as programming became more high level, the cadence of development went up. However I think the skill set that you gain when you are force to work at a lower cadence (and spend more time "sharpening the axe") is still valuable.



> I am convinced that you get more in a collaborative environment having a few devs sitting next to each other in pairs/small groups that they enjoy being with than anything else.

Like an open zoom meeting where people unmute themselves only they need to ask something?

With the additional focus-aiding utility provided by services like focusmate?

Similar to people gaming online with audio chat but more disciplined.

Combining home office with virtual open floor communication on demand.



I think pair programming is way better remote, when you can share screens.


When I onboarded a junior engineer in 2021 I had a one hour scheduled Zoom call every morning for the first three or four months, and we'd Zoom usually at least another hour ad-hoc in the afternoon. He would screen share, I would screen share, and we got a lot of learning and programming done that way. You have to have a culture of people dropping Zoom links at any time and being ready to respond within say, five minutes most of the time. Or at least that's what worked for me.


The most in sync i've ever been with a team was playing end-game raids in MMO's using ventrilo. huddles, meet, and zoom just aint the same. I've never tried discord though.


Discord is funny.

The bad: it's a little too cutesy, a little too "gamer" targeted. It's a little tiresome.

The fantastic: In a call, you get individual volume sliders (and mute buttons) for every single participant. I cannot use Zoom after experiencing this, it's simply intolerable to be at the mercy of the person with the loudest and most obnoxious mike/background noise



I mean if you set aside the mere theming, Discord is everything Slack should be


I think the interruptions in a group setting have huge disastrous effects as nobody really ever gets into a good flow state.

I'm sure it's useful for training and mentorship, but that's frankly not your employer's problem these days. People switch jobs every year, and if you train up staff only their next company is really going to reap the benefits. If learning on the job raises retention then it's only marginal. If anything it makes people "worth more" and they more easily find the next gig that comes with a pay bump

You can easily skill up by:

- watching conference videos on YouTube

- during code review

- go on your lang subreddit or forums and read about how other people skin their cats

What you want is basically unstructured interruption based code review ~ which is nice for the junior but horrible for productivity over all



I highly, highly disagree. Getting advice on the spot is often critical. And rarely will you get good practical advice like "always do a dry build locally from the command line" on the forums.

I can't even count how many times I had to tell other engineers, that they have to run a clean build locally...

Not to mention, that mentorship can be useful just for the processes that are present within the company.



Too much interruption is bad, I agree, but there are some type of skills / mindset that are 100x times simpler to gain by contact with colleagues than by training on your own (even when looking at forums). Especially on the things that you wouldn't not think about improving.

I had the luck of working with a dude who was extremely good at analyzing data, simply by loading json files in sublime text, doing a mix of pretty-printing, multi-cursors changes (with usually 1000+ cursors), regex-foo, playing with buffers and other linux commands. It was a weird set of skills that was truly magic to behold, and not amount of Youtube conference or code review could have replaced that.

There are some coding livestream that can help with that, but it's not as efficient as being in the room as talented peoples.



You got more, maybe the company got more, the senior got less: two jobs, only one pay. Now with remote work, companies really have to carve out budget and time to train people. They don't like that.


You could reach "generals effect" by being a listener to skilled dev's musings - sometimes all one needs to unblock is to tell somebody else about what the problem is and the solution suddenly pops up without any contribution from the listener. So you could form a symbiotic relationship with a skilled dev - you'd learn their tricks and they'd use you as their "unblocker".


Biggest thing is changing cultural dynamics to make maximal efficiency of remote work. Which includes that sometimes, you get a team of people together temporarily in person to really focus and iterate on issues, but we all know the majority of time, this isn't needed for proper collaboration.

As far as excitement and collaboration goes: this is a culture and communication problem. If your company hasn't done a good job of training people to use the proper tools of collaboration they're not doing it right.

Same with mentorship, it should be done as a (possibly rotating) thing by people who are trained to do just that: be good mentors. This is not a burden that should fall on the uninitiated. This should also have concrete expectations for everyone involved. Its a job in and of itself, after all.

All of these things point to cultural company deficits, they're not an inherently immutable thing that is a downside of remote work.



> Which includes that sometimes, you get a team of people together temporarily in person to really focus and iterate on issues, but we all know the majority of time, this isn't needed for proper collaboration.

Some remote workers here dismisses even that, because it disallows them to take residence at the other side of the world from the office. Mileage truly may vary.



Some do, not all do. I do much better in a room with ~6 people that are working on the same project. Much better than working at home. Much better than a private office (which I've had).

Having people around me working on the same project is invaluable for me for

* asking quick questions and getting an instant answer. vs chat where I may not get an answer for hours.

* running ideas by others. This doesn't happen on chat for me, and VC is too scheduled.

* brainstorming. Same as above

* getting a feeling for what everyone is up to

  Sure I can go read their notes but it's not the same. One happens by osmosis so zero effort, it just happens. The other requires scheduling time
* feeling part of a team, working on the same thing.

  I don't feel connected to me team at all working from home. I feel no more connection to them then when I call my bank and talk to a banker. Nor do I feel any connection to sit at a coffee shop and work around others who are not on the same team.
I get that others have different opinions and/or want to work from home. Me, I was lucky to work on things I wanted to work on with people who wanted to work on them (video games) for most of my career. It was super fun. It would not been even 5% as fun at home by myself.


All of that is fine, the problem is that most places with shared space will have people not working on the same project in that room. Instead everybody is working on different projects, and they may be in Teams meetings and talking and talking about things with zero interest for you, and that can't possibly be productive. Even worse if you're in an office with one guy constantly on the 'phone on customer support or whatnot..


How about when they put the software team right next to the sales team?

This is exactly the problem with open-plan offices: they always do really stupid stuff like this, putting mostly-quiet teams very close to very talkative and noisy teams, with no barrier between them. Then everyone wants to work from home where at least they won't be tormented by listening to the obnoxious sales guy yap on the phone all day and can have their pet keep them company.



Did you have the head of sales ringing a bell for a sale every few hours too?


Airbnb was open plan (it still is, I’m just not there anymore). They also have an amazing Food team who would occasionally, randomly, bake treats for us (this is relevant, I promise).

There was no sales bell, but there was an outage gong. Any time we had an outage affecting the “Book It” flow and revenue stopped flowing that gong rang out. Hearing the gong meant engineers would abruptly leave meetings or lunch to come help fix the issue.

As we scaled and hit the limits of various systems we had periods where the gong rang out semi-regularly (a few times per month). These were hard times for engineers.

Soon, engineering started to push back on Product requests, took the time to re-architect and build better systems, and calm was achieved. Months went by without hearing the gong ring out, then years passed. People joined the company and got promoted, never having heard it ring. Until one day in 2018.

I was working near a pod of project managers, and I hear the gong. Like Pavlov’s dog, it triggers an immediate wave of anxiety in me: something is very wrong. But my blissfully unaware PM colleagues have no idea, it’s the first time they’ve ever heard the gong.

One lady looks up from her laptop and asks: “oooh, did the Food team make cookies?”



Your former is a POS company. Glad you're out, but could you not advertise them? It's easy to just replace the name with, "the company I used to work at," no?


this kind of content-free hate has no place on hacker news


To me, this seems like a positive problem.


Of course it is good, if the sales team succeeds. But it is bad if that means that the developers are unable to do their work.


I think what ends up happening is that you sell a lot of stuff that gets steadily worse over time.


Depends how you feel about $NOISE


> asking quick questions and getting an instant answer. vs chat where I may not get an answer for hours.

All your other points are fine. People are motivated by a mix of external and internal triggers, and you are clearly skewed to the external side.

The thing I quoted is however why anyone geared towards the internal side of things will HATE to have to go to the office while you are there.

Programming requires deliberate thought gathered slowly into a complex matrix in your head before it finds its way to the pc through your keyboard.

Even though I am an extrovert through and through and strongly identify with the motivational aspects of being in an office, me not giving you an answer until an hour has gone probably means more overall productivity for the project than your instant unblocking at the office.



> The thing I quoted is however why anyone geared towards the internal side of things will HATE to have to go to the office while you are there.

That’s really not that obvious. Things like this (being able to ask questions) and allowing other people to focus when they need are not incompatible.

It should be pretty easy to infer for most people whether it’s a good time to start a conversation with another person or maybe you should wait for a few minutes/hours/until the lunch break/whatever



Isn't what you say contradictory?

You are saying that devs need to stay "in the flow". But when you are in the flow and suddenly you have something that blocks you because you have a simple question, the best way to stay in the flow is to ask the question and get the answer immediately. If I have to quit my flow, go on slack, ask on slack, wait 10 minutes, then re-explain because the other person did not get it, then re-wait, ... my flow is ruined.

What you are saying is, at the end of the day, when caricaturing a little bit, that you want your flow to be maintained, but you are happy to destroy the flow of others.



If the question is truly simple it can probably be answered by the codebase or the internet. Otherwise the flow is ruined anyway when you stop it to ask someone in person. One has to load the context that was subconscious into the foreground for explanation of why they're asking.

Instead you want to interrupt your own flow as well as that of others to get immediate feedback on simple issues?

Your last sentence is incredible. No, I don't want my own flow to be preserved at the expense of others'. That's why I ask async and do something else while I wait for them to be free. But neither should I be a necessary component of someone else's flow at the expense of my own.



If one requires interrupting 6 other people to maintain flow, it's probably a good idea to start phrasing (hyperbole intentional) it like:

'To keep my own flow, I need to destroy the flow of all my colleagues'

And not:

'My colleagues destroy my flow when they can't babysit me and respond to my questions asap, how dare they'

It's like driving and then going like: 'Gee, all these other drivers are sure in my way, I need them out of the road so I can get places'. Guess what buddy, they also gotta get places, so damn right follow the laws, wait for your turn patiently and you will get there when you get there. Your colleagues also have stuff to do, and the world doesn't revolve only around YOUR flow.

So write down your questions and observations in a coherent list, stop pinging people one question at a time, or search harder in the docs provided that they exist, sometimes that's even better as a learning experience.



> If one requires interrupting 6 other people to maintain flow

Where is this "6" coming from?

Again:

1) You may be incapable of doing work when someone walks next to you, but this is not the case of a lot of people. It's like driving and then going like: 'Gee, when these cars are putting their blinking lights on and it is distracting me, they should all quickly park before I arrive'.

2) My flow is fine, thank you very much: I don't get distracted by people passing by AND I also rarely ask quick simple questions (people needs to understand my work rather than me needing to understand theirs). It's telling that you cannot conceive that someone may disagree with you without themselves participating to a caricatural behavior that you have in mind.

3) THAT'S EXACTLY MY POINT: the world doesn't revolve only around anyone. If you are inconvenienced by something that is convenient by someone else, then, outside of your little person, THERE IS NO REASON TO CHANGE THAT. If situation A means that employee X gets 6/10 and employee Y gets 8/10, and if situation B means that employee X gets 8/10 and employee Y gets 6/10, then situations A and B are the same.

4) I know that your argument is that your inconvenience is huuuuuge and touch everyone in the office and that the benefice for the distractor is smaaaaal and that the distractor is a terrible human being that should be thrown in jail. That's what self-centered people tends to believe.



If Alice wants to focus on her work uninterrupted, but Bob wants to interrupt and ask a question, what should happen?


That's exactly the question.

My solution is: Bob should try to ask with moderation, and Bob and Alice should work together in a situation where Bob does not need to distract Alice. If Bob needs to distract Alice, then Alice just needs to live with it. If Bob has questions but does not need to distract Alice, then Bob should not ask the question and just needs to live with it.

What confuse me is that some people here just answer: obviously Alice is right and Bob is wrong, all the time except exceptional cases.



I believe we should examine why Bob needs to distract Alice on a regular basis, and attack that problem with the might and fury of 1911 raging bulls and 420 mosquitoes.

> What confuse me is that some people here just answer: obviously Alice is right and Bob is wrong, all the time except exceptional cases.

Joking aside, I do agree with your point. It's not black and white and there shouldn't be fear/hostility connected with simply asking a question. However, 100% being open to questions all the time is simply disruptive for everybody.



If I was Alice's employer and valued her (and other employees) being able to do deep work, I'd have a policy whereby employees could schedule do-not-disturb time (large blocks of it, depending on their needs) where they could shut their doors and turn off IM. Have a red light on the outside of the door, like a film production booth. Book end the day. First 1-2 hours are disturb time. Middle of the day is DND time. Last part of the day is disturb time.

All scheduled meetings have to happen in disturb time.

Now, that doesn't really work for a customer-facing role, at least not without the cooperation of your customers, but having managed a customer-facing team before, I'll say I encouraged my people to schedule office-hour time with their customers to try to channel the interactions in a more predictable period of time.



Email


…Don’t check it during your DND time…

…Set an expectation that the turnaround time for an email response is 24 hours…



> 'Gee, when these cars are putting their blinking lights on and it is distracting me, they should all quickly park before I arrive'.

No! Because the accepted thing is to use your turn signal, as it's acceptable to do some research on yourself before asking somebody, or try to keep your voice down in shared rooms, or to not tap people on the shoulder when they have indicated deep work (headphones).

I am upset from people who DON't use their blinkers, who tap you on the shoulder while you have headphones, and who discuss Game of Thrones loudly next to you while you are trying to work, and I have every right to be. People like that make their lack or desire of understanding or following etiquette everybody else's problem. And that's not okay!

The etiquette of new workers is to try to follow the onboarding documents, and the guidance from their assigned "buddy", and if something is missing, distill the questions they have and go over them with the "buddy". If that's what OP's post saying, fine. But I got the impression they simply like to ask questions cause it's more convenient for them. Let the company, however, use that as a learning and drag itself kicking and screaming to update their onboarding.

> That's what self-centered people tends to believe.

The people who don't use blinkers ARE the self centered people, making their hurry everybody else's problem. A person who asks questions can be doing so for many reasons: not complete documentation, getting bad understanding of something, wanting to clarify some info or to be in the same page as the team, etc.

But if they do so incessantly, then there is a problem, and the problem shouldn't be simply solved by saying: "Yeah, just ask John, he's always available and ready to help". As senior devs and leads and VPs of Engineerings or CTOs, we should foster a place where most questions can be answered easily in a self service manner, and our meetings have clarity on at least the big picture stuff.

If all that is already there, asking many questions all the time can rightfully be labeled a "disruption". In that situation, the person asking questions always makes their problem (not wanting to do some work themselves) the problem of everyone else, and that's what self centered people do. In much the same manner, people not using blinkers (illegal, by the way) make their refusal to follow rules everybody else's problem.



> ... as it's acceptable to do some research on yourself before asking somebody, or try to keep your voice down in shared rooms, or to not tap people on the shoulder when they have indicated deep work (headphones).

Again, nobody is pretending that they want to do that.

> I am upset from people who ...

And I'm upset from them too. In fact, I'm upset from people who have childish behavior and ask other people to adapt to their needs. In this conversation, you call "toddler" someone who did not propose anything that corresponds to what upset you. You just work differently than this person, so you childishly reacted.

You are clearly not better than people who don't se their blinkers or discuss Game of Thrones loudly: you also don't have considerations for the needs of others around you.

As I've said in my first comment on this thread: what if someone is in their flow and just need a quick and simple answer to a quick and simple question. You call these people "toddler" even if they will never ask someone they know does not like to be disturbed.

> But if they do so incessantly

Who is proposing that they do it incessantly?

All I'm saying is that when A needs to ask a question and get an answer immediately and B needs to not be distracted, both to keep their flow, then, logically, there is no solution where someone doesn't lose their flow. And my point is that you act as if someone here has more right to their flow than the other, which is just self-centered childishness.

> and the problem shouldn't be simply solved by saying: "Yeah, just ask John, he's always available and ready to help".

Should it be solved by "if you have a simple and quick question and Jack told you several time that he loves answering these questions and that you should not hesitate, you NEED to book a meeting, otherwise, according to ath3nd, you are a toddler"?

> If all that is already there, asking many questions all the time can rightfully be labeled a "disruption".

WHO IS SAYING INCESSANT QUESTIONS IS NOT A DISRUPTION?

This is very simple:

yes, incessant not pragmatically useful questions is disrupting, and people who do that are self-centered.

yes, asking people to "book meetings" or "write a message and wait hours before getting the simple unblocking answer" is disrupting, and people who do that are self-centered.

Just be a grown-up and accept that, no, people have no reason to cater to your little comfort. Someone tap you on your shoulder when you hear your headphone? Though sh*t little baby! Are you really arguing that these people are the problem when you are the one not able to deal with that. There, a little trick to you: "hm, John, next time, maybe you can ...", and problem solved (and if John does it again, guess what: WE ALL HAVE THESE KIND OF PEOPLE IN OUR LIFE, you are not special enough that the human condition should not apply to you. And based on you calling "toddler" someone while not even saying anything bad, I'm pretty sure you are the "John" of someone else)



> WE ALL HAVE THESE KIND OF PEOPLE IN OUR LIFE, you are not special enough that the human condition should not apply to you.

And I (and most other people in this thread) am fed up with them and trying to actively remove them from my life. Hence, when people suggest I should deal with it, I tell them that I will most certainly not deal with it. That there are things that can be done to make their and mine life easier.

There are people who put their soda cans on the ground, there are people who talk loudly in the train, there are people who park their cars wrongly. Yes, it's a mild inconvenience. But I won't be dealing with it and accept it, I will actively shame them for the spoiled babies that they are, making a spectacle of their needs and accepting everybody to cater to them. Follow.Societal.Rules or get out of society!

> Just be a grown-up and accept that, no, people have no reason to cater to your little comfort

Me putting out all possible social clues that I don't want to be asked questions at the moment is not people catering for my comfort. It's people going through my boundaries so they can get their little comforts themselves.

> Are you really arguing that these people are the problem when you are the one not able to deal with that.

Yes, because they are breaking established social norms and work etiquette. I have clearly indicated by wearing headphones that it's not the time to be asked questions and I have indicated what's the best possible way for me to be asked questions: email, slack, a scheduled meeting, and many questions in bulk.

I most certainly will not cater to how somebody prefers to ask ME questions just because it's more convenient for them to do it ad-hoc. The same way developers of open source want you to use THEIR issue tracker, and fill THEIR code of conduct, and follow THEIR coding guidelines, and not you doing whatever the heck you want.

If you want something from somebody (like information), better follow their preferred approach of how to be asked, and not act like a spoiled little baby when you are told NO.



> And I (and most other people in this thread) am fed up with them and trying to actively remove them from my life.

And OP does that too, but suddenly, when OP does that, they are a toddler, but when you do it, it's fine.

> There are people who put their soda cans on the ground, there are people who ...

and there are people who will call "toddler" people who have just a different way of working and are not imposing nothing bad to anybody else.

> Me putting out all possible social clues that I don't want to be asked questions at the moment is not people catering for my comfort. It's people going through my boundaries so they can get their little comforts themselves.

Again, the person YOU called a "toddler" has done nothing wrong. YOU are the toxic person who jumped on the conclusion that just because they have a different way of working, they will "ask you incessant questions even after I've said it's not how I work".

It is very very difficult to believe that you are not a little baby just after you acted like a little baby when no one proposed anything that has any negative impact on you.

> because they are breaking established social norms and work etiquette.

Breaking established social norms and work etiquette is one thing. Throwing a tantrum because someone has broken established social norms and work etiquette is something else.

Personally, I would say that the socially handicap person that get upset because someone tap them on their shoulder is the one who is breaking the established social norms and work etiquette: socially, the etiquette at work is to try our best to get along, even when the person in front does not deserve it (I dislike this norm, but it exists).

> I most certainly will not cater to how somebody prefers to ask ME questions just because it's more convenient for them to do it ad-hoc.

Let me use an as stupid and as caricatural view as you here:

I most certainly will not cater to how ath3nd prefers to be communicated to just because they are incapable to provide proper onboarding and proper documentation. If someone tap you on your shoulder, it is because you are not able to do your job. Why someone will have to adapt to your failure?

End of the caricature view, now something more meaningful: you deserve to be communicated with in a way that is respectful of your needs and ways of working. BUT you need to respect others people needs and ways of working too and accept that sometimes they will not read your mind.

You keep coming back to the caricatural picture of someone asking incessant questions after you explain them your way of working. As I've said, these people are disturbing and we should not cater for their childish behavior. The problem is that you are treating EVERYONE that way (as proof is you treating OP as a "toddler" when OP did not show at all any behavior you complain about here), and it makes you a child also.

As already said, 2 things can be true at the same time: 1) people asking incessant questions are toddler, 2) ath3nd is a toddler.

> If you want something from somebody (like information), better follow their preferred approach of how to be asked, and not act like a spoiled little baby when you are told NO.

You are talking about people who will say "NO" because they have been tapped on the shoulder. Who is the baby here?

Again, we are talking about tapping someone on the shoulder _once_, and not doing it again if you explain you don't like it. You are just a grumpy baby, the existence of other babies will not change that.



If the majority of people are babies about an issue, then perhaps you should start running a nursery.


> Again, we are talking about tapping someone on the shoulder _once_, and not doing it again if you explain you don't like it.

I don't think I should be touched in the first place. I have put a clear signal that I am deeply working: headphones. The accepted social norm is NOT to bother somebody when they have indicated they don't want to be bothered. I am, of course, going to answer the questions, but can't you simply wait until I indicate I am ready to accept your questions?

The benefit of remote here is palpable: you simply don't have the option to tap me on the shoulder, and you can only call me (in which case it's important enough to call), write me an email (which forces you to have a coherent point, and I can respond to it later) or slack me (which, again, I can postpone for later).

> You are just a grumpy baby, the existence of other babies will not change that.

I don't know about babies, but do you know who doesn't like being said "NO" to and who throws a fit ever time when somebody expresses a boundary? Bullies! People who gets upset when you express a boundary and expect that you should just submit to THEIR way of answering, those are the real babies!

Occasionally asking questions (for which it doesn't matter whether it's office or remote) is okay, especially when starting your job. On the other hand, expecting others to be readily available for your ad hoc queries repeatedly, day in and out, trying to actively persuade them that it's okay, and guilt trip them to continue doing so because it's "their work duty", and throwing a fit when people express a boundary to you, that's what real babies are made from!

Learn to ask questions like a decent worker, batch them, write them down, and with as little disruption as possible, and don't bother people who are deeply focused. Your question can wait, the world doesn't revolve around you, and value your coworkers time! I won't back down from this!



What are you talking about?

OP said "asking quick questions and getting an instant answer. vs chat where I may not get an answer for hours"

It's ALL they have said.

They did NOT said they will "touch your shoulder", they did NOT said they will "interrupt you when you clearly don't want to be interrupted", they did NOT said they will "interrupt you after you made clear you don't like working like that", they did NOT said they will "ask incessant questions that are easily found in the doc", they did NOT said they will "ask you to answer day in day out", they did NOT said they will "guilt trip you to do something obviously unreasonable", ...

And, YOU, YOU called them "toddler". YOU DID THAT. If now you are changing the goal post to "people who guilt trip other people are not nice", yeah, everyone agrees with that, but WHY DID YOU CALL OP TODDLER?

WHY

DID

YOU

CALL

OP

TODDLER?

What is the thing that OP have said (really said, not something in your mind) that according to you is not compatible with a respectful and sane work relationship?

> who doesn't like being said "NO" to and who throws a fit ever time when somebody expresses a boundary?

Yep.

Me: your colleague needs to work, if they are blocked by something that can be easily solved with a simple quick question and that they are being reasonable with their requests, they should be authorized to just ask you. They should not have to walk on egg shells to cater for ath3nd social inabilities, it's not their work, it's not their mental charge on their shoulders, there are boundaries.

You: NO, they should just submit to MY way of being asked a question.

The situation is EXTREMELY SIMPLE: just don't be a prick. You and everyone else.

Don't ask incessant questions.

But also, don't ask people to care for your fragile person who is not able to get one or two questions a day that will help everyone progress.

Not liking question is fine. Just act like an adult about it: discuss and tell them. Don't jump on the first person who passes and says "I find quick question convenient" and yield "well then you are a toddler" without even knowing if this person is a prick or not.

ALL your explanations, ALL OF THEM, they are ALL about YOU, YOU, YOU. You only present situation when you are reasonable and when the interlocutor is a prick. Yes, we know, incessant questions are disruptive (daaaah, it's obvious). But there is more than one way to be a prick. One other way is to be a self-centered idiot who is incapable to help the team because they view everything into distorting glasses (like when you call OP "toddler" for behavior they never had) or because they view their work relationship in a competitive way instead of collaborative (like when you say that the person who ask the question "owns" something to the person who has the knowledge)



The “6” is coming from the original comment in the thread.


In my experience, the typical picnic table sized open-plan/hotdesk furniture usually seats six (three per long side) so, in practice, six people seems like the most common group sizing.


there are 6 people in the room, but as I said, it does not mean that the 6 persons are all distracted. (by the way, the initial comment was implying that the question is coming from one of the 6 persons in the room, so at worst, it's 5 persons distracted)

the question can also be useful for one other person in the room, so instead of being distracted, the person has been helped.



No worries. Was just answering your question.


I can only second this. I honestly had the best time of my (professional) life when I had a little room with the rest of my team.

Asking quick questions in such an environment is also not that much of a disturbance because most people are working on similar features at the moment and there's a high chance that they don't need to do the whole context switch to assist you. It's really highly productive.

For the times where you really needed some time for yourself, headphones work just fine. I wouldn't want to wear them all the time as even the best ones become uncomfortable after few hours, but that's also not really needed in a small shared room.



> Asking quick questions in such an environment is also not that much of a disturbance because most people are working on similar features at the moment and there's a high chance that they don't need to do the whole context switch to assist you.

This is untrue for even small teams in my experience.

> For the times where you really needed some time for yourself, headphones work just fine.

Also not my experience.



That's so different from my work. I work in a team of about 30 people on 1 feature of a very popular app. None of us are working on the same thing at any given time. Most projects have 1 person that works on it or knows how it works. It's sad and isolating. And the company forces this culture by virtue of how promo works.


I worked at a place with a great office layout. A group of a few people working on the same or related things could all have private offices with doors, but it was also easy for people to call out questions to others or gather together to discuss ideas and see what others are up to.

There would be a large room off of a hallway, divided into 8 offices, arranged like this:

  +---------+---------+
  |         |         |
  |         |         |
  +-----+  -+-  +-----+
  |                   |
  |     |       |     |
  +-----+       +-----+
  |     |       |     |
  |                   |
  +-----+       +-----+
  |     |       |     |
  |                   |
  +-------|   |-------+
Each office had floor to ceiling walls, with a door and a large window. Need to be left along to do some deep work or deep thinking? Close your door. Want to be more sociable? Open your door. Put nice chairs or small sofas in the common area in the middle so people can hang out there when not doing something that requires being at their computer (e.g., reading printed documentation).

The larger offices at the top can be used for more senior people, or the group manager, or for a lab, or a library, or a break room.

You could extend this to two teams working on different projects but under a common manager or senior engineer by putting them in separate clusters side by side, and merging the adjacent top offices so that the common manager or senior engineer's office is part of both clusters:

  +---------+---------+---------+---------+
  |         |                   |         |
  |         |                   |         |
  +-----+  -+-  +-----+-----+  -+-  +-----+
  |                   |                   |
  |     |       |     |     |       |     |
  +-----+       +-----+-----+       +-----+
  |     |       |           |             |
  |                   |                   |
  +-----+       +-----+-----+       +-----+
  |     |       |     |     |       |     |
  |                   |                   |
  +-------|   |-------+-------|   |-------+
What we were doing was video games for early consoles, mostly Mattel Intellivision but later also for Atari VCS, and also later for the Commodore VIC-20 computer. That kind of work required a mix of brainstorming and collaboration with periods where you really need to concentrate without being disturbed to figure out how to actually make it work on the hardware (weird processor, weird graphics chip, under 200 bytes of RAM (although later cartridges could have RAM which allowed some games to have more), a couple K ROM, and all programmed in assembly language). That office layout supported that quite well.


I had the privilege of designing a small 4 office space exactly like this for our small bioinformatics developer core. It was beautiful and worked very well. Then the company's legal department decided Legal would benefit more from it and kicked us out. It goes back to how much a company values its developers.


This is the best. Offices with doors, as a semaphore for availability, and a close by common area for collaboration.

If collaboration occurs spontaneously and your door isn’t closed, it’s easy to join in. If it turns out that someone is essential, turn it into an actual design meeting.

The best teams I’ve worked on had this arrangement and developed their own cadence - morning walks for cofeee, water cooler tv show commonalities.

Having the refuge of a known private space made group participation easier - I would seek out and benefit from the social technical in person interactions, as opposed to an open office plan where I would start out with determination of defending my personal mental space at all costs.



This layout seems common for graduate student offices in academic buildings. I was jealous.


I think the key part of that is working on the same thing.

I work in a large company, and team is spread out over multiple cities.

We actually will often to group video calls to have a similar thing to what you describe - being able to ask a quick question, run ideas by other, etc.

However, going to the office I'm just with people who are working on different things, often doing calls which I find distracting...



I always find it surprising that so many people struggle to make effective human connections over chat. I think it must be generational, as I believe these are the connections I and other young people prefer.


Once you have a solid foundation, text chat is almost as easy at maintaining that connection as in person conversation.

Making that solid foundation requires a lot of work though and not everyone has the communication (or empathy) skills to make it work.

Has worked for me, but I'm an outlier in that I grew up on IRC chatrooms before more rich-text and composite media communication methods were available.

Most people on this site in particular are likely to be outliers too: as the way we are communicating right now is as stripped down as possible and people will self-select for this.



I've made numerous friends over IRCs, Warcraft 3 chat channels and whatnot and had preferred it over face-to-face (and I still prefer chat over zoom calls!) but as I've gotten older, I started appreciating talking in real life more and more, and now struggle to form connections over chat. I wonder if there are others who are in the same boat.


You cannot compare an open chat, with a strong interest in a particular topic vs you team's Slack channel.

Online games work well, because you have a visual and full engagement.

Compare that to work communications... You are totally async on slack, it's just a simpler version of email at this point. Just because people are online in Slack today, doesn't mean that they'll respond within minutes.

If someone is online playing a game, you know that they're there. Old IRC was pretty much the same.



I get what you are saying but I seem to find it hard to engage with anyone, even my old friends, over chat these days. We end up hopping into voice chat when we want to catch up.


You'll need a new theory. I've worked with two late millenial/gen-z developers who couldn't hold up a slack conversation to save their lives, so we went to zoom very quickly when they needed anything.


And I struggle to understand how can you make any real connections without seeing and hearing other person. There is so much communication hidden in body language and voice that for me any kind of text communication is just poor substitute. And I am not even extrovert that loves interaction with others (rather the opposite) and still know this intuitively to be true.


I've also never had particular problems making connections over chat (I'm not old and not young); particularly in companies where I've had a chance to meet people in person even once or twice, I've found online communication no problem at all


Old person here, been using some form of chat since 1984 (The talk command on VMS).


I agree. If I have a personal office I might as well sit at home.

I hate open office space as much as the next person, but small team rooms are great. Can have the walls plastered with post-its, screens, drawing boards etc. If I hear two coworkers discuss something, I can chip in if relevant. Information flow just happens by itself.



* i dont want to hear your quick questions

* i dont want to be connected with you, get a life

Let me work



I'm not at work to make friends, but also being connected to the people around you who you are spending 8+ hours a day with is important, I believe. What happens when you need something? Relationships ease communication, and reduce the chances of miscommunication.

Do you just want to sit in silence all day making money for the company? Do you never need to blow off steam? Do you never need help?

> i dont want to hear your quick questions

I'm not trying to be hateful with this next sentence, but I struggle to even understand who would act like this, and for what reason that isn't a diagnosis.



I never understand this. Why being so focused on work, to the detriment of building some relationships with the people you work with? Is this a HN/spectrum thing? Or capitalism-simping where people aspire to be robot-workers with no humanity? Why not enjoy your time at work? After all, you're spending 8 hours there a day, and see those people almost as much as your spouse, and probably more than your friends.


The second reason. Companies that are worse at getting people to self-exploit tend to do worse financially, and thus tend to disappear. Of course, if too many people quit or burn out, then the company will go bust, too. The optimum will be just one step short of that. And whenever someone starts a new company, they will look at the existing successful companies for how things are done.

There is no evil master plan. The processes that lead to self-exploitation will sound reasonable and well-intended. (If this wasn't the case, people would refuse to adapt it. Most people don't like exploitation when they see it.)

For example, in most of Europe there is a law that requires employees to record their working hours. This law was created to prevent (unpaid) overtime, and it does that. Now company X implements this by making you write down how many hours each day you worked towards which task. Doing this every day makes you think where you put this one-hour chat you had with a co-worker. It was nice, but which task did it contribute to? (It didn't...?) If you bother to ask, everybody will actually encourage you to have those talks, that it is even in the interest of healthy company culture, and remind you that maybe it's part of the paid break (you didn't forget you have that, did you? it was never anyone's intention that you skip your break). Nobody will be responsible for nudging people towards efficiency. It's all the fault of the individual who feels pressured into efficiency. It was never anyone's intention to prevent you from having those occasional nice chats, and nobody will stop you if you keep doing it.

Still, every day you get to think about how long it took and which task it belongs to, and it feels a bit like lying to just add the time to a random task. This kind of habit can shape your thinking.



When I was junior I shared an office with a senior. I was constantly asking him questions. He pretty much knew everything, I'm not kidding, this guy was amazing. So this arrangement worked out really well for me, but not sure how much he liked having his work interrupted so much. Could be that between the two of us, the benefits averaged out to zero.


This is where headphones can help. Headphones on, don't bother the person or only chat.

That was an unwritten rule the last time I worked in an open space.



About half at my last job always had headphones on to be able to concentrate.


This is the way


I'm glad you like it. Let's just all remember that other people feel differently and will be productive in very different circumstances. I don't need to feel very connected to the team, they are just business partners who are trading their time for money. If we can be friendly, that's awesome, but I'd much rather be connected to my family.

Personally, I've experienced open office, fully private office etc. Private office/remote are my favorites, followed by small room with a few people (I also had that in the gaming industry, it wasn't too bad) and, in a distant and humiliating last place, open office.



Demanding an instant answer is often a burden to teammates. If they have spare time to answer they will answer in chat. Be patience and be respectful to working routines of other people.


>Some do, not all do. I do much better in a room with ~6 people that are working on the same project. Much better than working at home. Much better than a private office (which I've had).

I wonder how many of these remaining 5 people have a take similar to me. WFH is where I'm most productive and most happy to work. Doing the kind of work you describe above "with 6 people on one project" is for 90% of the time an exercise in babying the least up to speed team member at the cost of distracting everyone.

I get it, some people just like being around people and doing stuff "together", and some types of work may even benefit from that when stars align(brainstorming etc). Most types of work I do in software don't. Especially now, post covid when WFH became normalised and people who were opposed to it on various grounds were forced to learn how to use it effectively.

>* asking quick questions and getting an instant answer. vs chat where I may not get an answer for hours.

That's what the phone is for, with additional benefit of status from everyone. If I see someone is busy I don't phone them I look for someone else, If I see they are "green" I do and I get my answer instantly without disturbing anyone.

>running ideas by others. This doesn't happen on chat for me, and VC is too scheduled

Again, same thing. Pick up a phone. If you just want to run something "by everyone". Wait for your daily/weekly team meeting and ask then. Yes, it forces you to write ideas down not to forget them (if they can wait), but it's massively more convenient to everyone else.

> * brainstorming. Same as above

I had many a good brainstorming session online (mostly with voice). What do you need to accomplish it is: - good audio equipment, Internet access and a quiet location for everyone. No calling into a meeting "from my car, while going to the doctor", or "from the office while people are talking in the background", no "crappy headphones etc". All this ruins productivity for everyone. If people are using cameras(which is nice) everyone has to have the bandwidth for it. Also if you have more than 5 people in your meeting, make use of the "raise hand" feature. Then brainstorming can happen very well. Especially while looking at a document/whiteboard together with systems that show you in real time what everyone does.

In fact above a certain number of people (8 maybe) brainstorming sessions seem a lot more effective to me online than in person. Why? Because you have few communication channels. You have the shared whiteboard/document, voice, and chat so while someone is talking you can post a question to the chat without interrupting.

>getting a feeling for what everyone is up to

That's what regular planning meeting is for.

>feeling part of a team, working on the same thing

I suppose that's a personal thing, but I always felt that including during my 7 years of WFH 100%.

Edit: there is only one real disadvantage to WFH, and it's for junior people wanting to learn. It's much harder to gather knowledge by osmosis, just by being in the office if most senior people are WFH. But then as a leader one has to decide what is more important.



Phone? I'd always leave my status as do not disturb then. I don't know when I'm about to enter a state of productivity. Only once in a blue moon do I spin around in my chair quietly asking someone to come bug me because I'm bored/don't have anything fun to work on.


I work at a 30 person company in a partitioned office designed for four people, including the CEO, a graphic designer, and a secretary. My role involves focused programming tasks, which are frequently disrupted by the office dynamics.

When the CEO is away, the graphic designer and secretary frequently engage in loud, casual conversations, discussing everything from personal matters to home decor, like curtain colors. They also have a habit of yelling over the office partitions, adding to the disruption. Despite using noise-cancelling headphones, these distractions, including both the conversations and the yelling, consistently hinder my concentration.

Interestingly, the secretary has expressed concern about the perceived level of activity in the office, especially when the CEO is present. The secretary has mentioned to both me and the graphic designer that there might not be enough typing noises, suggesting a worry that the CEO might not think everyone is working hard. This concern about appearances adds another layer to the already challenging office environment.



>This concern about appearances adds another layer to the already challenging office environment.

This sentence sums up the biggest headache of my professional career.

I have never worried about appearances, but instead focused on doing good work.

To my detriment. I know I've missed out on key assignments and at least one promotion at my current employer because I don't sell myself or focus on perception management.

I guess what I'm saying is, this exists everywhere, in every field of work.



Thats one reason I prefer small companies. Less bureaucratic BS, more accountability, etc. Sure there isn't as much room for career growth and other downsides, but much simpler.




>This concern about appearances adds another layer to the already challenging office environment.

I sympathize, but I haven't yet had the pleasure of working with other people without the existence of those kind of friction layers.

At my age I just assume now that it's just part of the human condition -- but maybe it's just me.



And so the can of worms opens again!

No. Not everyone wants or needs a private office with a door. It doesn't always make us more productive. It is not always better to work from home. Open plan offices are not always bad. Most of my day is not spent working on something so complicated or advanced that interuption will screw me over. I am spending most of my day building block towers because I can split most of my work into small pieces.

On the other hand, if distraction is a problem, as someone else said, it isn't the open plan office which is at fault. It is planning your time; setting DnD when you are actually doing something difficult; it is making sure that people don't randomnly call your best engineers on the phone whenever they have problem but they instead use chat or email as an async method instead.



Everyone wants to be in some control of their space and thoughts.

I don't have to work on some advanced grand vision to not like being available all the time. I am also not claiming that I am going to be super productive when I close the door.

It is not my fault not setting DnD it - this is what triggers me - no I don't have to set DnD if someone wants something from me they should make sure it actually IS important, they should make sure they got their stuff right by trying out things and thinking about what they have to do and what tried and what they really want to ask.

Then they can also send me an email, send me IM so I can reply as soon as I get to it.

Coming to me 9:00 when I am still taking my coat off and opening laptop - asking questions well that is not my problem not setting DnD.



I like to think that providing a team with private offices and all the old-school perks would help create a working environment where they'd feel more appreciated, and thus end up working better.

If I ever hire a team that isn't remote, that'd be something I'd want to explore. That and giving them assistants. I want to find out what an experienced dev team that doesn't have to bother with any admin or other distractions can do.

Freeing people up as much as possible to just think and build in peace. I like to think that it would make a difference.



This strikes me as very thoughtful, though I imagine I'd end up concerned about whether I was feeding said assistant sufficiently meaningful work...

I would love to have someone else sit in on meetings, but i suspect I'm there in the hope that I'll ask an incisive question to shake a hidden requirement loose.



> That and giving them assistants. I want to find out what an experienced dev team that doesn't have to bother with any admin or other distractions can do.

You can already do that with remote staff. Stuff like planning travels or dealing with reimbursement of expenses is almost always extremely annoying for those who only have to interface with the arcane systems twice a year.



Senior programmer on management side. Personally when I'm coding, yeah, isolated, distraction free environment is my demand. I'm knocking stuff out, achieving flow state. Anything else I feel frustrated that I'm not performing at my peak. I liken it to brain surgery. You wouldn't expect to be well received if you just pop into the OR to discuss getting new scalpels in the middle of an operation.

That being said, it's really the crux of the issue with work from home that the trajectory of the company doesn't really depend on individual workers hitting their maximum output. An individual having the best coding experience is rarely the ideal option for the company. It is far more important that the team moves in a cohesive formation. If the distractions truly cut productivity in half we can double the number of seats. Going too far and too fast without focused guidance results in deadtime and technical debt. It's a tortoise and the hare situation. Would we rather have 10 rabbits moving one brick at a time or 20 turtles strapped together towing a trailer with a full stack of bricks.

It's also not like we haven't tried to make remote work and other options be successful. The reality is that it's something we can pretty effectively A/B test. The results have been fairly consistent across fields and even companies. Physically collaborative environments yield better and faster results.



> If the distractions truly cut productivity in half we can double the number of seats.

Usually salaries cost more than offices.

> Going too far and too fast without focused guidance results in deadtime and technical debt.

Focused guidance requires intentional communication. Not hoping people will overhear the right conversations.

> It's also not like we haven't tried to make remote work and other options be successful. The reality is that it's something we can pretty effectively A/B test. The results have been fairly consistent across fields and even companies. Physically collaborative environments yield better and faster results.

Show the data.



> Usually salaries cost more than offices.

Yes, they do. But productivity is not linear.

> Show the data.

I don't have the data, but the reasons behind agile are exactly that - extremely collaborative environment.



> An individual having the best coding experience is rarely the ideal option for the company

I think a company that wants to keep talent for as long as possible without offering FAANG level salaries should reconsider this position. Hiring is super expensive and risky. If you have good people, you want to keep them. I think offering flexible, meaningful and enjoyable work is a great way to keep people around longer and if it matters to them that they have a space where they can focus, I would give it to them. Creating an environment where they are less happy probably will make them look elsewhere.

That said, I do agree that siloed work comes with a set of issues, but I think there are other solutions to the problem.

> It's also not like we haven't tried to make remote work and other options be successful. The reality is that it's something we can pretty effectively A/B test. The results have been fairly consistent across fields and even companies. Physically collaborative environments yield better and faster results.

I have never heard this and I don't even know how you would measure it. There are so many variables this would affect, not to mention, how do you even measure productivity short and long term? Do you also measure turnover? I don't think we actually know nor do I think results from one place translate over to another. I've done both and both have worked and have had their own set of challenges. My personal take is that hiring good people matters more than whatever setup you have. Remote gives you a bigger pool of people to pick from and is desirable by many, so based on that I think that it can give a very big competitive advantage.



Although I am sympathetic overall, it really isn't about programmers, it's about anyone doing mental-flow work with focus. Open plan is for a different state of mind and product. It can be condusive to some good outcomes, but the cost is the loss of flow.

Writers need flow. People studying need flow. I could imagine techs looking at breast cancer scans need flow. It isn't only programmers who need this.



In the same vein, an office with a door won't help at all if you have higher-ups who expects instant responses to any messaging/e-mail query every five minutes.


Well, if you don't answer instantly, then you are stopping them in their flow.

I've noticed this some times ago and now I cannot unsee it: this all discussion is too often about "what is best for me and my flow even if it ruins other people's flow" rather than discussing a proper solution.



I'm not sure you are talking about the same thing when you say "flow" that I think most of the other people are talking about when they say "flow".

Flow as most are using it here, also known as being "in the zone", is when you achieve a deep state of focus on one particular task, and everything else seems to melt away. You reach maximal energy and enthusiasm for the work. It is where you reach peak productivity and creativity.

Most people cannot just enter this state at will, and when they do achieve it cannot maintain it for more than an hour or two. Getting into this state takes 20 to 30 minutes or more.

When you are in this state it takes very little to knock you out of it. A ringing phone, someone talking to you even if you just tell them to come back in a couple hours, a beep from a messaging app...all of those can knock you out of the zone.

Getting back in after being knocked out takes another 20 to 30 minutes. This means that if you are getting one interruption or distraction every 30 minutes throughout your time at your desk it is unlikely that you will get any time in the zone.

>> In the same vein, an office with a door won't help at all if you have higher-ups who expects instant responses to any messaging/e-mail query every five minutes

> Well, if you don't answer instantly, then you are stopping them in their flow

In the case of a manager interrupting you they probably weren't in the zone. But even if it is someone who was in the zone that is interrupting you them having to stop and message you was probably enough to knock them out of it.

It will almost certainly be more productive for the organization overall for them to work on something else until you naturally exit the zone.



Hm, I think I have the same definition of flow.

For example, you can be "in the zone", and then suddenly realise you need answer X than only John can provide. In the office, you can look at John and he does not look busy, so you quickly ask. Sometimes, people don't even realise they are asking, they are still in the zone, checking if John is available is done by another part of the brain. After the answer, you continue, you are still "in the zone", you still have everything you need in your head, you are still juggling with different variables, they are still there.

Now, if you cannot ask directly, you have to send a message on Slack. And then what? Well, you cannot continue to work on the part you were working on. So you have to switch task, drop all of the variables you juggle with in your head, get out of the context you were in. Then John answers you on Slack 10 minutes later, you have to recollect everything in your mind.

So, yes, that's my point, not being able to ask a quick question will destroy your flow. The effects are the same as being distracted by a question when you are "in the zone". I don't think that asking someone about something is enough to get out of the zone, as in practice, developers "ask" their computer or internet things continuously. A simple "ls" or "ctrl-f" is as disturbing as asking the colleague sitting next to you.

Of course, it may depend on people, but I think it's just not a smart way to approach the problem as if everyone is always working exactly the same way you do.

I also think that some people will think stuffs will break them out of the zone when it does not always really do, just because they don't even notice the thing happened when it does not. It is a bit like those people who say "I always wake up when the cat pass next to my window" just because the 5 times they woke up, the cat was indeed passing next to their window, but the cat passed there 50 times without waking them up.



This is the manager's or marketeers version of flow. It is not the kind of flow we're discussing here.


Agreed. Even back when I had my own single office I got interrupts all the time. And I need flow when programming. Every interrupt cleared the cache and I had to spend time building it up again.

I used to work from another time zone for a few years. That was highly efficient. The first half of the working day there were no interrupts and I could go into the flow and be productive. The second half, or more like the last three hours I would have video meetings and back-and-forth emails etc. and just doing "normal" slow programming - not the type needing concentration and flow. People emailing me about stuff would do so when I was sleeping, and when I started working I could start by going through that, plan, start working, and have it ready for them when they got up and began working. It was ideal, in many ways (except that I couldn't physically drop by the office whenever I wanted).



Surprised not to see a link to Joel Spolsky’s (20 year old!) on the bionic office with private space for all programmers : https://www.joelonsoftware.com/2003/09/24/bionic-office/ this has been known for decades.


The older i get the more i think, the project management paragdigm should be one of protecting the productive core at all costs from external disruptions.

This includes deriving the actual wanted goals early in the project, planning properly and the violently shield the engineers by keeping external factors like the management microcosm, stakeholders and non-developers busy with busywork, placated with blatant lies and overall away from doing damage. Regarding the engineer team organiziation - they will work something out.

They don't need that car-production-belt whistle and whip.



But, why offices at all? All my productivity problems are solved by just working from home.


This. I'm about to build a dev team next year, and my co-founder is kinda disappointed that I want them all completely remote. He's the old-school "let's have a big office where we can all get together" and I'm "let's not and say we did".

I can see way down the line there'll be a problem with Engineering vs The Rest because we'll be remote and they'll be in an office. But tbh there is always a problem with Engineering vs The Rest regardless.

I want my devs to be able to switch Slack off, not answer emails, go for a walk in the park, and stare at the ceiling for hours while properly thinking about what they're building. Too much code is written in haste.



may your project prosper.

You sound like my current employer. Working for them the only worrying thing I ever think about is that I don’t want this gig to end, ever.



Have you guys ever thought about the fact that there are nerds that like so socialize and hate working from home, because it gets f'ing lonely after a while? I want to see people. The corona pandamic where I worked almost 2 years from home drove me into a severe depression.


Yes, I have a theory based on this. I think that roughly 40%-60% of developers prefer remote, the remainder prefer in-office. So if you mandate in-office, roughly half of your developers will be unhappy. If you go full-remote, again, roughly half of your developers will be unhappy. So what do you do? I think you have to pick one and stick with it. Over time, you'll collect people who prefer remote or in-office. It won't be easy, but doing "hybrid" is absolutely the wrong decision, that makes no one happy.


The reason I like the office is mostly for the free food and events. I don't get much more out of my coworkers by being physically close to them. They don't like to be bugged (I don't either, usually). Maybe a little at lunch when I can pick their brains about random crap that doesn't warrant a meeting but not much.


I really believe your number is more like 80%. But yeah, the overall idea stands.


Have you ever thought about the fact many people like to work from home because it leaves more time to socialize with family and friends?

Pandemic restrictions have ended. You could eat lunch with a neighbor who hates working from home also. Or rent shared working space.



On the other hand I have no interest in socializing with my colleagues, and I'm no intravert either. I have plenty of actual friends outside of work, and the nice thing about working from home is that I can catch up with my mates during the workday while still working!


Well, yes. I used to have my own office, for most of my career. Then when we had to move offices there wasn't enough room for that, so now we have smaller or larger rooms with from a few to many people. In general I'm much less efficient when working like that (the only exception is when I, for specific purposes, join up with another person to do work in tandem with something. That can be highly efficient, but it's limited to just those specific cases). So that's one reason I use my home office most of the time. But it is useful to meet up with the others once in a while (and not just by Teams), so after this morning working from home I'm heading to the office for a few hours.


I read maybe two or three of these articles here on HN, and I am totally convinced that this is true, but my boss is not reading HN and has a different opinion. A shared office is also cheaper for him, so I need more than forwarding a link to an article to convince him.

I would love to hear more about how people actually changed their situation, other than the obvious way of looking for another job.



In my case, eat heavily seasoned high fiber foods. 6 weeks tops.


You can't you vote with your feet unfortunately.


While I don't really _disagree_ with any of this, I want to raise a point from the other direction - it's possible (and for some of us, absolutely necessary) to build software such that holding a large "structure of thoughts and possibilities" in your head is not required.

I find myself largely incapable of doing so, open-plan office or not, and have compensated by adopting development approaches that break problems down in consistent enough ways (into small enough pieces) that the structures I have to pick up and put down are never all that complex. Which is good, because they fall out of my head just all the time. ADHD, a very poor memory for detail, and a role that has me responsible for juggling many tasks concurrently would _destroy_ my productivity if this article were universal truth.

Don't get me wrong, I _hate_ working in an open-plan office. But the impact it has on my output is not because the interruptions affect my flow, it's because the constant social contact stresses the heck out of me >.



Current writing something like BLAS from scratch for 2 years. I admit that my house is a better work place than my lab. Writing loops and let compiler to optimize that for you is easy. But thinking in terms of vector, tensor, broadcasting, parallel and then convert everything into bit operations is hard. Seriously I can't do any low level implementation in office environment.

For high level stuff like architecture design and writing application functions, I appreciate pair programming. I think that is more effective and creative than working alone. But still everyone doing their own stuff in a big room is not my kind in this situation.



Favorite office setup as a programmer - was early 2000's.

First key feature - 50% of the exterior building walls was windows, the other 50% had offices.

Second key feature - cubicle design. It was staggered duets of cubes. Great for privacy... and at best made it easy to turn around and talk to 2 other people if needed. Best of all... each cube had a full window instead of your classic wall. And these windows would all allign so that you could see straight out to the outside if you wanted. You had privacy - but still daylight.

Most "cube farms" I see are a sea of interior cubes completely surrounded by wall of exterior offices. That's depressing. Or we see an open office concept where everyone has light but 0 privacy which is hard for concentration.

This particular design that I got to work in circa 2002-2005 was delightful at least for me (and then we moved offices and that design sadly didn't carry over).

I miss well designed cubes.



In my whole professional life (last 15y) there was not a single time where I had anything resembling a private space where I could just close the door and work in peace.

The norm here in German startup world seem to be open floors. And if you do have rooms they get crammed full of people.

It's not the end of the world though. A room full of engineers is tolerable, and if they're on your team this is even desirable.

The trouble only comes when the CEO wants to see everyone sweating, so you get stuffed together with Sales or Ops.

Working from home made things a lot easier though. And if the company is big enough it's usually also possible to just book a meeting room if you need to work in silence for a while :-)



> A room full of engineers is tolerable, and if they're on your team this is even desirable.

Until one of the engineers who has no social awareness decides to eat at their desk instead of taking lunch elsewhere, or you just need some silent time and there's just no option for it.

I'm very reluctantly pursuing on-site or hybrid positions as a last ditch (desperate) effort to find some work, and I'm not the slightest bit optimistic about being in a room full of anybody. I used to think an open room full of people was the better choice, but that was when I was young and naive. Serious focus demands control over your senses, and there's a difference between setting up at a bustling cafe and going in every day to sit directly adjacent to the same people with no concept of real private space.



>Until one of the engineers who has no social awareness decides to eat at their desk instead of taking lunch elsewhere

Maybe he's aware, and just doesn't care because the company has already made him miserable by 1) not having an "elsewhere" to take that lunch, and 2) putting his desk right next to the sales team.



Could very well be, in which case that would be even worse.


>no social awareness decides to eat at their desk instead of taking lunch elsewhere

What? How is eating your lunch at your desk a social awareness thing? If it doesn't smell and isn't loud, what's the problem?



It requires social awareness to be conscientious of the fact that it might smell or produce noise. I'd wager that anyone who's worked in an open office and is sensitive to these things could attest to the prevalence of people who underestimate how often they chew with their mouth open, for example.

In one case, an adjacent developer was bringing in hard-boiled eggs and cracking them against the edge of his desk while wearing headphones and chewing with his mouth open, while the smell of the eggs wafted over the 3ft to mine, and then he'd get started on the apples. He'd do this 3-5 times a day, so needless to say I'm not enthusiastic about open offices. I did also awkwardly bring this up directly with him, but it's tricky to navigate a situation in which it's not just the food, but also the mouth sounds and occasional burps. If I did get a break from this specific person, it would just allow the sounds from everyone else eating chips or having conversations to be more prominent. By the time covid roled around, I was already burnt out from trying to compensate from all those things, and the respite I could have got from working at home just arrived too late to save me.



> If it doesn't smell

I guess that's exactly the problem. The only food which doesn't smell is cold food.



Ya that's what I meant there. Someone who is both eating lunch at their desk and who lacks social awareness about the sounds and smells.


>the CEO wants to see everyone sweating

In all seriousness, sweating is the biggest factor for me. My clothes smell so much nicer ever since I began working from home



My analogy for some kinds of programming is mental juggling. Good programmers, juggle lots of balls at one time: the problem components, constraints, other problem elements, production issues, reliability issues, all the possible solutions.

A programmer starts with a couple of these, gets them in the air, then adds more and more concepts. When I am good I can juggle lots of them and see how they interoperate.

Once all the balls in the air, whirling around like some sort of planetary system orbiting a sun, they can coalesce into -- an idea, a solution, or something.

If this gets disturbed, all those balls come tumbling down. This is not a 30 second thing, this can be an hours thing. Or more.

Non programmers do not understand this process. I believe.



The article oversimplifies things a little, IMHO.

It's not the open floor plan office that's the main cause of the problem for DnD type work, nor are offices with doors a general solution.

It's all about policy. A separate office with a door doesn't do you any good if every ten minutes someone drops by to knock on it. A private office also doesn't help if you're constantly bombarded with "urgent" messages from various people and are expected to instantly reply.

Most of the issues can be solved by simply implementing reasonable policies. Can't deal with the noise of an open plan office? Provide ANC headphones. Need time to focus? Define binding "focus hours" each day during which no meetings are scheduled, no messages are sent, and people are left alone. Keep the inevitable exceptions to an absolute minimum.

In addition to that, it also helps to have separated spaces (e.g. meeting rooms) available that can be booked for DnD sessions if the need arises.



I always see noise cancelling headphones put forward as a solution to noisy office environments . . . I don't want to wear headphones. I don't want to be cut off in my own bubble. I want to be connected to my environment, and I want it to be a nice place to get my work done.


It's not the solution (plus they have an "aware"-mode that doesn't shut you off completely), it's a possible solution and a rather simple and cheap one at that.

Depending on the circumstances it isn't always possible to provide a work environment that everyone considers to be a "nice place to get work done". Some people don't mind background chatter, others can't concentrate if someone as much as coughs somewhere.

It's also a bit hard to not being being cut off in your own bubble as you put it, while simultaneously wanting to be connected to everyone else. Being in a separate, single desk office is no different from being in a bubble in that sense.



And some people don't want to stop interacting just to cater to you, and some people want you to answer their question immediately so they don't break their flow.

And I have sometimes seen people saying things similar to you, and then being loud or distracting when it was more convenient for them.

I understand your position, but as usual with these discussion, everything seems to always centered about "what I would prefer" rather than trying to understand everyone's needs.



DnD? I can't not read Dungeons and Dragons. Debug and develop?


Do not Disturb.


Once someone scheduled a meeting with me on focus Friday. So uncool. I almost declined.


> Can't deal with the noise of an open plan office? Provide ANC headphones.

Company-issued PPE for hazardous offices?



I worked in an office with 10 other people once.

It worked well, as long as the other people were devs or admins who didn't phone all the time.



The shittiest thing about going back to the office after the long WFH period has absolutely been the normalization of taking calls at your desk in the open office environment. At least before we had the mutual understanding that it's loud as it is and calls are to be taken in meeting rooms or anywhere else really.


Having worked in both open floor plan and private offices (9 vs 8 years respectively) I’ve come to the conclusion it just doesn’t matter.

What matters is the culture. A culture of “I’m working, only interrupt me only when necessary and keep the chit chat to a minimum, and retreat to a private space for long conversations” is basically the key. That and noise cancelling headphones.



It feels like there's a lot of productivity theory associated with private offices versus open office but I think the issue is rooted deeper than that. This is an organizational decision and it's one where it needs to be made with the organization's core objectives.

However, what it sometimes sounds to me is that there is this hope of a magic combination to crack productivity effectiveness through open offices or closed offices (or any other low level leveraged idea, like return to office vs remote office). The reality is that any configuration can work if the leaders of the organization are cognizant of the ramifications on the different employed individuals and address them accordingly -- but I believe most skip this chapter in leadership training.



Open office layouts might work for some jobs like sales or similar, but I always argued that even the desk placement has an impact. For example, I personally prefer to have a wall behind me instead of others walking or standing or chatting behind me. It’s just a big distraction, plus the usual interruptions that you get because you are sitting next to them. Additionally, if you are sensitive to noises and sounds like me, it’s even worse. In one of my jobs, it was like that and - since it was in engineering - the workshop was next to the office and you can imagine all kinds of noises. The worst part is I tried to explain that this environment is the worst for anything beyond just filling forms or doing presentations, but they never changed anything and even remote work was discouraged. I had to leave that eventually


The arch keystone got me thinking. What is a keystone and what makes it different to any other stone in the arch? Surely all the stones in the arch are needed to hold the structure in place. If any stone were to be removed the structure would collapse after all.

Most arch stones are precisely cut. Or at least we pretend they are precise. The keystone is different because it’s an oversized wedge that you slide in at the end to pick up the slack. You can’t cut it precisely because you don’t know how big it needs to be until it’s doing its job. Once in place though, you can trim it down to make it look like you knew what you were doing all along.

There’s a metaphor here, I think, for the style of “engineering” we see in software. It’s not a value judgement other than to acknowledge that, with software, it’s ok to be good enough and to iterate. Lots of real world engineering is like that, but keystones may be an exception.



I think it was Fred Brooks, in the classic The Mythical Man Month (all the back in 1975), who noted the importance of not interrupting programmers' trains of thought. One of the general recommendations was to turn off phone ringers, for example. If it takes 15 minutes to get back into a concentration groove, being bothered 4 times an hour is a guarantee of destroyed productiveness or quality or both.


My first job out of college (~2007) had an open office plan. The development team sat right next to all of the sales people making phone calls during the day. When someone made a sale, they would scream loud and then ring a bell (loud cheers then proceeded from the rest of their team).

This happened at least a dozen times/day. We were allowed to wear headphones, but could not listen to anything streaming online. I would record 8 hours of streaming radio the night before and then transfer it to my Ipod nano in the morning. I was usually so sleep-deprived that I didn't have any time to check the recording before work. Once/month, my Internet connection would go down and I would have 8 hours of white noise (those days were a nightmare).

I eventually figured out that I could RDP into my server at home and stream audio from there, and listen to it through the RDP connection. The Internet filters they were using couldn't detect it.

I think what finally made me quit was when I found out management had screen-monitoring software installed on all of our computers and would review it every hour.

A co-worker discovered it by accident and due to my inquisitive nature (which sometimes gets me in trouble), I tried to telnet into the listening port we found on his computer (to see what it was) and it completely crashed their monitoring software (must have been really shitty software). I was hauled in the next day and questioned to see if I did this with malicious intent and he was fired )I guess they were watching him for awhile and were gathering evidence. He had worked with the company for 5 years).

I got out at a good time. The company in question was in the loan industry and it melted down a year later in 2008 and the whole development team was laid off.

I hated this office experience so much, that since the job I had after this, I've only worked remote jobs (and still do) in my home office or office space I personally rent. I don't think I could ever go back.



I work remote, so I control who interrupts me. I can turn off Slack notifications, I can close my email, I can put up a calendar entry for 4 hours.

But I still have to do something to control my time. A door isn't enough, because someone will just knock or open it. You have to put in effort and plan ahead to control your workflow.

A lot of people seem to believe that work should be easy. It's actually difficult and complex to work really efficiently. It requires knowledge of how to work efficiently, and then it requires a lot of people to stick to a process, someone to measure it and keep people on track, and continuously changing it to improve. That's a lot more than just "don't interrupt me".



When I graduated from college, never have I envisioned once that my optimal workspace is just a laptop, working from home, while spending time with fam, and get some hobbies done at the same time.


>while spending time with fam, and get some hobbies done at the same time

Getting paid to waste time not doing your job is considered work now?



> Getting paid to waste time not doing your job

Pretty much the definition of 90 % of all the meetings. Just putting on bluetooth earpieces and doing the laundry doesn't deduct the value of me hearing another round of very efficient 'cost savings' that they thought about somewhere up the chain or other administrative ideas.



Ever notice how the free range chicken tastes better?


Instead of wasting time browsing news sites playing on your phone or just zoning out during downtime, actually being able to take a break and do something you care about instead is _awesome_


> Getting paid to waste time not doing your job

You mean commuting? Getting commuting hours back each day allows you do to hobbies.



I should mention that listening to heavy metal music very loud is my hobby. This is impossible in a work setting.


We're always doing our jobs, even while we sleep! You can't switch off your brain (well I suppose you could try meditation).


> Why do need/want ?

I'm starting to consider these sorts of low-effort, divisive titles as click bait these days.



The internet repeats itself a lot. If you want truly novel and thoughtful content you will want to turn to books. Audiobooks are fine, so are obscure technical corners of the web, what you want is the deep and expert content that is not surfaced in the short feedback loops of the internet.


Similar issue: My small-ish company used to hand out the emails and phone numbers of its programmers. After enough of them threatened to leave because our customer-facing offices were constantly distracting them from projects, their policy changed entirely. Now there is a Jira firewall, managed by a liaison, and we get to things when we get to them. A distraction-free environment is the only way to get your money's worth from a good programmer.


My ideal is somewhere in the middle. I don't necessarily need a private office, but a shared space with a small team. This way, I'm privy to all conversations relevant to me. Knowing what's going on often trumps the productivity gains of a quiet work environment.

The issue is large open offices where I'm also privy to all the other distractions from other teams that aren't relevant to me.



À previous employer decided to switch from single to two person cubes with announced objective of enhanced collaboration. This intense developer got mated with a non technical social butterfly. Interruptions verging on harassment.

I called the environment: one developer for the price of two.



I know opinions differ. My best experiences have been when sharing a office with one developer, both working on the same project. That way, if we had to discuss something, we would not disturb anyone else, and if not, we both could work in peace. It was easy to see how busy and "deep" the other guy was, and not to interrupt him at the wrong time.


Not to create too much of a political tangent, but the lack of private offices, or rather the ubiquitous mandatory nature of open offices, and its universal unpopularity with non-managers, is evidence imo that tech could use a union or professional association or guild or something.

Oh sure you can talk about high comp and career mobility. But where does all of the vaunted labor power of software engineers go when they ask for something as simple as a cubicle?



In my opinion, you might have an overly optimistic view of unions. And you might also be ignoring the downsides of unions.

I get that unions were/are necessary for things like mining workers or so, but SWE is quite different. I'd expect a union to be net-negative in our sector.



Systemic problems require systemic solutions. For over a decade now we’ve seen a steady supply of blog articles, studies (e.g. https://arstechnica.com/science/2018/07/in-open-offices-work...), and choruses of comment threads all agreeing that coders do not like open offices. Yet all of this is empty sentiment because managements don’t seem to care; they might not even notice. Now, a union might not be the solution to this. I already mentioned alternatives. Maybe there should just be more general participation in the ACM/IEEE and give it lobbying power. But the principle is that some sort of collective action seems to be in order, because there’s collective disgruntlement, yet the issue is still unaddressed.


Who makes the decision on office layout? Like specifically, what is the name of the role in a company that does this?

Further, has anyone talked to one of these persons before on changing the office layout to a developer-friendly design?

I've really wanted to do this but I'm not sure who in my company I would talk to about it.



Working from the office ONLY works when everyone else is working from home and I'm the only one there.

At which point I might as well work from home, and sell the extraneous office space.



I think it's also important to recognize that companies tend to accumulate people with very little respect for other people's time. Sometimes you need to Pavlov your coworker into writing things down to discuss at a later time, and that you're not mad at them, just busy.

Pomodoro technique also helped me shape my focus state into smaller, less efficient, but more predictable portions. By scheduling interruptions, I figured out it's a lot easier to handle breaking out and into flow stat when you're training that every 25 minutes.



For me if I get into a topic (like 2-3 hours focus time) then interruptions are OK, I won't drop context until end of the day.

If the interruptions happen early in the morning so I never have the 2-3 hours boot up time, then that day is pretty much a zero from lines of code produced perspective.

Note: if it's some trivial boilerplate code then I can even be productive without booting up and with constant interruptions, this only applies to things I don't know how to do and need to research/think



i'm the same, the morning is the most important time and i hate when people initiate small talk when i want to focus


At has been echoed in the article and in the comments, so many people are different. I write and run software in my head long before it gets into a text file. This is very mental work but I could do it at the Super Bowl successfully. I zone out like a pro and can get completely lost in my head with no fear of distractions.

Conversely when I am debugging or doing more creative stuff like systems design work, I love distractions. For some reason the momentary interruptions really help me reapproach the problem from a new angle.

When all else fails a crack open a beer, my very best work has always been done while sipping a cold one.



Can we be done deriding cubicles now? And how about we put saloon doors on them that enable occupants to communicate "not right now"? And if they're left open it means: "come on in and interru me!" ?


Has office with door - but 15 Slack channels with notifications on. Plus a twitch stream for some game plus a endless youtube of a "relax/study" channel.

You think nobody sees what's on engineers desktops?

Of course they're all Carmack-level geniuses...

Literally sandwiched between breathless "How Github CoPilot produces 80% of our code" articles from the likes of Shopify and "How laying off a thousand more fixed my stock" from the Spotifys.



It really depends on individual. Some, especially juniors, needs to have a sentry behind their back because the moment you will look away, they will start doing something else, like watching YouTube videos


Those ones need to be fired, not babysat. Well... If they're hourly anyway. If they're salary and want to take breaks but they get their shit done, they can do what they want.


Stack Overflow / Fog Creek famously embraced private offices: https://stackoverflow.blog/2015/01/16/why-we-still-believe-i...


I find working in shared office of up to 2-3 people to be doable. 2-3 people can learn and agree to be quiet most of the time. If you have a meeting, do it in a meeting room, respect each other's privacy, etc.

But it highly depends on who you're getting as an office mate. I've had mostly good experiences, but I've had one very bad experience too.



Nobody should have an open office policy. Anyone who says they have that is either lieing. Either they don't believe in such a policy and hope you don't interrupt, or they really do believe in it - except they are never in the office anyway.


In defense of the distracting open plan office, I find that I can only really be productive when I am being disrupted semi-regularly. My talkative boss or my noisy coworker are distracting and theoretically take me out of flow, but ai wouldn’t even reach that flow if they weren’t there to make me want to get there (or just provide enough stimulation to sate my hungry brain).


I often go in so that if necessary, I can pop in and code on their computers a bit if my teammates get stuck somewhere. Yes it’s like babysitting but it takes so much longer to walk them through & explaining how to fix it over chat


I think there's something to be said about the benefits of a collaborative environment. Junior Devs may be discouraged to approach senior devs with questions if it feels like they're walled off from one another


My favorite work environment is being in a team-sized conference room (3-6 people). Conversations tend to be relevant and I can tune out any that aren't.


Doors, kind of furniture I'm missing lately... With kids at home doors need to be equipped with a lock. And it helps to have ensuite too...


God. That website literally has one ads for every few paragraphs.


If I had an office with a door that I could shut, I would go to it. No offices are like that, unless you are some big wig that, doesn’t code, and hence I am not going to any office any time soon.


Open plan is great for juniors, but not so much for seniors with a ton of responsibilities already, and who now, the juniors look to for mentoring.


I've found open plan works well when it's a quiet environment. but putting programmers together with the sales folks.. probably not a good idea.


To me, it's not so much offices with doors, but rather some sort of barrier between work and distraction. I don't want to hear about TikToks or food if I'm actually trying to work. An open office layout would work if everyone spoke in hushed tones about work-related stuff, but when it's about stupid shit it's impossible, and "putting on headphones" to ignore everyone is cuck tier and emasculating when other people are giggling and having a great time. Naturally what tends to happen is that no work gets done. Over time what happens is that I stop caring about work entirely and enjoy the office environment exclusively for the shit talk aspect. Whenever I need to get anything done I work from home.


Open floor plan is why I am way more productive working from home. Because of that I go into office about once every three months, just so we have in person white-boarding sessions (no actual coding work is possible). Hard wood floors, sales guys talking loud on phones, people buzzing around the office. It's impossible to focus on any non-trivial coding. And no, I'm not going to wear noise cancelling headphones all day.


Silence among silence is emptiness. Silence among noise is true silence.


Private office with doors? I don't need an office at all, I WFH!


I ctrl + f the article for porn, that didn't satisfy me


Very good article, and well explained I thought


For me it’s because my cat won’t stop trying to step on my keyboard.


Headphones are my virtual room with door.


so many screens of text and not one mention of slack, which is the real productivity killer. Something that no amount of doors or offices can protect against.


Slack can be closed or at least crippled by muting every channel.


unfortunately that's not all, my coworkers in all of the last N places have been conditioned to treat you as an evasive hostile psychopath if you don't respond to their DMs within minutes.


I have to pass gas all of the time due to my gut so if you insist on me being in an office setting of any kind... prepare yourself for the worst.


I e actually never seen an office with that setup from startup, to mid and multi nat corps.


The fact is that there are different sorts of people. Some people know what it's like to do deep, sometimes difficult, independent work on their own. These people have all been ICs in some field. There are also people who have been ICs who have never known such a feeling. And then there are people who have only ever been managers, who also have never known such a feeling.


Judging by the comments here, nobody is doing pair programming / mob programming?


Pair programming is one of those things you hear about so often, but I've never worked somewhere where it was actually done.

Most devs, myself definitely included, don't wanna sit there with another one while they work on a single problem. We both have our own respective tickets to worry about, who's got time to split entirely dedicating to 1 ticket that isn't yours?

Instead if we hit a major roadblock we'll shoot out a message like "hey dude got a minute?" And hop on a huddle on slack, but I definitely wouldn't call that pair programming the way it's usually implied



My team is fully remote and we definitely do pair programming from time to time. Not so much mob programming as much as mob code review on occasion to understand significant code changes and their related decisions.

But not nearly to the degree as my old job pre-pandemic that was roughly 3 days a week all in the office and 2 days a week whatever you wanted.



I can’t even imagine creating my own ideas while someone in my personal space is talking. At best I can only sanity check his ideas.


Mob programming is so easier in a call with shared desktops that at the beginning of the pandemics when we were wondering how we would work after people returned I was pushing for we never do it in a conference room again.


Nobody is doing pair programming / mob programming. At best, some people are talking that it might be interesting to do.


There are people who dream that programming looks like "team working programming" stock images[0]. I've no idea why they want this to be true but it wouldn't be the first time people have tried to force others into their bizarre dreams.

[0] https://duckduckgo.com/?q=team+working+programming&iar=image...



You can do pair programming/debugging great remotely with VSCode or Visual Studio live share.


I don't think pair programming exists in reality. It is talked about a lot.

Pair debugging does exist but only when stuff goes wrong. This is the vain hope that perhaps two people can make up one competent person when the shit has hit the fan.



And quite often pair programming could be done by single programmer and inanimate object.

Still. It does often work, specially if the other person has better knowledge of technology or code in question.



Because my ADHD means that if I don’t have a closed door I will literally never get anything done.


Not directly related but I noticed that I can be most productive and focus best in a cafe where there is a continuous white noise. Why doesn't this happen in an open office? Also as I see in 40's movies, the newsroom of newspapers were open offices and I can imagine concentrating there. That must be an interesting collection of noises, typwriters, telephone conversations, joking around etc. etc...


We don't, we can work from home instead.

I'll talk personally. I'm autistic(like what 75% of programmers?). Interruptions can potentially ruin my day.

If I'm working in an open concept or cube office, there needs to be perfect silence the entire day. If not, I basically can't work.



Some prefer chaotic backgrounds, while others consider the Monastic silence of a monastery truly divine.

For hard problems (months/years), I think it requires cycling through both context states for a time. This is something nootropics proponents often tend not to recognize.

Some hard problems will persist, no matter the amount of resources thrown at the issue. At some point a Plan B becomes C though Z, and its time to prune the project scope to ever hit a launch date.

https://en.wikipedia.org/wiki/Sisyphus

Quickly recognizing when a team has lost is important. =)



> These two types of work were first identified, to my knowledge, by the programmer and essayist Paul Graham.

The identification of flow state in programming was known well before Graham. Steve McConnell's Rapid Development (1996), https://archive.org/details/rapiddevelopment00mcco/page/506/... , has

"Flow time. During the analysis and design stages, software development is an ephemeral, conceptual activity. Like any conceptual activity, the quality of the work is dependent on the worker's ability to sustain a "flow state" — a relaxed state of total immersion in a problem that facilitates understanding of it and the generation of solutions for it (DeMarco and Lister 1987). Converting brain waves to computer software is a delicate process, and developers work best during the hours they spend in this state of effortless concentration. Developers require 15 minutes or more to enter a state of flow, which can then last many hours, until fatigue or interruption terminates it. If developers are interrupted every 11 minutes, they will likely never enter a flow state and will therefore be unlikely to ever reach their highest levels of productivity."

DeMarco and Lister 1987 is "Peopleware: Productive projects and teams". I can't find a first edition but you can read the relevant part of the second edition at https://archive.org/details/peoplewareproduc00dema_0/page/62... .

As I recall, in one of McConnell's books was a chart showing relative performance effectiveness of closed offices vs cubicles vs open floor plans, which got progressively worse. I can't now find that chart though.



"Team" does not appear once in the article. I find open plans to be superior as it makes the team go faster. People can unblock others, people can stop others from wasting time, people can immediately work together to think about a problem. And for times where you want to just pump out code you can put some earbuds / headphones on and use body language to signal that you are in deep focus.


There's no one-size-fits all for people nor problems.

I had great results working in 'team rooms' where people wheeled their cabinets in and out as they joined or left project-oriented teams. But I was young.

The staffies all had separate offices then. And today, I find myself most productive for the company when able to shut myself away and think.



I smell troll


> people can stop others from wasting time

Workers policing other workers . . . the ideal office of the pre-COVID 21st century!



I am referring to stopping someone from investing time into an approach that will not work or is not a good idea. If someone spends a couple days working on something that just gets thrown away, that person wasted that time.


Use of the phrase "pump out code" tells me you don't understand the problem and makes me wonder if you've ever programmed anything nontrivial yourself.


As I read some of the aggressive, cynical and unpleasant responses here to any suggestion there might be some benefits to an open plan arrangement, it's dawning on me that one possible benefit is that it tends to filter out people with attitudes like these.

I prefer open plan setups and am glad that working in trading environments has ensured my career has been spent in them, so my natural reaction to the title here is "erm, not all of them do". I actively enjoy being interrupted to discuss something unrelated to my current task, and often return to that task with a fresh insight afterwards. I enjoy helping my colleagues with things, and doing so helps me build a positive reputation in a way that has helped my career. I enjoy camaraderie and conversations about my colleagues' lives outside work. I would refuse a job in an enclosed office or cubicle unless there were very strong compensating factors.

I don't require others to feel the same way, and I don't think people are wrong or bad if they prefer greater separation from colleagues. Humans are diverse. However, someone who views their colleages, their work-related questions and their attempts at broader conversation with active disdain is unlikely to be someone I want to work with.



There is no “filtering out” when open plans are the de facto standard in an industry and there aren’t alternative workplaces for those who don’t prefer it to go to.

> I enjoy helping my colleagues with things, and doing so helps me build a positive reputation in a way that has helped my career. I enjoy camaraderie and conversations about my colleagues' lives outside work.

This can be achieved with all manner of offices!

> Humans are diverse.

Yes, but there are still distributions of opinions. It seems like there are many thinkpieces on why people don’t like open plans and why they’re bad for productivity, but never any in defense of them. Perhaps you should write one to give voice to that contingent and then we can see how many others have the same opinion.



> I actively enjoy being interrupted to discuss something unrelated to my current task

wat



> Humans are diverse.


So you're an active participant to the company's office politics instead of economic output.

At least you openly admit it.



... is precisely the sort of aggressive, cynical and unpleasant response I'm talking about.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact



Search:
联系我们 contact @ memedata.com