Hacker News new | ask | show | jobs
by rayiner 2889 days ago
Yes, you're part of the problem. (It's okay, I do this too, but I'm trying to stop!)

We have private offices, but an "open door" policy. I recently noticed that I was pinging my boss several times a day on stuff that could've been handled by email. It dawned on my that my doing this, multiplied by the several other people who do this, was bad for productivity. So I started consciously sending things by email.

Humans are not interrupt-driven real-time systems. We're circa 1965 batch-processing machines. Email is great because it allows you to queue up a set of tasks and work in batches with natural breaks. Interruptions are bad because they break batch processing. Interruptions are also selfish. They prioritize the interuptee's desire to get immediate answers with the interrupted's need to work in batches.

Some people don't mind it--or they think they don't mind it. I used to be one of those people until I started using Pomodoro. Now you interrupt me in the middle of a session, and I'm like >:-@

2 comments

I guess I'm just going to resign myself to this then, and own it.

Now look, I don't disagree with your points about people's ability to handle, triage and effectively respond to interruptions. It's a completely valid argument to make.

Where I'm having a hard time agreeing with the seeming majority here: is that when I'm interrupted in something I'm doing, by someone who sits two feet away, whipping around and saying "here's how you do that, it goes here, and does this" makes me the problem person (I use problem in the most delicate of ways, I hope the meaning is taken well and in good faith), when it was my work time and efficiency that was interrupted by someone seeking guidance.

If it's in a group channel, makes a bit more sense. When it's a direct message, well then here we are.

But I'll mull this over.

My mistake, I thought you were the interrupter. In that case, it's very nice of you to sacrifice your time to enable anti-social behavior on the part of your coworkers!
It seems a LOT of people are replying to my post somehow thinking I am the person interrupting-maybe that's on me to phrase the problem more clearly next time.

But as a team leader, when my people send me 1-on-1 messages to ask for help, I do what I can to make sure they get that help. For me, it's more effective to be there with them in person within reason (in this case: sitting right next to me is 'within reason') to render that aid, when requested.

If 10 people are nearby, your loud answer might be disruptive those other 8 people.

Why not walk to a common area, book a conference room for 5 minutes, or just respond in Slack?

It seems like 8 people getting to have quiet conditions ought to be worth more than some minor convenience of not needing to walk away to a different area to answer vocally.

I'm unsure really how to respond here. If we're talking about something that has a long, complicated answer that requires lots of back and forth, yes, sure that's probably a completely valid approach.

But a desk side "hey how do I x?" or "Hey is this the right way to do this?", it's probably infinitely more productive to work on the issue at our respective desks, get the solution needed, and go back to work.

These responses I'm reading in this thread are becoming more and more astonishing as they genuinely appear-to me-that many developers would be better served working at home where they can enjoy complete and total silence. You are in a shared space, there are going to be people talking and discussing their jobs. It's what they're even there for in the first place.

Of course this within reason, having to share a space with a customer support team where people are constantly on the phones chatting and providing support-sure-I completely get why that would be grating.

We seem to have moved beyond that and are now picking apart the very nature of working with and supporting your colleagues when they come to you for assistance, the idea that something as innocuous as a senior developer helping a junior developer being a problematic and prima facie distraction that must be snuffed out and I find that attitude completely untenable.

Mitigating distractions and minimizing them where possible and reasonable is an admirable goal. But taking a long step back and looking at this thread: It seems many are taking the approach that the workplace ought to function like a library where no sounds are uttered but the clacking of keys and clicking of mice and I'm not sure I agree even minimally.

I am not sure why it is astonishing to you. It’s been known for a long, long time that developers minimally need near total silence to do their jobs properly, and need privacy and space to think or diagram privately on a whiteboard, etc.

> “as they genuinely appear-to me-that many developers would be better served working at home where they can enjoy complete and total silence.”

Fully private offices are better, with a high degree of respect to not interrupt your colleagues. Working from home, as you suggest, is certainly much much better than working in an open-plan office though.

> “We seem to have moved beyond that and are now picking apart the very nature of working with and supporting your colleagues when they come to you for assistance, the idea that something as innocuous as a senior developer helping a junior developer being a problematic and prima facie distraction that must be snuffed out and I find that attitude completely untenable“

It’s hardly untenable. It’s a basic part of the job. What you glibly call “a senior developer helping a junior developer” is not that.

When I think of helping junior developers, something I do all the time, I think of using Slack or email to schedule a meeting to answer their questions at some point that’s convenient for us both, in a conference room where we won’t bother other people.

The culture of “just quickly answer my question right now” is horrible, productivity-killing nonsense, but here you’re acting like it’s the only possible way to work.

But the optimization function is wrong here. It's not about how much uninterrupted work I get done. It's whether or not the product ships, and that's a function of how much work the team gets done. So if a teammate is stuck, interrupting me with a question can get them unstuck faster than if they struggled with it for 20-30 mins or more.

I think that valuing your uninterrupted time over the team and the product shipping is the truly selfish mindset.

edit> markdown

Right. But when someone is stuck and they interrupt someone else, now you have two people who are out of the zone and not working. You have to balance the lost productivity of the interruption against the lost productivity of the person being stuck. (There might be a quite a thumb on the scale of that, because questions often go "upward" to more productive contributors.) Moreover, it's not like the interrupter needs to sit and twiddle her thumbs while waiting for a response. She can switch to doing something else while waiting for a response.

There is a game-theoretic angle to it. The problem is that interrupting someone costs the team, but creates no cost for the interrupter. Individual interrupters have no incentive to try and balance the global cost to the team of their interruption versus their potential idleness.

For most engineers, putting product quality and delivery as the top priority is equivalent to valuing your own uninterrupted time highest.

If you stop valuing your own uninterrupted “flow” opportunities, the product suffers, because the work cannot be completed that way.

In this sense you’ve got it backwards. You claim that looking out for your own experience of uninterrupted work is somehow suboptimal or selfish or bad, but it’s not. It’s actually the most customer-focused or product-focused, unselfish way to think.

Believing that you are entitled to turn around in your chair and interrupt the workflow of a teammate at your own whimsical discretion, now that is very selfish and does not place the customer, product or team ahead of yourself.

If you’re interrupting people all day, you’re selfishly prioritizing only what’s convenient for you, and discounting all the damage and delay to shipping the product that your interruptions are creating.

I think that valuing your uninterrupted time over the team and the product shipping is the truly selfish mindset.

I struggled mightily to find a tactful way of putting this to words, but this states it nicely.

My focus in responding to a teammate asking for help isn't on my time, or at least, it's less about my time and more about the objective behind what motivated a teammate to ask for help in the first place: shipping the feature/product.

If it helps clarify ambiguity or confusion for me to wheel over to this person and verbalize the solution they're looking for and work out the blocker with them by sitting right next to them for 5 minutes when they ask for my help, and we get the best possible outcome as a team, that's what I'm going to do.

Excellently said, snowman.

If you're a manager and you're getting compensated for keeping the wheels greased for your team, that's great. But if you're a regular IC being selfish about conserving your limited attention and energy isn't immoral at all. Being the guy who helps everyone else get stuff done often goes unrecognized in any meaningful way. Worse, being that guy all the time (rather than some budgeted proportion of your time) can prevent you from getting the stuff you will be recognized for shipping from shipping, and can cost you the focus needed to benefit in other ways (learning/practicing your deeper technical skills).
I'd like to reply to this in a similar manner as I did to another: it feels like there are extra variables being thrown into this that were never brought up from the start of this large discussion thread.

Being the guy who helps everyone else get stuff done often goes unrecognized in any meaningful way.

Valid, but irrelevant, I feel. I am a senior on my team, a junior asks for help. It might not be necessarily moral or even ethical to give them the time of day the second they ask for it, but it is a professional courtesy that I don't go looking to receive superlatives and accolades for.

If a contributor to the team has a question that affects their ability to contribute, that person should get the help they need. I happen to be sitting close enough to them that we can discuss the solution quietly enough so as not to be a distraction, and I do so.

What came from this were all sorts of wild extrapolations and suppositions that doing this created an otherworldly distraction to the rest of the workforce; and it is that mindset that I'm challenging. Not that people don't deserve a distraction free workspace, but to what ends we're willing to go to avoid that distraction while also operating in a manner that helps coworkers succeed, and enables colleagues to be accessible to one another.

Maybe it's a product of my compartmentalized mindset, I'm able to work through someone a few feet away talking about work things when asked about work things. It's when people have loud, echoing conversations about things not really relevant to the tasks at hand that I will HAPPILY concede to anyone who argues that those discussions should be taken elsewhere-like a break room or cafeteria if your office is equipped with one.

But two developers sitting next to each other, talking their way through a data validation issue, unless they're discussing it so loudly that it is legitimately obnoxious for two people whose faces are inches away from each other?

I'm not so sure this is such a work-shattering distraction as the implication seems to be from a majority of folks here-to the point where I'm inclined to call shenanigans and histrionics on the folks who can't function sans complete, utter total silence. The open office can die, in my opinion, but so does the idea that any instance of two people talking about work is just as, or close to being as unacceptable to the point of-as someone suggested-booking a conference room to have a 2 minute discussion when asked "How do I do x?".

I didn't use any hyperbole in my response, but you're projecting a lot onto mine. Let me give you a realistic personal example, something that might happen to me at least once or twice a week. I'm 20 minutes into establishing my bearings in a set of files I think I'll have to modify or at least understand for the next change I need to make. Someone comes over and asks me a technical question - maybe via a chat ping or a tap on the shoulder, or even just by walking behind me. Now I can choose to tell them it isn't a good time, but they've probably already started to describe their problem and that alone has stolen enough of the focus I was building up that I'm better off trying to help them first. (If I'm an hour in rather than 20 minutes in I'm more likely to tell them to ask me later). After giving them 5 - 10 minutes of my time, the original focus is lost. It may take me another 20 minutes just to get back to the cusp of beginning to write code again. There are only a few good sized blocks of time to work in the normal day, so that's more expensive than it seems.

I can deal with a nearby conversation and ignore it, although frankly it can be very distracting when it's about technical topics near my own work. Two or three at once is rarer but very irritating when it gets started up. Headphones are great for that, but when I'm suffering from tinnitus they no longer work. What's wrong with walking to a common space away from the work area when you want to have a 2 minute discussion with a coworker? If it's not worth the walk, maybe it isn't worth the discussion.

There's nothing strange about people having trouble in an open office space, all I would ask for is some empathy. I have internalized some of the lessons of my own problems by trying to resist the temptation to ping or otherwise disturb coworkers by non-email means unless it's absolutely necessary. A good deal of the kinds of questions I'm asked or I hear asked (maybe as many as half of them? and I would include my own questions here) could be solved by thinking or researching just a little more in solitude before reaching out.

I've also created improvised physical barriers around my desk to block visual distractions. As a result my current workspace is OK for getting things done, but it doesn't change the fact (for me) that open offices are bad by default and need personal and spatial modification to become acceptable, as compared to the mythical office with a door which would be good for getting things done by default. It's not about being incapable of function without "utter total silence", it's about being made slightly miserable every day on average.