Some days an interruption will throw me off my train of thought, and I spend the remaining six hours collecting discarded bottles and railway ties for hopeful use somewhere, somehow, sometime.
Other days an interruption costs me pretty much nothing.
I’m still trying to figure out how to tell which of those days I’m going to have and whether to just not log into Slack for the day.
I've found one thing that minimizes interruption cost: pair programming. At one startup we pair programmed all day, every day. Resuming from an interruption was almost seamless. Can't explain it, only experienced it.
I usually prefer to be navigator than driver. It's the navigator that does the high level thinking. The one at the keyboard is the one who's usually better at typing and writing out the design patterns that are agreed upon. Of course we did swap roles routinely, maybe several times a day. Oh and to top it off we switched pairing partners every week or two. It was a brutal experiment but I learned a lot and I'd say it was a great success.
Have you tried plugging in a second keyboard and taking over where necessary? I do a lot of remote work in which my colleague and I work on the same computer and it's quite useful for either of us to jump in with our own keyboard (and mouse). It does take a bit of occasional verbal negotiation to agree on who really knows what to do (and can do it fastest) but if you communicate well then it's pretty easy.
What about an editor that is designed for multiple people to edit the same document? Tie the second keyboard, the second mouse, and a second cursor as resources together and independently edit?
Right I only call using the same computer pair programming. Now working remote (with Tuple app) it's still two keyboards/mice on one computer (sometimes mine, sometimes theirs), though it's infrequent for specific tasks.
The wildest thing I experienced once was this experimental “two cursors, two highlights, two clipboards” setup. I badly wish that had caught on. It was like Google Docs but Local Multiplayer.
I find the less dominant person just switches off, stops thinking and just becomes a keyboard with about 20x the latency and 10% the speed and accuracy.
for me it's not that I think faster, it's just that I will check 10 things really fast and exclude the "no it can't be there" things - because that's usually where it is. So if somebody else is holding the mouse and keyboard, I would then have to convince them that these things that they are convinced are fine need checking.
I really hate this work of convincing them, because it's much faster to check it first and explain why it was a good idea later once I've fixed the problem.
Funny you should mention it. I have different computers with different keyboard layouts--including for some reason[0] modifier keys on only the left side being different on one.
[0] That's the gaming PC I play StarCraft 2 on and I found it simpler to always leave it in one mode than switching back and forth.
When pair programming was a fad in the early 2000s, I tried it with a coworker for a security-critical piece of code that needed two pairs of eyes on it.
It felt horrendously unproductive to have two people at one keyboard but we compared commit rates and the surprising result was that we produced the same rate of changes as working separately.
Two of us at one keyboard were as productive as the two of us separately combined.
I figured this was because typically while one person was coding the other would be researching. If you’re by yourself those are serial activities instead of parallel and the total workload is the same.
I find it is slightly slower (maybe 20%) than two individuals alone but the quality is quite a bit higher and the effect of this higher quality compounds over time (i.e. less tech debt -> fewer bugs, faster development on future code).
Im quite credulous of Kent Beck's claim that when categorizing the last ~15 bugs on a project with pairs and singles he found that all 15 were in code merged by an individual rather than a pair.
If it were an application you could just install I think everybody would use it. It demands psychological safety though, which most teams dont have, and is becoming less common these days.
Depends on what exactly you mean by pair programming. Two people sharing the same keyboard and screen and watching the other type is horror movie level stuff to me. I go from a competent typist at 140wpm or so, remembering at least some basic syntax, knowing the most common editor shortcuts etc. to a blubbering idiot 5 year old.
Sharing an office where you can’t look at each others screen unless you walk over to help troubleshoot or design a specific feature is probably my favorite mode of work by far. Especially if it’s a small hyper-competent team with a diverse set of expertise but basic generalist knowledge to navigate the entire design at a high level.
Being able to jump on a whiteboard with zero latency mid-debugging session (even trying to move to a spare conference room) is also great.
This also lets you devise team communication in a way where you can signal you are in focus mode vs not and others can gauge the importance of their ask based on that signal and knowing precisely what everyone is actually working on that day.
That said, the absolute worst possible way to collaborate is video conferencing and shared screens. Give me a shoulder hoverer over that any day.
No the person you've replied to, but for me I just find it frustrating. When I'm not the one typing, I always find the other person moving slower than I can think, not entirely getting what I want to tell them ("no, line 47, not 53 -- no, the foobar function call isn't the problem, it's the 4th argument to barbaz... no no, no that one... GAH). Maybe we can chalk this up to "communication problems", and I should have taken a pause to talk about communication with my pair partner.
I dunno. I've just always felt much less productive with someone else there. I don't view programming as a social or collaborative activity. Building software can be collaborative, but when I'm sitting down to do implementation, collaboration slows me down, and I find it very frustrating and unproductive.
I one had quite good experiences with it, but the roles were very clear: he was the domain expert who knew how things should be handled and I was the person knowing the code and the processes. This way I didn't have to come up with potentially wrong handling of edge cases and he didn't have to mash his head against code he doesn't understand.
Pair programming exhausts me. When I write code alone, I usually have breaks every 20 minutes or so. I go for a short walk after 1h. I look out of the window every now and then. Sometimes I put some background music.
When I’m doin pair programming I’m supposed to: think out loud, look at the screen 100% of the time, sit in front of the screen for at least 1h straight. Think at the same speed than my peer.
Not worth it for me. Don’t care if we together are more productive; I couldn’t care less. I care more about my eye sight, and sitting routine.
I can sit and program 16 hours straight without breaks.
I cannot talk to someone else for an hour without feeling exhausted and needing a long break afterwards.
Talking to someone else while programming? It's revving up my brain into the red zone. Sometimes the adrenaline boost does its job but I do pay the price.
Same. It seems the coding part of my brain and the communicating are mutually exclusive
I wonder if it’s related to the phenomena of some people having a ‘narrator’ in their head or, like me, there’s no voice and it takes effort to convert abstract thoughts to sentences
Maybe this is a misconception or misrepresentation of pair-programming, at least compared to my experience. One person isn't supposed to be doing both. You're either navigating/explaining or driving/doing. Pair programming isn't about one person doing everything and another person watching and trying to keep up. It's about communicating and sharing an understanding, like a realtime/interactive PR description/review while writing. Of course there are times where one person will simply say "let me write this out and discuss after" and go at it for a short while, but it should be the exception rather than the rule in settings where it worked best for me.
no I actually get it, I think like most fads, it seems to work great for really trivial things or for debugging. I have myself used pair programming in those cases.
I just can't imagine using it for serious work. navigating/explaining? I know neither the science I'm trying to code nor the code I'm trying to write - I'll write code to explore the data, I'll have a hunch, I'll wonder about something and I'll go find that one paper I came across 10 years ago to check - I don't see what code the other would be writing while I'm trying to figure that stuff out.
I bet also interruptions were less likely since you seemed busy because you were interacting with each other. Therefore others may think before interruption.
So true. I interviewed at one where a half day was spent pair-programming with one of the team's devs doing TDD: write a test, make it green, refactor.
That's an interesting idea, adding an AI so it could be you pair programming with a colleague remotely over Tuple, a truple. Seriously though it would take out the frustration and flow-breaking pauses while interacting with an LLM.
My feelings exactly. Whenever I get one of those days I’ve found I get more done away from my desk. Taking a walk in the forest or doing some household chores can really help you get back on track.
Of course at times it’s just better to admit altogether this isn’t a day meant for work and spend it relaxing instead. Usually, the benefit of that is a really productive day at work the day after too, everybody wins.
Almost all my employers and managers have been very understanding about this. But one of my favourites was a manager earlier in my career who picked up that I was anxious about my work hours and ethic. To paraphrase, he said, “the company isn’t paying you to solve problems M-F 9-5. It’s paying you for when you solve them in the shower or on a walk or when you’re putting your kid to bed, and then come into work and implement the solution.”
I’ve thought about this for years as I tune my work life balance. I’ve never felt like I’m wrongly bringing work home with me that way. It’s always felt like an incredible optimization where my job gives me these puzzles I get to carry with me and work on when I’m bored or my ADHD addled brain screams for stimulation.
As long as I compulsively think about work in the shower, at 3AM in bed or while out running, I will never feel guilty about thinking about anything else than work for a while during 9-5.
Do you happen to know if that one is hiring for anything at the moment? Left to solve problems at that pace, I'm pretty sure I could do some great things for them.
There are absolutely places where you are chained to the computer in remote positions this is a culture thing not how work is done. We have a nice culture and we are hiring, sadly not remote anymore.
I do not think it actually affects productivity in either way. What happens is that people seem to feel better.
This is one of the very best things to me about work from home. There are times I just get up and go piddle in the garden, take a short bike ride, or even just run an errand. I even do it when I'm stuck rather than just from being interrupted. It helps the brain to essentially, ctrl-z; bg and then move on to the next thing. When I return, I find the job %1 has completed, and I have a new approach/idea that is typically much more successful than the previous attempt of banging my head on the desk/keyboard in frustration. It's much healthier for me than vibe coding around the problem
Yeah, most of my best work comes while I’m out for a run on a local forest track. I try not to think about work while I’m out there, probably that’s why it’s so helpful.
For me, it is more about the nature of the interruption. An easy question that only requires pulling something from memory doesn't cost much. A question that requires some thinking has a huge cost, even more so when you have to check the code or documentation. Sometimes even reading an email/teams notification can throw me off. It's not about the interaction (someone coming to your desk, a call,...), it's about the topic.
However I think that in both cases, if the interruption happens while coding, the risk of bug is about the same.
>A question that requires some thinking has a huge cost [...] It's not about the interaction [...], it's about the topic.
For me personally, every interaction with another person requires booting up "Human Mode™", which invariably pushes out any concentration I had on the task-at-hand.
For me it's a combination of the nature of task, where I'm at and the nature and duration of the interruption. But usually an interruption causes a large amount of penalty points.
I'm not studied in any particular tradition. I typically take a few minutes to connect with exactly what my body is feeling. The socks on my feet, the cinch of a belt, the wind blowing my hair, the cool or hot of HVAC on my palms and knuckles, the minor ache or pain, and so on.
I typically start from my feet and go to top of my head, then back down to my nose. It typically takes me about 10 minutes.
Then, I ponder what I remember of my coffee, breakfast, dinner the night before, how I felt when I woke up. Then I imagine how I want to change things. I do this 2-5 minutes.
At that point, I plan my day.
It works for me. I know there are a ton of different ways to do it, but for me it's simply a time for reconnecting to my internal and external self. Because its the same format with new content (what I feel now, what happened most recently) it feels more like a common exercise routine than a hard thing. But it took a few weeks of frustrating effort to learn to keep focus.
Do you think it's related to the level of emotion tied with the interruption? For example, finding out a friend or relative was in a bad accident is surely gonna be more distracting than someone asking if they can borrow a pen for a few minutes.
As I get older, I feel I take more time to get back on track.
I don't feel less intelligent, maybe more experience compensates for it. I probably make less wrong turns. But I have to be more rigid to prevent interruptions.
I try to compensate with more and larger screens. Also resorting to writing down key aspects of context and plan. Used to keep it in my head but context switches can derail me more easily now so I need a way to get back again.
This is a really common problem with science reporting in general. Its often the case that the news will say things about the paper that aren't in the paper, often they say something that is completely the opposite of what the paper actually represents with its data. Its become such a common thing and its very common when you can't find the referenced study itself from the article. Sometimes its the authors fault and they said things that aren't supported by the data but the science reporters do this a lot.
My basic rule on all science is go at least look at the papers abstract, method and their graphs/data. In 5 minutes you'll be better informed than the pop science article and it gets easier the more you read them.
Interruption do impact getting back in but I find it very variable, I actually if I am doing very strict TDD I recover from interruptions well. If I am busy thinking about a design or doing some more complex algorithm performance analysis its all happening in my head and they take longer. I think it is measurable and you could set up experiments to see how long it took to start producing again and if there is a slow start or not on a well defined programming task.
When I work places where interruptions are expected I change how I do my work. So an observer may see them costing me less time but that’s amortized across the rest of my work as a consequence of leaning into interruption. It’s still there, it’s just spread out more.
This is a great point and a lesson that has taken me decades. If you aren’t given quiet uninterrupted time the company is signaling to you that office time is about managing day to day fires, not deep work.
Often you need to protect time to get something done but they literally want you to be doing something other than writing 10k LOC.
At the most disruptive place I finally arranged it so I worked at home on Fridays and Monday through Thursday were used to answer questions, attend meetings, do shallow work and do exploratory work for deep work. For instance, you need to do a refactor for a new feature or a bug fix. Is the code going to just let you do it, or will this change require another, and another, and another to get things working again?
So most Fridays I knew exactly what I needed to do and I coded for a solid six+ hours. And having already poked around I typically got about twice as much done in that time as I typically would in a day.
Oof, I don't think I could be successful at a place like that. Only 6-ish hardcore-productive hours of coding per week would make me sad. I would want to invert your arrangement: I'm in the office Monday to answer questions and interact with people, and Tues-Fri I'm at home doing deep work.
(I know that's unrealistic. But that would be my ideal.)
By this point the project was out of primary development and moving toward long term maintenance. My main value was in making sure everyone there understood how certificates and code signing worked, and that nobody made any dumb architectural decisions.
> This is a really common problem with science reporting in general. Its often the case that the news will say things about the paper that aren't in the paper, often they say something that is completely the opposite of what the paper actually represents with its data.
I wonder if perhaps a part of LLM hallucinations can be explained by them being provided such reporting and having it (mistakenly) tagged as high-quality training data.
For sure some can. I mean the LLMs are susceptible to priming. The OpenAI demo had an error in the airplane wing part because of that. It is a very common mistake (included in many textbooks) but the LLM repeated it. More importantly, I saw someone be able to get it to give the right answer without spoiling it through the prompt.
> I wonder if perhaps a part of LLM hallucinations can be explained by them being provided such reporting and having it (mistakenly) tagged as high-quality training data.
Probably (haha) far more of a function of temperature than training data. If the corpus is large enough for your prompt and you turn the temperature all the way down, you will get almost no hallucinations. You then have what is essentially a search engine.
> This is a really common problem with science reporting in general.
There's a lot that actually becomes really sinister with this. I'm sure the people writing those news articles pass them off as little white lies, "close enough", or whatever. And in some sense, there's a lot of truth to that. But the problems stem from what grows out of these "small errors" and into far larger ones.
1) it certainly contributes to a significant part of the g̶r̶o̶w̶i̶n̶g̶ distrust in science. People are getting their science from the news, not the horse's mouth. If you report something silly while saying "scientists say" then people will point the finger at the scientists more than they will point to the reporter. The scientists aren't writing in plain English after all[0]. Things like chocolate being healthy for you, red meat causing cancer, or machine learning quantum blackholes. There's always elements of truth to these things but truth is not sensational. Truth and complexity go hand in hand. As complexity decreases you will have to sacrifice accuracy. This is a tough balance to play[1].
2) The public isn't very scientifically literate and it is easy to misconstrue meaning. Hell, even scientists routinely struggle with this stuff. Let's take the red meat issue as an example. It's true, but a lot of those studies were looking at daily intake of 50g or 100g and results like "25% higher risk of rectal cancer" at the higher end of the estimates. For context, a Costco hotdog is 110g while a Nathan's Hotdog is 48. We're talking about 1-2 hotdogs per day. We're also talking about a percent increase in risk, not a percent risk. The CDC site says approximately 3.9% of men and women will be diagnosed with colorectal cancer. If that's our baseline then a 25% increase is a 4.9% risk. That's a disgusting amount of hotdogs to move from a 4% cancer risk to a 5%. Concerning on a national level but not on a personal. This feeds back to #1 as people are interpreting the news as saying "eating hotdogs makes you likely to get cancer" while people observe heavy hotdog eaters around them not getting cancer. Their observation wouldn't run counter to what the research says but it will against the narrative on the news. The incongruence between observation and understanding does justify mistrust. But there's just more ways to misinterpret something than there are to interpret correctly (relates to [2]). This failure mode becomes self-reinforcing. Enough that I think anyone that spends any time on the internet will be aware of it. (Communicating is fucking hard, communicating accurately is even harder)
3) (Perhaps the worst part) Scientists are primarily measured by their citations (count or "h-index"[3]). Unless you do something groundbreaking[4] (which is rare) then this is the main way to "measure" performance. A great way to boost citations is getting media attention. Unfortunately there's just a lot of papers published and a primary driver of citation count is knowledge of a paper's existence. You don't need to be an Avi Loeb type (it doesn't hurt) when we're talking about small numbers. If a Cal State grad student and a MIT grad student were to publish the same paper we'd expect the latter to have more citations due to the latter's greater visibility. MIT has a media wing and these papers are much more easily picked up by larger news orgs. This is why so many scientists use platforms like Twitter. Because your work doesn't mean anything (to your personal success and ability to continue doing your work) if you can't get enough citations. There's an obvious slippery slope here... One that can create a feedback loop to misreporting. The fiercer the competition the the more risky this situation becomes. It's really easy to do slight embellishments of your work. No one is checking at time of publication. Replication happens later and the system devalues replication. Plus, while replicating it is much easier to assume you've made a mistake rather than the paper was in error (or in serious error).
All this is to say that shit is messy. And I don't think any of it is particularly any one person's fault. More an emergent phenomena through compounding effects. Little things here and there add up as we talk about millions of events and many years. I know we all want things to be simple, and simplicity has a lot of benefits, but it also can be a big trap. "As simple as possible, but no simpler" does not mean something isn't extremely complex[5]. It's a trap that makes people think they can read a few lines from Wikipedia and understand something (read the whole article, it's still not enough). A trap with growing consequences to a world that grows in complexity[6]
[0] And I don't think w̶e̶ they should. Papers are a peer-to-peer communication network. Open and visible, but that's how the peer-to-peer communication takes place. Expert-to-public communication has traditionally been done through news or other science communicators. Asking scientists to write papers to the general public is like asking you to communicate to your coworker about your code as if your coworker knows nothing about code or the context it is running in (all because a layman may overhear). Good luck getting any work done...
[1] While news orgs and science communicators (especially pop sci communicators... ugh...) are doing harm here there are defenses anyone can take. Recognize your understanding is always wrong to some degree. Don't take in information as binary true/false statements but probabilities: e.g. likely true/maybe true/maybe false/likely false. Fundamentally the reason this is a good defense is because it is always a more accurate interpretation. Scientists don't find truth through confirmation but through negation. What I mean is w̶e̶ they rule things out. A scientist converges to truth[2]
[2] This also helps you sniff out conmen from the scientists. The scientist always has some doubt. At first they may show themselves as highly confident but as you press on detail they start weakening language. This isn't foolproof and isn't gonna work for every question, but it is common. Scientists are being more trained on media literacy because there is recognition that while this is the right way to talk to peers it gives the public a sense that they lack expertise rather than are aware of complexity. The best signal is just getting them to talk about their domain. They won't stop and will get very detailed.
[3] Number of papers with greater than N citations. An h-index of 10 is having 10 papers with >= 10 citations. h-index of 100 is 100 papers with >= 100 citations.
[4] If you do something groundbreaking no one gives a shit about citation count. But doing something groundbreaking will surely make your citation count skyrocket (often it also drives your h-index too, as you've simply gained more attention and more people are reading your other works. Your work doesn't change, but visibility does). This fact is often used to justify the usage of citation metrics. Citation metrics are fine, but they're also easy to hack and highly context driven. I mention Avi Loeb, and controversy is beneficial to this metric. Every paper that cites him to say he's wrong is a point for him. Controversy is a way to gather points from a whole new source! Not those building on your work, but those building against your work.
[5] "If you can't explain it simply, you don't understand it well enough" is laughable phrase. The reason you can't teach "a barmaid" Quantum Chromodynamics isn't because you don't understand it. You can't explain it "simply" because you don't understand it. You can't explain it simply because you can't even use the word "color" without a layman thinking a quark is red (can you even get into how it is impossible to have "red" at that scale?).
[6] Progress necessitates an increase in complexity. Look at a Taylor Expansion and it's relationship to computational difficulty. I'll let you all figure this out, my comment is already too long.
Yes. It's pretty incredible when someone comes up with a way to convey that complexity in a gradual and easily graspable form.
Looking at how other subjects, we have movies explaining extremely intricate heist plans and people stick with it for 3 hours. I wish we had more incentives to spend that kind of talent and money on knowledge stuff.
Watching the "Doctor Stone" anime I was baffled at how rough it presents engineering and scientific processes. As it is the popularity of the show is crazy, and I wonder how much of a hit it would be if it took much more time to explain trial and error and how much it takes to design and build anything from scratch.
I think we're making progress in that direction. I mean you have people like Veritasium and 3Blue1Brown being excellent science and math communicators. They are fairly high level, but have you ever checked out the Summer of Math Exposition (#some) submissions? There's some amazing videos in there that are as informative, if not more, than lectures I've had while at Uni. Not just an average lecture either, like rivaling or surpassing some of the best lectures.
It's hard, but I think there's hope. Currently academia isn't aligned for this right now though so it is often coming from outside. But writing my thoughts on that is going to me another, but smaller, rant lol
> Not those building on your work, but those building against your work.
In our brains, we have inhibitory neurons, why can't the citation mechanism incorporate negative feedback? and the final score would be combination of negative and positive citations.
It could, but that could also have negative impacts to the system. I don't actually want people like Loeb to stop publishing. Off the wall thinking can be helpful. The reason for this is that you're still doing work.
It is exploration, so think about it this way. Everyone says "there's no gold over there" and then someone says "well did anybody check?" It helps when someone comes back like "yep, I checked, no gold."
Even if it was very likely it is good to know. Those big breakthroughs only happen by challenging the current paradigm. By definition this is almost certainly true. You're not going to create paradigm shifts by maintaining the current paradigm, right? So you have to maintain space open for wild and crazy ideas. Hell, take the famous multiverse theory in physics. It is almost certainly wrong but it still can provide some utility too. Same is true with String Theory. It has to be okay to be wrong in science. You won't progress if this isn't possible. It also would mean you can't progress even if you're right but no one listens!
The problem is you're trying to fundamentally measure something intangible. With scientists you're trying to measure impact. But the only way to measure impact is through hindsight, which sometimes takes hundreds of years. Every single measure you take, no matter how obvious and simple it may seem, is a proxy. Your measurement cannot be perfectly aligned with the thing you intend to measure. Many times the alignment difference will be almost nothing so it doesn't matter, but with things like this? Sorry, you're not going to be able to measure scientific output unless you can travel to the future to make that measurement. (similarly, you can't measure a student's educational outcome until after they have left school and applied that knowledge, including their metaskills.)
You should measure, but with things like this, measures are a dangerous trap.
> GMJ: How long does it take to get back to work after an interruption?
> Mark: There's good news and bad news. To have a uniform comparison, we looked at all work that was interrupted and resumed on the same day. The good news is that most interrupted work was resumed on the same day -- 81.9 percent -- and it was resumed, on average, in 23 minutes and 15 seconds, which I guess is not so long.
I interpret this and the article as saying that those 23 minutes are not spent trying to resume the original task, but on the interruption itself and the other intervening tasks that are worked on before returning to the original task.
If that interpretation is correct, those 23 mins are not wasted in confusion but simply spent on other things.
Yes you read it correctly. It's the time of the "interruption" itself. From when you stopped working on your task to when you resumed working on it.
In that time away from your task you might have answered questions, worked another small task, relaxed, chit chatted, etc.
The time to refocus on the task once resumed wasn't measured, but participants said it was "very detrimental".
> Thus, people’s attention was directed to
multiple other topics before resuming work. This was
reported by informants as being very detrimental
So we don't exactly know how much time it took participants to get back to a focused state on their task, we just know the time they were away from it.
That's a great question and after rereading the quote I honestly couldn't tell.
After mentioning the time, they do talk about how it also takes time to return to work from an interruption. But on my read it seemed a bit ambiguous whether the time was from the interruption itself or from the combination of the interruption and the time after the interruption before you return to productive work.
Unfortunately that's not the source. The author of this piece, Jaro Fietz aka oberien, is already familiar with that article, noting it in their diagram and linking to it toward the bottom of the page. They're looking for the underlying research itself rather than a quote about it.
>So in the end, where do the 23 minutes and 15 seconds come from? They are mentioned in interviews multiple times by Gloria Mark. But I wasn’t able to find a primary printed source. There are many more publications by Gloria Mark, but none of them turned up while searching for the 23 minutes 15 seconds figure. If someone knows a paper or study where that figure originally appears in, please tell me.
Now we're only left guessing the discrepancy between her paper saying 25 minutes and 26 seconds and her quoting 23 minutes and 15 seconds when interviewed about it.
My guess is she didn't recall exactly and gave a ballpark as she remembered it.
That seems basically right. I wouldn't have called the Gallup interview the source but I think you're probably right about the paper and the explanation of the difference between what she said and the paper.
You can object to data and methodology of a study in a way you can't to a quotation. And oberien was clear about what they were asking for from the beginning.
My first read was that they wanted to fact check what they heard, and were not able too.
And my second read was that they were more interested in figuring out why 23 minutes and 15 seconds is the precise number being parroted.
And now on my third read, I'm still unsure what exactly they're asking for. If they knew about the study showing 25 minutes, and the interview, what more are they asking?
The full interview is all in the link. But specifically the bad news was:
> But the bad news is, when you're interrupted, you don't immediately go back to the task you were doing before you were interrupted. There are about two intervening tasks before you go back to your original task, so it takes more effort to reorient back to the original task. Also, interruptions change the physical environment. For example, someone has asked you for information and you have opened new windows on your desktop, or people have given you papers that are now arranged on your desk. So often the physical layout of your environment has changed, and it's harder to reconstruct where you were. So there's a cognitive cost to an interruption.
When I'm in a flow state during complex problem solving, an interruption will cause something akin to visceral pain for me. I've learned to mask and just deal, but it kills the thread holding all the context in my brain. I wouldn't know how to measure the loss in a productivity sense, but depending on the problem it can be much more than 20m to recover...
I've been trying to articulate why switching our OSS project from using public GitHub issues to private Jira issues (behind auth that requires logging in with 2FA again every 48 hours) is bad for programmer productivity. Upper management quite literally doesn't believe me. To them, "flow state" and the visceral pain getting pulled out is it causes is completely fictional.
Pre-pandemic, I tended to keep an erratic home-work/office-work schedule. Sometimes I would be at home working, and then leave to go to the office for a meeting, but I'd arrive a half hour before the meeting was to start. That time turned out to be mostly wasted. There was no way I was going to get any deep work done in that time. Sure, sometimes I could do some idle research, stuff that I could get into and out of quickly, but largely it was wasted time.
I could have just spent all my time in the office, but the open office plan environment is not conducive to deep work, even without direct interruptions (which there would be, too).
I guess the best solution for me would have been to arrive at the office 5-10 minutes before the meeting start time, but it was surprisingly hard to get that right, even with a predictable commute time (bus or walking).
On top of all that, I would occasionally completely miss meetings if I was in a flow state before that. I would somehow miss desktop and phone notifications that a meeting was coming up. I guess the solution to that would have been to set an actual alarm on my phone, something that I couldn't ignore, but I never ended up doing that for some reason.
As a manager a lot of the annoying interruptions I put down to, and I chafe at using the word, a lack of hustle.
Okay, so I view my job as primarily giving devs some strategic direction and priority, but also unblocking them from getting work done.
On the later, the kind of interruptions I get are from folks who just don't want to do and figure some things out for themselves. Need access to a database... Go ask infra support. Don't know who wrote this API client, go look in git. There's folks who just don't bother to go search for these things themselves.
I agree with you on that from the perspective of a senior developer. Far too many times people would come and interrupt me for something that they could have figured out themselves. Sure, it might have been something that I knew offhand and could tell them in 15 seconds, but would take them 2 minutes to research. But it was so very very frustrating to me.
I would get that with junior folks for deeper questions, even, stuff that would take 15-30 minutes to go over with them. I started asking them questions up-front, to try to determine what research and steps they'd taken on their own before asking me. I would generally be pretty gentle with my "go away" patter: "ok, so through the questions I've asked you, I think you should have a few avenues of research that you can pursue on your own; if you're still stuck after that, let me know". But the repeat offenders who just didn't seem to get it... sigh. It was also clear to me from how some of my questions were answered, that often I wasn't suggesting anything they didn't already know; they just didn't feel like doing the research on their own, and wanted someone else to tell them how to do their jobs. So exhausting.
I find these moments to be teaching a person to learn to fish. Not only tell them how to get the answer, but then ask questions to see if they put in the work needed before coming to you. If it persists, maybe address it directly in a one on one meeting. If it's systemic across different people, maybe there is a documentation or organizational problem. Sometimes it's training the person to help themselves, other times it's seeing things that are broken that prevent them from helping themselves. I see this especially in highly complex systems where there are large and multiple teams, and the person needs to be able to work across these areas.
If you're a manager, and those requests are coming from your team, isn't that just part of the job and not an interruption? Giving direction and priority is not a full time job, surely.
It depends on the question and situation, though. If someone comes and asks, "hey I need access to the Foo database", and your answer is, "you need to talk to the ops team about that; there's a form on Jira for that", and that fact clearly documented and easily discoverable on the internal wiki (or whatever), then this is just a case of a lazy person who wants someone else to solve their problems for them.
But sure, if internal documentation is garbage and it's difficult to find information or understand who needs to be asked to get something done, then yep, manager is gonna get hit with these sorts of requests all the time, and just has to deal with it. Part of the job.
But how large is the internal wiki, how well is it updated, how easy is it to find the information?
If it takes 10 minutes to search for info and 1 minute to ask, then the latter is a more efficient way. That's the job of the manager, to make developers more efficient, give them more time, preferably uninterrupted.
I think it's unfortunately very common for people to come here into the comments without having read the article.
I'll admit I do that sometimes, mainly to get an impression as to whether or not the article is worth reading in the first place, but sometimes I'll end up getting drawn into the discussion here, having not read the article at all.
But I can't imagine posting a toplevel comment without reading the article.
To be fair, this post is also a perfect litmus test for reading comprehension. The thesis is never stated out loud. But I'm finding what's more interesting is the people that clearly read the words. When I commented, this comment was much higher up[0]
If it was actually 23mins, and not modifiable, then a myriad of important professions would be completely unviable (e.g. medicine). That is to say, it seems doubtful that the impact of interruptions can be meaningfully summarised in a single figure.
I've personally come to the conclusion that the novelty of the thought process is a big factor in recovery. Simply put, if I reach a conclusion that takes a rather unusual road through my mind, it's much harder to get back to after an interruption.
Conversely, I often think about the value I add by being interruptable, by helping my colleague with something that might save him more time than I lose. Good for the company.
This is a valid point. But another aspect of interruptions is if they add to the experience of stress, and thus contribute to a toxic work environment.
Well, no, the thing that should never cross your mind is prioritising the company over yourself or other human beings.
The entire reason the company is employing you is to have you do things that are good for it. If you want them to keep employing you (and also to give you more money) then you should be looking out for things that are good for the company, doing them and then making sure that management knows that it was you that did it.
It's great how you attempt to hunt down the source, and document your chase.
I often scold my students for doing poor research on sources, not reading them, not going back to the originals, because quite often, someone never said what is commonly attributed to them. The process of active reading means the reader sometimes ascribes something to an author that is really their own idea.
Why is the entire blog aligned to the left on mobile? Even the background is to the left.
Though this article mostly discusses exact time, I find this idea very interesting in relation to my dissertation. Minor distraction probably causes me to waste a few minutes to tens of minutes to get focused again. Having a child and a partner that need help when I’m working from home has trained me to be able to power write in 1-2 hours what others do in a day. A bigger distraction like an issue causing stress might distract me for half of my work day. It’s not that I don’t want to continue but it’s hard to get back onto task just as one was.
A search for "Gloria Mark 23 minutes" is interesting reading.
At this point I would suggest going to the source, establish contact with Gloria Mark or a relevant student or co-author and ask whether Dr Mark can confirm that it is an accurate quote, and if so, whether it is a published result. One approach might be to develop the enquiry through a potentially sympathetic third person such as Cal Newport.
For a lot of us that would definitely count as a source. They seem to be credible, they seem to be quoted in a credible media outlet, they seem like an experts on the topic, they seem like they're talking about a real and specific piece of research. So I think that would count for a lot of us. But for purposes of this particular article they're looking for a printed primary source of the research itself rather than a quote about it.
That's the paper source. And the researcher when interviewed verbally gave a slightly different number in the same ballpark of 23 minutes and 15 seconds instead of 25 minutes and 26 seconds.
Knowledge and physical work is not the right distinction. It's fine for two broad categories, but within knowledge work there is — at the very least — the manager vs. maker schedule.
I think interruptions are similar for both types of work.
Physical work does require some concentration as well, but imagine on top of that having to take off all your gear and walk into some makeshift office on site, deal with whatever bullshit they're bugging you about, and then go back out to your spot and get ready all over again.
Interruptions for any reason other than a true emergency is just poor planning caused by bad management.
Fair, but I guess I meant if I am moving tables around and someone asks me a question and I pause and answer I lose 10 seconds. If I’m deep in a much more complex problem I get a little derailed and almost have to start over.
Sure, but what if the person moving the tables is in the middle of a larger logistical problem?
Caterers and guests are coming. More interruptions in the form of calls, texts, and emails don't stop and each is also "just 10 seconds".
I think it's pretty rare to find jobs where your role is so clearly defined that all you have to do is move tables. Most work asks that you solve a high level problem nobody else wants to deal with. You probably weren't asked to move tables. You were more likely asked to coordinate a venue for a wedding or something. The people assigned to you who were told they'd only have to move tables end up not finding them. Interrupting them is just as unacceptable because now they have to rush to home depot to buy them at the last minute and they're out of billable hours. They deliver the new tables and now you're the one moving them yourself.
Interruptions suck for everyone because there are always leaky abstractions and messy dependency trees. People incorrectly assume some details are trivial and factoring out the pain points is at least discouraged if not considered insubordination. Bad management and bad planning are everywhere.
> Interruptions suck for everyone because there are always leaky abstractions and messy dependency trees
I think the "dependency trees" is usually the most obvious killer. You're putting tables away... who made sure everyone's even out of the building? Who cleared the stuff off the tables?
Even ignoring that... Even if the job is just purely "move tables", I'd propose a simple thought experiment: We're operating a venue for events. Imagine a church basement. We have 75 tables and a large closet we keep them all in between events.
You can choose one of two people to clean up after an event:
Person A has put these tables away 176 times over that past year.
Person B has put these tables away 3 times over the past year.
(If you're not looking and going "yeah those two things look exactly equal", than intuitively I think you have some sense that even unskilled positions benefit from experience and skill.)
If I'm the venue owner and I'm paying hourly for cleanup, I'd put my full faith in Person A. It's not a "skilled" position or a "knowledge" job, but someone that has done it that many times has likely found the easiest and quickest way to get it done with minimal wasted time. When exceptions come up they know what to do or who to talk to. They've also realized that carrying a rag in their pocket and wiping the table before they put it away costs them 5% extra time now, but saves us overall a bunch of time because the event set up shift no longer needs to run around with paint scrapers to remove dried cheese from half the tables after fondue night.
I think, in general, the idea of "unskilled" labour should be applied more to "the barrier to entry" more than "the people that work in that labour". Many "unskilled labours" _can_ be done by someone with no skill. They are done _well_ by someone with a lot of experience and effort that I think make a lot of "knowledge jobs" look pathetic in comparison.
When I'm doing "physical labour" I find interruptions almost as impactful. (Though I'd accept that I'm the type to just overthink things.)
"Take this pile of stuff and pack it in that moving truck."
I mean, sure, I might just grab the nearest thing, carry it and set it in the first available spot and repeat... But usually I'm putting a little more into it than that. Unless the destination is comically oversized, I need to make sure I'm making good use of the space. Even just packing boxes, putting a 150lb plastic tub full of ammo on top of a bunch of boxes full of dishes is... probably not going to turn out well at the other end.
I started by doing a quick walk through and looking at labels to figure out roughly what I have to deal with. If the boxes are somewhat standard, I've probably found a pattern to how they best fit to minimize wasted space. I may have some piles I'm working on on the side that are "very heavy" or "very light" to try and at least roughly sort them into "heavy on the bottom light on top". That also lets me cut down the number of trips since the "very light" boxes can probably be carried two or three at a time. The boxes stack 6" short of the top of the truck, so I should probably put these bed frame boards aside and once I have solid base of boxes I can slide those right on top...
So I'm walking around with the context of a couple of temporary piles, a couple things to go once I have the right spot for them, the rough shape of the source pile, vaguely what the inside of the truck looks like and what I need next for each stack, the next couple moves to make, and more all floating around in my head. Losing that is not without consequence.
"Get all these pallets off of the loading dock and into the store."
They probably weren't put into the truck and then unloaded based on any sort of knowledge of the layout of the store at all. And each individual stack of pallets was stacked for the lower one supporting the upper one sufficiently to survive a semi ride across the continent. (If you have two pallets of TVs and two pallets of toilet paper, you don't make a stack of each.) I could just grab the next stack, set it down where the first pallet belongs, grab the one on top, drive that to where the next belongs...
Or I could see "Hey there's two stacks here with TVs on the bottom and toilet paper on top. Those are opposite corners of the store. Let me spend a few seconds on the loading dock to restack these, and cut my driving way down."
I _could_ take this one with that one I see back there... but that one way back there is deep into the pile, and I've got limited "scratch" space to drop stuff. In all likelihood, if I don't just take this one now and eat the drive across the store, it's going to just be in my way for the next hour. Screw it.
If someone pulls me on to something else for a bit and I lose all the context, the next few steps I have planned, why I put that pallet to the side for now, etc... yeah, I'm gonna come back and operate less efficiently.
(And if you're thinking "well yeah but you're clearly an insane person" or "that's just bringing a CS background to forklift driving"... I had and have no CS background, and while I picked this stuff up way more intuitively this was something the "lifers", who in some cases had literal brain damage, were teaching to the new guys.)
"Count these recyclables by type and write down the number on this paper."
Okay this one there's no real crazy context to hold in your head, but you definitely get into a flow where your brain is almost checked out besides your hands moving containers and your brain keeping tally marks.
While I _can_ do basic math, there were a number of slightly embarrassing incidents where I'd done things like looked at a paper where I'd written "100", "100", "12" and decided that added up to "112" because I was so deep into "put containers in fingers, put in correct bin, make tally mark" apparently the math part of my brain had fully turned off.
> Knowledge work is not the same as physical work.
I do disagree. I don't mean to give you any shit about it though. If I hadn't started in it when I was 14 years I have no doubt I'd be here emphatically agreeing with you.
I think the main difference between "knowledge work" and "labour" is basically where the floor is to get the job done.
Anyone can move boxes from A to B--a good mover can do it much faster, fit more things in less space and get it to the other end in one piece much better.
Anyone not a complete idiot could be shoved in a backhoe and dig a hole without tipping it over. An experienced operator can do shit that borders on magic. (I mean, go look up some YouTube videos.)
Anyone can grab a tub of drywall mud and a can of paint and patch and repaint a room. A good drywaller/painter can take your wavy wall full of holes and turn it into a piece of glass.
Anyone can glue two pipes together. A good plumber can look and get a picture of the entire plumbing _system_ the house and figure out how the gurgle in that drain means there's an air lock and the plumbing vent on your roof is blocked. Or figure out that the reason your reverse osmosis system's pump keeps cycling on and off is because the transformer supplying it power has failed. (Yeah, I had a plumber pull out a bench power supply to fix my water system...)
Anyone can drive a forklift around. Someone with a minimal amount of sense and training can do it safely. An experienced operator is trying their best to optimize for some sort of traveling salesman problem involving the locations being queued in multiple stacks on a 2D plane with imperfect knowledge.
Someone at the floor of these roles... yeah, they haven't put enough thought into it for an interruption to matter. But if you ever deal with a "really good" mover, equipment operator, tradesperson, or anything else... that shit makes a difference.
The difference between a knowledge worker and a labourer is that no one's asking their forklift driver making $35k/yr how to make their job more efficient. They're asking their MBA making $150k/yr and software engineer making $300k/yr to create a program to design software to give the driver a more efficient route.
>I mean, sure, I might just grab the nearest thing, carry it and set it in the first available spot and repeat... But usually I'm putting a little more into it than that. Unless the destination is comically oversized, I need to make sure I'm making good use of the space. Even just packing boxes, putting a 150lb plastic tub full of ammo on top of a bunch of boxes full of dishes is... probably not going to turn out well at the other end.
I think I get the gist here, and tell me if I'm right. The way I would put it, is that as you are working, you're also planning, simultaneously. In the process of carrying out the plan, you're also refining the plan. It's like working and planning at the same time, and you lose both when you're taken away from the task. (I think I relate to that because it's how my brain works, at least.)
The second half, if I'm following, is that there's a lot of important contextual knowledge and problem solving, and there's a degree of craft that cashes out as a difference in the quality of work between a novice and someone more experienced, and interruptions can have an impact on that higher quality work that's similar to interruptions to "knowledge work". Normally big walls of text on hn are, stylistically, taboo and associated with low quality but this is very strong all around imo.
I actually thought this was going to reference the (earlier) 2000 Spolsky post (point 8 from https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...), which is itself dependent on the 15 minute per-person interruption cost (higher than 23m15s in aggregate time)
This is adjacent to the post but most (software) engineers I have interacted with are amazing plate spinners and an interruption is just another (ephemeral) plate to spin and it's not even close to 20 minutes recovery time.
Unless it's an emergency (boohoo it'll take whatever it takes) or it tickles my fancy more than what I'm doing - which is a me problem.
When some of those plates are unnecessary, it causes problems. I may be responsible for 3 plates worth of work, and be capable of 6 on a really good day. On a bad day though, 3 may be all I can handle and an interruption=dropped plate.
I’m not finding it in a quick search, but I believe I’ve read something by Mihaly Csikszentmihalyi about the time needed to get into a flow state after being interrupted.
Someone just messages “hi” and then waits for me to respond is going to take a while to recover from due to the massive level of frustration I get from it and the wasted pleasantries just to find out what they want.
“Hi, quick call?”
The day is over, I’ll try again tomorrow
“hi, do you know what module x is populated in?”
3 minutes and im good to go
"When people did resume work on the same day, it took an
average length of time of 25 min. 26 sec (sd=54 min. 48
sec.). This may seem like a relatively short amount of time,
but it is also important to consider that before resuming work,
our informants worked in an average of 2.26 (sd=2.79)
working spheres. Thus, people’s attention was directed to
multiple other topics before resuming work. This was
reported by informants as being very detrimental. In some
cases, the physical or desktop environment is restructured,
which makes it more difficult to rely on cues to reorient one
to their interrupted task. For example, a blinking cursor at the
end of the last typed word can enable one to immediately
reorient to that document, whereas if other windows have
been opened, it can be hard to remember even which
document had been worked on."
And
"We found a trend that showed more externally interrupted
working spheres are resumed on the same day (53.3%)
compared to internally interrupted working spheres (47.6%),
X2
(1)=2.97, p<.09. Externally interrupted working spheres are
resumed on the average in a shorter time (22 min. 37 sec.,
sd=53 min. 52 sec.) than internally interrupted working
spheres, (29 min. 1 sec., sd=55 min. 43 sec.), t(987)=1.92,
p<.055."
So no, it does not say 23 minutes and 15 seconds in that paper.
But to say: "the paper never goes into details regarding the recovery time between finishing the interruption and getting back to the original task." is flat out incomplete, because they are reading the followup paper to the original work in isolation; and haven't considered that a number of reports summarized the findings of that (22 m 37s) as "about 23 minutes".
The way it is written implies the research is all wrong, rather than more accurately stating "I can't find the exact source of a quote but it's broadly 22-23 minutes, not 23m15s afaict".
There is also some irony in "ctrl+f", "23" being explained as the methodology for review on the topic of attention span for complex tasks...
Someone yelling at me costs themselves however long it takes to hire my replacement. I did my time working for overgrown children, I won't put up with that kind of nonsense anymore.
Yuuuup. If someone higher up than me in the work hierarchy yells at me, that's it. I'm out. Life is too short for that. Those people are toxic and I do not want to work with people like that, let alone be "managed" by people like that.
Some days an interruption will throw me off my train of thought, and I spend the remaining six hours collecting discarded bottles and railway ties for hopeful use somewhere, somehow, sometime.
Other days an interruption costs me pretty much nothing.
I’m still trying to figure out how to tell which of those days I’m going to have and whether to just not log into Slack for the day.
I've found one thing that minimizes interruption cost: pair programming. At one startup we pair programmed all day, every day. Resuming from an interruption was almost seamless. Can't explain it, only experienced it.
If only I wouldn’t prefer stabbing myself in the leg with a rusty knife over pair programming.
I've never done official pair programming, but I get frustrated when I'm not on the keyboard as I find others think slower.
I usually prefer to be navigator than driver. It's the navigator that does the high level thinking. The one at the keyboard is the one who's usually better at typing and writing out the design patterns that are agreed upon. Of course we did swap roles routinely, maybe several times a day. Oh and to top it off we switched pairing partners every week or two. It was a brutal experiment but I learned a lot and I'd say it was a great success.
Have you tried plugging in a second keyboard and taking over where necessary? I do a lot of remote work in which my colleague and I work on the same computer and it's quite useful for either of us to jump in with our own keyboard (and mouse). It does take a bit of occasional verbal negotiation to agree on who really knows what to do (and can do it fastest) but if you communicate well then it's pretty easy.
There is evidence that two people on the keyboard can increase productivity.
https://www.youtube.com/watch?v=kl6rsi7BEtk
Of course I knew which video it was before even clicking.
I was rather expecting it to be this one: https://www.youtube.com/watch?v=NnJnejHhjtI
What about an editor that is designed for multiple people to edit the same document? Tie the second keyboard, the second mouse, and a second cursor as resources together and independently edit?
I do this, but with a second monitor and second machine, and then we use git to synchronize our work
With VS Code and IntelliJ you can even do it in the same documents at the same time
Damn I wish I had a relationship with someone like that.
Can you say more about your setup? Does it require extra hardware/software?
We're just using TeamViewer. I connect remotely to my colleague's computer while they are sitting in front of their keyboard.
Right I only call using the same computer pair programming. Now working remote (with Tuple app) it's still two keyboards/mice on one computer (sometimes mine, sometimes theirs), though it's infrequent for specific tasks.
The wildest thing I experienced once was this experimental “two cursors, two highlights, two clipboards” setup. I badly wish that had caught on. It was like Google Docs but Local Multiplayer.
One of my previous employers, Dynaboard, built approximately that.
The Show HN post: https://news.ycombinator.com/item?id=30261598
I sometimes wish the separate clipboards could be turned off, or have a way of pasting from the other's clipboard.
If you enjoy Tuple, we just silently open-sourced Hopp (one of the maintainers here), we are still in Beta era, but would love some feedback!
Tuple.app does this. It's pricey but an excellent product.
Just a reminder for everyone, you can do this with tmux. So you could even just sit next to each other (or not) and be on your own machines.
I find that working with people who are smarter than I am helps a lot with this.
"no the other one, down a bit, no the one above, no go back..."
Calling out explicit line numbers and zoom annotation tools help with this
up up up up ... you went too far....
This is why you need to learn vim commands /hj
I find the less dominant person just switches off, stops thinking and just becomes a keyboard with about 20x the latency and 10% the speed and accuracy.
for me it's not that I think faster, it's just that I will check 10 things really fast and exclude the "no it can't be there" things - because that's usually where it is. So if somebody else is holding the mouse and keyboard, I would then have to convince them that these things that they are convinced are fine need checking.
I really hate this work of convincing them, because it's much faster to check it first and explain why it was a good idea later once I've fixed the problem.
I think the only thing that might be more frustrating is if my modifier keys rotated at random intervals.
Funny you should mention it. I have different computers with different keyboard layouts--including for some reason[0] modifier keys on only the left side being different on one.
[0] That's the gaming PC I play StarCraft 2 on and I found it simpler to always leave it in one mode than switching back and forth.
I suspect that this would also lead to interruptions having almost no effect on your productivity.
Because it would be in the gutter in the first place?
When pair programming was a fad in the early 2000s, I tried it with a coworker for a security-critical piece of code that needed two pairs of eyes on it.
It felt horrendously unproductive to have two people at one keyboard but we compared commit rates and the surprising result was that we produced the same rate of changes as working separately.
Does this mean you as a pair were as productive as both of you individuals combined? Or that the pair was as productive as one individual?
Pair programming is twice as expensive so it needs to be twice a productive (quality, LOC, whatever) to make sense I guess.
Two of us at one keyboard were as productive as the two of us separately combined.
I figured this was because typically while one person was coding the other would be researching. If you’re by yourself those are serial activities instead of parallel and the total workload is the same.
I find it is slightly slower (maybe 20%) than two individuals alone but the quality is quite a bit higher and the effect of this higher quality compounds over time (i.e. less tech debt -> fewer bugs, faster development on future code).
Im quite credulous of Kent Beck's claim that when categorizing the last ~15 bugs on a project with pairs and singles he found that all 15 were in code merged by an individual rather than a pair.
If it were an application you could just install I think everybody would use it. It demands psychological safety though, which most teams dont have, and is becoming less common these days.
It's funny because it starts to be (an application you could just install) - AI agents could work as pair programming buddies.
I’ve done pair programming for a short amount of time and found it stimulating and productive.
What specifically makes it painful for you?
Depends on what exactly you mean by pair programming. Two people sharing the same keyboard and screen and watching the other type is horror movie level stuff to me. I go from a competent typist at 140wpm or so, remembering at least some basic syntax, knowing the most common editor shortcuts etc. to a blubbering idiot 5 year old.
Sharing an office where you can’t look at each others screen unless you walk over to help troubleshoot or design a specific feature is probably my favorite mode of work by far. Especially if it’s a small hyper-competent team with a diverse set of expertise but basic generalist knowledge to navigate the entire design at a high level.
Being able to jump on a whiteboard with zero latency mid-debugging session (even trying to move to a spare conference room) is also great.
This also lets you devise team communication in a way where you can signal you are in focus mode vs not and others can gauge the importance of their ask based on that signal and knowing precisely what everyone is actually working on that day.
That said, the absolute worst possible way to collaborate is video conferencing and shared screens. Give me a shoulder hoverer over that any day.
No the person you've replied to, but for me I just find it frustrating. When I'm not the one typing, I always find the other person moving slower than I can think, not entirely getting what I want to tell them ("no, line 47, not 53 -- no, the foobar function call isn't the problem, it's the 4th argument to barbaz... no no, no that one... GAH). Maybe we can chalk this up to "communication problems", and I should have taken a pause to talk about communication with my pair partner.
I dunno. I've just always felt much less productive with someone else there. I don't view programming as a social or collaborative activity. Building software can be collaborative, but when I'm sitting down to do implementation, collaboration slows me down, and I find it very frustrating and unproductive.
I one had quite good experiences with it, but the roles were very clear: he was the domain expert who knew how things should be handled and I was the person knowing the code and the processes. This way I didn't have to come up with potentially wrong handling of edge cases and he didn't have to mash his head against code he doesn't understand.
When I was on my 2x I wanted to do more programming. Now I just I want to me f let alone to finish my job
Just wait till you learn about "mobbing"… You can feel the money being lit on fire.
This fad died out along with 0% money.
it's like 9 women giving birth to a whole baby in just one month.
I pair program every day, my colleague is called Claude. Like you, I'm allergic to meat co-programmers.
Pair programming exhausts me. When I write code alone, I usually have breaks every 20 minutes or so. I go for a short walk after 1h. I look out of the window every now and then. Sometimes I put some background music. When I’m doin pair programming I’m supposed to: think out loud, look at the screen 100% of the time, sit in front of the screen for at least 1h straight. Think at the same speed than my peer.
Not worth it for me. Don’t care if we together are more productive; I couldn’t care less. I care more about my eye sight, and sitting routine.
I can sit and program 16 hours straight without breaks.
I cannot talk to someone else for an hour without feeling exhausted and needing a long break afterwards.
Talking to someone else while programming? It's revving up my brain into the red zone. Sometimes the adrenaline boost does its job but I do pay the price.
Same. It seems the coding part of my brain and the communicating are mutually exclusive
I wonder if it’s related to the phenomena of some people having a ‘narrator’ in their head or, like me, there’s no voice and it takes effort to convert abstract thoughts to sentences
no I have the voice but I can either explain or do, not both.
Maybe this is a misconception or misrepresentation of pair-programming, at least compared to my experience. One person isn't supposed to be doing both. You're either navigating/explaining or driving/doing. Pair programming isn't about one person doing everything and another person watching and trying to keep up. It's about communicating and sharing an understanding, like a realtime/interactive PR description/review while writing. Of course there are times where one person will simply say "let me write this out and discuss after" and go at it for a short while, but it should be the exception rather than the rule in settings where it worked best for me.
This feels a bit no true scotsman.
no I actually get it, I think like most fads, it seems to work great for really trivial things or for debugging. I have myself used pair programming in those cases.
I just can't imagine using it for serious work. navigating/explaining? I know neither the science I'm trying to code nor the code I'm trying to write - I'll write code to explore the data, I'll have a hunch, I'll wonder about something and I'll go find that one paper I came across 10 years ago to check - I don't see what code the other would be writing while I'm trying to figure that stuff out.
I'm sure it works great for yet another CRUD.
I guess pair programming would also minimize my interruption cost, but only because productivity would be close to zero to begin with.
I bet also interruptions were less likely since you seemed busy because you were interacting with each other. Therefore others may think before interruption.
Might have to do with the social pressure to (mutually) focus on the peer that speeds up getting back on the original focus.
Same here.
How can you find a startup with a pair programming culture?
They’ll tell you.
So true. I interviewed at one where a half day was spent pair-programming with one of the team's devs doing TDD: write a test, make it green, refactor.
Join a startup. If they don't do pair programming, quit.
Have you tried giving your AI productivity tool a personality so it can guilt trip you the same way?
That's an interesting idea, adding an AI so it could be you pair programming with a colleague remotely over Tuple, a truple. Seriously though it would take out the frustration and flow-breaking pauses while interacting with an LLM.
My feelings exactly. Whenever I get one of those days I’ve found I get more done away from my desk. Taking a walk in the forest or doing some household chores can really help you get back on track.
Of course at times it’s just better to admit altogether this isn’t a day meant for work and spend it relaxing instead. Usually, the benefit of that is a really productive day at work the day after too, everybody wins.
Almost all my employers and managers have been very understanding about this. But one of my favourites was a manager earlier in my career who picked up that I was anxious about my work hours and ethic. To paraphrase, he said, “the company isn’t paying you to solve problems M-F 9-5. It’s paying you for when you solve them in the shower or on a walk or when you’re putting your kid to bed, and then come into work and implement the solution.”
I’ve thought about this for years as I tune my work life balance. I’ve never felt like I’m wrongly bringing work home with me that way. It’s always felt like an incredible optimization where my job gives me these puzzles I get to carry with me and work on when I’m bored or my ADHD addled brain screams for stimulation.
You've been very lucky. I wish I had a similar experience. Managers who truly think that way are beautiful creatures.
As long as I compulsively think about work in the shower, at 3AM in bed or while out running, I will never feel guilty about thinking about anything else than work for a while during 9-5.
Do you happen to know if that one is hiring for anything at the moment? Left to solve problems at that pace, I'm pretty sure I could do some great things for them.
Most remote work gigs are basically this.
There are absolutely places where you are chained to the computer in remote positions this is a culture thing not how work is done. We have a nice culture and we are hiring, sadly not remote anymore.
I do not think it actually affects productivity in either way. What happens is that people seem to feel better.
I've never worked anywhere where I wouldn't be laughed at for suggesting this. "No, we do pay you to work from 9-5, M-F." You are very lucky.
This is one of the very best things to me about work from home. There are times I just get up and go piddle in the garden, take a short bike ride, or even just run an errand. I even do it when I'm stuck rather than just from being interrupted. It helps the brain to essentially, ctrl-z; bg and then move on to the next thing. When I return, I find the job %1 has completed, and I have a new approach/idea that is typically much more successful than the previous attempt of banging my head on the desk/keyboard in frustration. It's much healthier for me than vibe coding around the problem
Sorry my grandmother used to use the word piddle to mean pee so I got a real crack out of this.
In my experience, to piddle around is to fool about, while to simply piddle is, indeed, to potty. So based on that, I see where you're coming from.
I absolutely meant piddle about, but I guess that key word got left out.
I read it the same way and assumed they were piddling in the garden to add nitrogen to their compost.
In my experience, to piddle around is to fool about, while to simply piddle is, indeed, to potty. So based on that, I see where you're coming from.
Yeah, most of my best work comes while I’m out for a run on a local forest track. I try not to think about work while I’m out there, probably that’s why it’s so helpful.
100%!and also why I have been self employed for 11+ years.
Same here. I often work more on the productive day if possible to maximise the roll I’m on
For me, the difference is whether I had pre-planned my tasks or not.
Knowing what I wanted to focus on and achieve from 10-11 am makes it much easier to get back on track.
In contrast, when I simply begin working on something, I end up elsewhere easily, even without external interruptions.
For me, it is more about the nature of the interruption. An easy question that only requires pulling something from memory doesn't cost much. A question that requires some thinking has a huge cost, even more so when you have to check the code or documentation. Sometimes even reading an email/teams notification can throw me off. It's not about the interaction (someone coming to your desk, a call,...), it's about the topic.
However I think that in both cases, if the interruption happens while coding, the risk of bug is about the same.
>A question that requires some thinking has a huge cost [...] It's not about the interaction [...], it's about the topic.
For me personally, every interaction with another person requires booting up "Human Mode™", which invariably pushes out any concentration I had on the task-at-hand.
I noticed it positively correlates with the amount of sleep I got the night before, and negatively with the amount of coffee I drank the week before.
For me it's a combination of the nature of task, where I'm at and the nature and duration of the interruption. But usually an interruption causes a large amount of penalty points.
I find a bit of meditation before work and good coffee reliably put me in the latter state, maybe 19 times out of 20.
Any advice on getting started with meditation? Particularly for someone with a busy mind.
I'm not studied in any particular tradition. I typically take a few minutes to connect with exactly what my body is feeling. The socks on my feet, the cinch of a belt, the wind blowing my hair, the cool or hot of HVAC on my palms and knuckles, the minor ache or pain, and so on.
I typically start from my feet and go to top of my head, then back down to my nose. It typically takes me about 10 minutes.
Then, I ponder what I remember of my coffee, breakfast, dinner the night before, how I felt when I woke up. Then I imagine how I want to change things. I do this 2-5 minutes.
At that point, I plan my day.
It works for me. I know there are a ton of different ways to do it, but for me it's simply a time for reconnecting to my internal and external self. Because its the same format with new content (what I feel now, what happened most recently) it feels more like a common exercise routine than a hard thing. But it took a few weeks of frustrating effort to learn to keep focus.
Thanks, I like this a lot
It could be that some tasks require you to hold a lot of context in your head. Interruptions clear that context and it must be rebuilt.
Or you could be tired. It’s crazy how ineffective one gets with a little less sleep.
Do you think it's related to the level of emotion tied with the interruption? For example, finding out a friend or relative was in a bad accident is surely gonna be more distracting than someone asking if they can borrow a pen for a few minutes.
So the average is 23 min 15 sec right?
Ahahaha… I mean… gosh, quite possibly?
As I get older, I feel I take more time to get back on track.
I don't feel less intelligent, maybe more experience compensates for it. I probably make less wrong turns. But I have to be more rigid to prevent interruptions.
I try to compensate with more and larger screens. Also resorting to writing down key aspects of context and plan. Used to keep it in my head but context switches can derail me more easily now so I need a way to get back again.
Right there with you :)
[dead]
This is a really common problem with science reporting in general. Its often the case that the news will say things about the paper that aren't in the paper, often they say something that is completely the opposite of what the paper actually represents with its data. Its become such a common thing and its very common when you can't find the referenced study itself from the article. Sometimes its the authors fault and they said things that aren't supported by the data but the science reporters do this a lot.
My basic rule on all science is go at least look at the papers abstract, method and their graphs/data. In 5 minutes you'll be better informed than the pop science article and it gets easier the more you read them.
Interruption do impact getting back in but I find it very variable, I actually if I am doing very strict TDD I recover from interruptions well. If I am busy thinking about a design or doing some more complex algorithm performance analysis its all happening in my head and they take longer. I think it is measurable and you could set up experiments to see how long it took to start producing again and if there is a slow start or not on a well defined programming task.
When I work places where interruptions are expected I change how I do my work. So an observer may see them costing me less time but that’s amortized across the rest of my work as a consequence of leaning into interruption. It’s still there, it’s just spread out more.
This is a great point and a lesson that has taken me decades. If you aren’t given quiet uninterrupted time the company is signaling to you that office time is about managing day to day fires, not deep work.
Often you need to protect time to get something done but they literally want you to be doing something other than writing 10k LOC.
At the most disruptive place I finally arranged it so I worked at home on Fridays and Monday through Thursday were used to answer questions, attend meetings, do shallow work and do exploratory work for deep work. For instance, you need to do a refactor for a new feature or a bug fix. Is the code going to just let you do it, or will this change require another, and another, and another to get things working again?
So most Fridays I knew exactly what I needed to do and I coded for a solid six+ hours. And having already poked around I typically got about twice as much done in that time as I typically would in a day.
Oof, I don't think I could be successful at a place like that. Only 6-ish hardcore-productive hours of coding per week would make me sad. I would want to invert your arrangement: I'm in the office Monday to answer questions and interact with people, and Tues-Fri I'm at home doing deep work.
(I know that's unrealistic. But that would be my ideal.)
By this point the project was out of primary development and moving toward long term maintenance. My main value was in making sure everyone there understood how certificates and code signing worked, and that nobody made any dumb architectural decisions.
> This is a really common problem with science reporting in general. Its often the case that the news will say things about the paper that aren't in the paper, often they say something that is completely the opposite of what the paper actually represents with its data.
I wonder if perhaps a part of LLM hallucinations can be explained by them being provided such reporting and having it (mistakenly) tagged as high-quality training data.
For sure some can. I mean the LLMs are susceptible to priming. The OpenAI demo had an error in the airplane wing part because of that. It is a very common mistake (included in many textbooks) but the LLM repeated it. More importantly, I saw someone be able to get it to give the right answer without spoiling it through the prompt.
> I wonder if perhaps a part of LLM hallucinations can be explained by them being provided such reporting and having it (mistakenly) tagged as high-quality training data.
Probably (haha) far more of a function of temperature than training data. If the corpus is large enough for your prompt and you turn the temperature all the way down, you will get almost no hallucinations. You then have what is essentially a search engine.
1) it certainly contributes to a significant part of the g̶r̶o̶w̶i̶n̶g̶ distrust in science. People are getting their science from the news, not the horse's mouth. If you report something silly while saying "scientists say" then people will point the finger at the scientists more than they will point to the reporter. The scientists aren't writing in plain English after all[0]. Things like chocolate being healthy for you, red meat causing cancer, or machine learning quantum blackholes. There's always elements of truth to these things but truth is not sensational. Truth and complexity go hand in hand. As complexity decreases you will have to sacrifice accuracy. This is a tough balance to play[1].
2) The public isn't very scientifically literate and it is easy to misconstrue meaning. Hell, even scientists routinely struggle with this stuff. Let's take the red meat issue as an example. It's true, but a lot of those studies were looking at daily intake of 50g or 100g and results like "25% higher risk of rectal cancer" at the higher end of the estimates. For context, a Costco hotdog is 110g while a Nathan's Hotdog is 48. We're talking about 1-2 hotdogs per day. We're also talking about a percent increase in risk, not a percent risk. The CDC site says approximately 3.9% of men and women will be diagnosed with colorectal cancer. If that's our baseline then a 25% increase is a 4.9% risk. That's a disgusting amount of hotdogs to move from a 4% cancer risk to a 5%. Concerning on a national level but not on a personal. This feeds back to #1 as people are interpreting the news as saying "eating hotdogs makes you likely to get cancer" while people observe heavy hotdog eaters around them not getting cancer. Their observation wouldn't run counter to what the research says but it will against the narrative on the news. The incongruence between observation and understanding does justify mistrust. But there's just more ways to misinterpret something than there are to interpret correctly (relates to [2]). This failure mode becomes self-reinforcing. Enough that I think anyone that spends any time on the internet will be aware of it. (Communicating is fucking hard, communicating accurately is even harder)
3) (Perhaps the worst part) Scientists are primarily measured by their citations (count or "h-index"[3]). Unless you do something groundbreaking[4] (which is rare) then this is the main way to "measure" performance. A great way to boost citations is getting media attention. Unfortunately there's just a lot of papers published and a primary driver of citation count is knowledge of a paper's existence. You don't need to be an Avi Loeb type (it doesn't hurt) when we're talking about small numbers. If a Cal State grad student and a MIT grad student were to publish the same paper we'd expect the latter to have more citations due to the latter's greater visibility. MIT has a media wing and these papers are much more easily picked up by larger news orgs. This is why so many scientists use platforms like Twitter. Because your work doesn't mean anything (to your personal success and ability to continue doing your work) if you can't get enough citations. There's an obvious slippery slope here... One that can create a feedback loop to misreporting. The fiercer the competition the the more risky this situation becomes. It's really easy to do slight embellishments of your work. No one is checking at time of publication. Replication happens later and the system devalues replication. Plus, while replicating it is much easier to assume you've made a mistake rather than the paper was in error (or in serious error).
All this is to say that shit is messy. And I don't think any of it is particularly any one person's fault. More an emergent phenomena through compounding effects. Little things here and there add up as we talk about millions of events and many years. I know we all want things to be simple, and simplicity has a lot of benefits, but it also can be a big trap. "As simple as possible, but no simpler" does not mean something isn't extremely complex[5]. It's a trap that makes people think they can read a few lines from Wikipedia and understand something (read the whole article, it's still not enough). A trap with growing consequences to a world that grows in complexity[6]
[0] And I don't think w̶e̶ they should. Papers are a peer-to-peer communication network. Open and visible, but that's how the peer-to-peer communication takes place. Expert-to-public communication has traditionally been done through news or other science communicators. Asking scientists to write papers to the general public is like asking you to communicate to your coworker about your code as if your coworker knows nothing about code or the context it is running in (all because a layman may overhear). Good luck getting any work done...
[1] While news orgs and science communicators (especially pop sci communicators... ugh...) are doing harm here there are defenses anyone can take. Recognize your understanding is always wrong to some degree. Don't take in information as binary true/false statements but probabilities: e.g. likely true/maybe true/maybe false/likely false. Fundamentally the reason this is a good defense is because it is always a more accurate interpretation. Scientists don't find truth through confirmation but through negation. What I mean is w̶e̶ they rule things out. A scientist converges to truth[2]
[2] This also helps you sniff out conmen from the scientists. The scientist always has some doubt. At first they may show themselves as highly confident but as you press on detail they start weakening language. This isn't foolproof and isn't gonna work for every question, but it is common. Scientists are being more trained on media literacy because there is recognition that while this is the right way to talk to peers it gives the public a sense that they lack expertise rather than are aware of complexity. The best signal is just getting them to talk about their domain. They won't stop and will get very detailed.
[3] Number of papers with greater than N citations. An h-index of 10 is having 10 papers with >= 10 citations. h-index of 100 is 100 papers with >= 100 citations.
[4] If you do something groundbreaking no one gives a shit about citation count. But doing something groundbreaking will surely make your citation count skyrocket (often it also drives your h-index too, as you've simply gained more attention and more people are reading your other works. Your work doesn't change, but visibility does). This fact is often used to justify the usage of citation metrics. Citation metrics are fine, but they're also easy to hack and highly context driven. I mention Avi Loeb, and controversy is beneficial to this metric. Every paper that cites him to say he's wrong is a point for him. Controversy is a way to gather points from a whole new source! Not those building on your work, but those building against your work.
[5] "If you can't explain it simply, you don't understand it well enough" is laughable phrase. The reason you can't teach "a barmaid" Quantum Chromodynamics isn't because you don't understand it. You can't explain it "simply" because you don't understand it. You can't explain it simply because you can't even use the word "color" without a layman thinking a quark is red (can you even get into how it is impossible to have "red" at that scale?).
[6] Progress necessitates an increase in complexity. Look at a Taylor Expansion and it's relationship to computational difficulty. I'll let you all figure this out, my comment is already too long.
> Truth and complexity go hand in hand
Yes. It's pretty incredible when someone comes up with a way to convey that complexity in a gradual and easily graspable form.
Looking at how other subjects, we have movies explaining extremely intricate heist plans and people stick with it for 3 hours. I wish we had more incentives to spend that kind of talent and money on knowledge stuff.
Watching the "Doctor Stone" anime I was baffled at how rough it presents engineering and scientific processes. As it is the popularity of the show is crazy, and I wonder how much of a hit it would be if it took much more time to explain trial and error and how much it takes to design and build anything from scratch.
I think we're making progress in that direction. I mean you have people like Veritasium and 3Blue1Brown being excellent science and math communicators. They are fairly high level, but have you ever checked out the Summer of Math Exposition (#some) submissions? There's some amazing videos in there that are as informative, if not more, than lectures I've had while at Uni. Not just an average lecture either, like rivaling or surpassing some of the best lectures.
It's hard, but I think there's hope. Currently academia isn't aligned for this right now though so it is often coming from outside. But writing my thoughts on that is going to me another, but smaller, rant lol
> Not those building on your work, but those building against your work.
In our brains, we have inhibitory neurons, why can't the citation mechanism incorporate negative feedback? and the final score would be combination of negative and positive citations.
It could, but that could also have negative impacts to the system. I don't actually want people like Loeb to stop publishing. Off the wall thinking can be helpful. The reason for this is that you're still doing work.
It is exploration, so think about it this way. Everyone says "there's no gold over there" and then someone says "well did anybody check?" It helps when someone comes back like "yep, I checked, no gold."
Even if it was very likely it is good to know. Those big breakthroughs only happen by challenging the current paradigm. By definition this is almost certainly true. You're not going to create paradigm shifts by maintaining the current paradigm, right? So you have to maintain space open for wild and crazy ideas. Hell, take the famous multiverse theory in physics. It is almost certainly wrong but it still can provide some utility too. Same is true with String Theory. It has to be okay to be wrong in science. You won't progress if this isn't possible. It also would mean you can't progress even if you're right but no one listens!
The problem is you're trying to fundamentally measure something intangible. With scientists you're trying to measure impact. But the only way to measure impact is through hindsight, which sometimes takes hundreds of years. Every single measure you take, no matter how obvious and simple it may seem, is a proxy. Your measurement cannot be perfectly aligned with the thing you intend to measure. Many times the alignment difference will be almost nothing so it doesn't matter, but with things like this? Sorry, you're not going to be able to measure scientific output unless you can travel to the future to make that measurement. (similarly, you can't measure a student's educational outcome until after they have left school and applied that knowledge, including their metaskills.)
You should measure, but with things like this, measures are a dangerous trap.
thank you for your service, it was a very long comment but i read it all and found it insightful!
Thanks for reading. Topic hits close to home for me lol
I think the original source is a 2006 Gallup interview with the researcher Gloria Mark you can read here: https://news.gallup.com/businessjournal/23146/too-many-inter...
> GMJ: How long does it take to get back to work after an interruption?
> Mark: There's good news and bad news. To have a uniform comparison, we looked at all work that was interrupted and resumed on the same day. The good news is that most interrupted work was resumed on the same day -- 81.9 percent -- and it was resumed, on average, in 23 minutes and 15 seconds, which I guess is not so long.
I interpret this and the article as saying that those 23 minutes are not spent trying to resume the original task, but on the interruption itself and the other intervening tasks that are worked on before returning to the original task.
If that interpretation is correct, those 23 mins are not wasted in confusion but simply spent on other things.
Do i read it correctly?
Yes you read it correctly. It's the time of the "interruption" itself. From when you stopped working on your task to when you resumed working on it.
In that time away from your task you might have answered questions, worked another small task, relaxed, chit chatted, etc.
The time to refocus on the task once resumed wasn't measured, but participants said it was "very detrimental".
> Thus, people’s attention was directed to multiple other topics before resuming work. This was reported by informants as being very detrimental
So we don't exactly know how much time it took participants to get back to a focused state on their task, we just know the time they were away from it.
That's a great question and after rereading the quote I honestly couldn't tell.
After mentioning the time, they do talk about how it also takes time to return to work from an interruption. But on my read it seemed a bit ambiguous whether the time was from the interruption itself or from the combination of the interruption and the time after the interruption before you return to productive work.
Unfortunately that's not the source. The author of this piece, Jaro Fietz aka oberien, is already familiar with that article, noting it in their diagram and linking to it toward the bottom of the page. They're looking for the underlying research itself rather than a quote about it.
>So in the end, where do the 23 minutes and 15 seconds come from? They are mentioned in interviews multiple times by Gloria Mark. But I wasn’t able to find a primary printed source. There are many more publications by Gloria Mark, but none of them turned up while searching for the 23 minutes 15 seconds figure. If someone knows a paper or study where that figure originally appears in, please tell me.
The mystery seems pretty much "solved" to me.
We know where that number originated from, it's from this Gallup interview with Gloria Mark.
We also know the Gloria Mark paper corroborates the number:
> When people did resume work on the same day, it took an average length of time of 25 min. 26 sec (sd=54 min. 48 sec.).
From the Gloria Mark paper: https://ics.uci.edu/~gmark/CHI2005.pdf
Now we're only left guessing the discrepancy between her paper saying 25 minutes and 26 seconds and her quoting 23 minutes and 15 seconds when interviewed about it.
My guess is she didn't recall exactly and gave a ballpark as she remembered it.
That seems basically right. I wouldn't have called the Gallup interview the source but I think you're probably right about the paper and the explanation of the difference between what she said and the paper.
> I wouldn't have called the Gallup interview the source
We're probably arguing semantics, but why not?
You can object to data and methodology of a study in a way you can't to a quotation. And oberien was clear about what they were asking for from the beginning.
It really wasn't clear to me.
My first read was that they wanted to fact check what they heard, and were not able too.
And my second read was that they were more interested in figuring out why 23 minutes and 15 seconds is the precise number being parroted.
And now on my third read, I'm still unsure what exactly they're asking for. If they knew about the study showing 25 minutes, and the interview, what more are they asking?
What was the bad news?
The full interview is all in the link. But specifically the bad news was:
> But the bad news is, when you're interrupted, you don't immediately go back to the task you were doing before you were interrupted. There are about two intervening tasks before you go back to your original task, so it takes more effort to reorient back to the original task. Also, interruptions change the physical environment. For example, someone has asked you for information and you have opened new windows on your desktop, or people have given you papers that are now arranged on your desk. So often the physical layout of your environment has changed, and it's harder to reconstruct where you were. So there's a cognitive cost to an interruption.
[dead]
When I'm in a flow state during complex problem solving, an interruption will cause something akin to visceral pain for me. I've learned to mask and just deal, but it kills the thread holding all the context in my brain. I wouldn't know how to measure the loss in a productivity sense, but depending on the problem it can be much more than 20m to recover...
I've been trying to articulate why switching our OSS project from using public GitHub issues to private Jira issues (behind auth that requires logging in with 2FA again every 48 hours) is bad for programmer productivity. Upper management quite literally doesn't believe me. To them, "flow state" and the visceral pain getting pulled out is it causes is completely fictional.
> is completely fictional
Of course it is. Why wouldn’t it be? Code maintenance, flow state, software quality is what techies invent to slack off instead of doing their job.
Don't worry, non-techies will just vibe code the techies out of their jobs
I can't tell if this is satire or not
(it is)
I think the anticipation of interruption caused by meetings might be worse, I end up losing a half hour on both ends.
Pre-pandemic, I tended to keep an erratic home-work/office-work schedule. Sometimes I would be at home working, and then leave to go to the office for a meeting, but I'd arrive a half hour before the meeting was to start. That time turned out to be mostly wasted. There was no way I was going to get any deep work done in that time. Sure, sometimes I could do some idle research, stuff that I could get into and out of quickly, but largely it was wasted time.
I could have just spent all my time in the office, but the open office plan environment is not conducive to deep work, even without direct interruptions (which there would be, too).
I guess the best solution for me would have been to arrive at the office 5-10 minutes before the meeting start time, but it was surprisingly hard to get that right, even with a predictable commute time (bus or walking).
On top of all that, I would occasionally completely miss meetings if I was in a flow state before that. I would somehow miss desktop and phone notifications that a meeting was coming up. I guess the solution to that would have been to set an actual alarm on my phone, something that I couldn't ignore, but I never ended up doing that for some reason.
This is what kills my days. Other interruptions from coworkers usually are on topic and it’s always a pleasure to help out.
Oh how I hate a last minute rescheduling of a meeting. Feeling like I only have 30 minutes, I didn't start anything deep. Such a waste.
Oh, half an hour till that meeting, better not start anything serious.
And some smartypants will schedule meetings with 1h gaps between so absolutely nothing will get done
Yep. For me, a meeting is half a day lost.
As a manager a lot of the annoying interruptions I put down to, and I chafe at using the word, a lack of hustle.
Okay, so I view my job as primarily giving devs some strategic direction and priority, but also unblocking them from getting work done.
On the later, the kind of interruptions I get are from folks who just don't want to do and figure some things out for themselves. Need access to a database... Go ask infra support. Don't know who wrote this API client, go look in git. There's folks who just don't bother to go search for these things themselves.
I agree with you on that from the perspective of a senior developer. Far too many times people would come and interrupt me for something that they could have figured out themselves. Sure, it might have been something that I knew offhand and could tell them in 15 seconds, but would take them 2 minutes to research. But it was so very very frustrating to me.
I would get that with junior folks for deeper questions, even, stuff that would take 15-30 minutes to go over with them. I started asking them questions up-front, to try to determine what research and steps they'd taken on their own before asking me. I would generally be pretty gentle with my "go away" patter: "ok, so through the questions I've asked you, I think you should have a few avenues of research that you can pursue on your own; if you're still stuck after that, let me know". But the repeat offenders who just didn't seem to get it... sigh. It was also clear to me from how some of my questions were answered, that often I wasn't suggesting anything they didn't already know; they just didn't feel like doing the research on their own, and wanted someone else to tell them how to do their jobs. So exhausting.
I find these moments to be teaching a person to learn to fish. Not only tell them how to get the answer, but then ask questions to see if they put in the work needed before coming to you. If it persists, maybe address it directly in a one on one meeting. If it's systemic across different people, maybe there is a documentation or organizational problem. Sometimes it's training the person to help themselves, other times it's seeing things that are broken that prevent them from helping themselves. I see this especially in highly complex systems where there are large and multiple teams, and the person needs to be able to work across these areas.
If you're a manager, and those requests are coming from your team, isn't that just part of the job and not an interruption? Giving direction and priority is not a full time job, surely.
It depends on the question and situation, though. If someone comes and asks, "hey I need access to the Foo database", and your answer is, "you need to talk to the ops team about that; there's a form on Jira for that", and that fact clearly documented and easily discoverable on the internal wiki (or whatever), then this is just a case of a lazy person who wants someone else to solve their problems for them.
But sure, if internal documentation is garbage and it's difficult to find information or understand who needs to be asked to get something done, then yep, manager is gonna get hit with these sorts of requests all the time, and just has to deal with it. Part of the job.
But how large is the internal wiki, how well is it updated, how easy is it to find the information?
If it takes 10 minutes to search for info and 1 minute to ask, then the latter is a more efficient way. That's the job of the manager, to make developers more efficient, give them more time, preferably uninterrupted.
It's interesting to me to see so many people here responding to the title or how many that "read" the article are making small quips.
Interesting because it is an active demonstration of their entire point.
I think it's unfortunately very common for people to come here into the comments without having read the article.
I'll admit I do that sometimes, mainly to get an impression as to whether or not the article is worth reading in the first place, but sometimes I'll end up getting drawn into the discussion here, having not read the article at all.
But I can't imagine posting a toplevel comment without reading the article.
To be fair, this post is also a perfect litmus test for reading comprehension. The thesis is never stated out loud. But I'm finding what's more interesting is the people that clearly read the words. When I commented, this comment was much higher up[0]
[0] https://news.ycombinator.com/item?id=45000416
If it was actually 23mins, and not modifiable, then a myriad of important professions would be completely unviable (e.g. medicine). That is to say, it seems doubtful that the impact of interruptions can be meaningfully summarised in a single figure.
I always assumed that would be an average, meaning it takes 5s for some and 2h for others.
Again, the actual quote is not specific enough, but that would be a very wild and easily dismissed claim.
Or those tasks just got prioritized lower and lower.
I've personally come to the conclusion that the novelty of the thought process is a big factor in recovery. Simply put, if I reach a conclusion that takes a rather unusual road through my mind, it's much harder to get back to after an interruption.
Conversely, I often think about the value I add by being interruptable, by helping my colleague with something that might save him more time than I lose. Good for the company.
This is a valid point. But another aspect of interruptions is if they add to the experience of stress, and thus contribute to a toxic work environment.
> Good for the company.
Unless you’re C level, this thought shouldn’t even cross your mind. Look after yourself.
Well, no, the thing that should never cross your mind is prioritising the company over yourself or other human beings.
The entire reason the company is employing you is to have you do things that are good for it. If you want them to keep employing you (and also to give you more money) then you should be looking out for things that are good for the company, doing them and then making sure that management knows that it was you that did it.
There are things that are good for the company and things that are "good for the company". Saving others time at the expense of yours is the second.
It's great how you attempt to hunt down the source, and document your chase.
I often scold my students for doing poor research on sources, not reading them, not going back to the originals, because quite often, someone never said what is commonly attributed to them. The process of active reading means the reader sometimes ascribes something to an author that is really their own idea.
It's on page 44 of Multitasking in the digital age by Gloria Mark.
https://archive.org/details/multitaskingatte0000glor/page/44...
Why is the entire blog aligned to the left on mobile? Even the background is to the left.
Though this article mostly discusses exact time, I find this idea very interesting in relation to my dissertation. Minor distraction probably causes me to waste a few minutes to tens of minutes to get focused again. Having a child and a partner that need help when I’m working from home has trained me to be able to power write in 1-2 hours what others do in a day. A bigger distraction like an issue causing stress might distract me for half of my work day. It’s not that I don’t want to continue but it’s hard to get back onto task just as one was.
Illustrated: https://www.reddit.com/r/ProgrammerHumor/comments/2rmir6/why...
(I thought this was on xkdc and was looking for it some time ago without success. Found it now)
Original source: <http://web.archive.org/web/20131030072159/https://heeris.id....>
I've been cited on Wikipedia once... and that's when I truly understood why you can't trust Wikipedia.
So is it on xkcd?
"Citogenesis" is an xkcd comic: https://xkcd.com/978/
A search for "Gloria Mark 23 minutes" is interesting reading.
At this point I would suggest going to the source, establish contact with Gloria Mark or a relevant student or co-author and ask whether Dr Mark can confirm that it is an accurate quote, and if so, whether it is a published result. One approach might be to develop the enquiry through a potentially sympathetic third person such as Cal Newport.
This is the source: https://news.gallup.com/businessjournal/23146/too-many-inter...
Gloria Mark said it in an interview in 2006.
For a lot of us that would definitely count as a source. They seem to be credible, they seem to be quoted in a credible media outlet, they seem like an experts on the topic, they seem like they're talking about a real and specific piece of research. So I think that would count for a lot of us. But for purposes of this particular article they're looking for a printed primary source of the research itself rather than a quote about it.
> When people did resume work on the same day, it took an average length of time of 25 min. 26 sec (sd=54 min. 48 sec.).
From the Gloria Mark paper: https://ics.uci.edu/~gmark/CHI2005.pdf
That's the paper source. And the researcher when interviewed verbally gave a slightly different number in the same ballpark of 23 minutes and 15 seconds instead of 25 minutes and 26 seconds.
I’ve been saying for years that an interruption costs me _at least_ 15 minutes.
Knowledge work is not the same as physical work. Both are noble in my opinion, but not the same.
Knowledge and physical work is not the right distinction. It's fine for two broad categories, but within knowledge work there is — at the very least — the manager vs. maker schedule.
Thought work, knowledge work, physical work, then? Probably more layers here, of course.
Productive work, tangible work, and bullshit work…
I think interruptions are similar for both types of work.
Physical work does require some concentration as well, but imagine on top of that having to take off all your gear and walk into some makeshift office on site, deal with whatever bullshit they're bugging you about, and then go back out to your spot and get ready all over again.
Interruptions for any reason other than a true emergency is just poor planning caused by bad management.
Fair, but I guess I meant if I am moving tables around and someone asks me a question and I pause and answer I lose 10 seconds. If I’m deep in a much more complex problem I get a little derailed and almost have to start over.
Sure, but what if the person moving the tables is in the middle of a larger logistical problem?
Caterers and guests are coming. More interruptions in the form of calls, texts, and emails don't stop and each is also "just 10 seconds".
I think it's pretty rare to find jobs where your role is so clearly defined that all you have to do is move tables. Most work asks that you solve a high level problem nobody else wants to deal with. You probably weren't asked to move tables. You were more likely asked to coordinate a venue for a wedding or something. The people assigned to you who were told they'd only have to move tables end up not finding them. Interrupting them is just as unacceptable because now they have to rush to home depot to buy them at the last minute and they're out of billable hours. They deliver the new tables and now you're the one moving them yourself.
Interruptions suck for everyone because there are always leaky abstractions and messy dependency trees. People incorrectly assume some details are trivial and factoring out the pain points is at least discouraged if not considered insubordination. Bad management and bad planning are everywhere.
> Interruptions suck for everyone because there are always leaky abstractions and messy dependency trees
I think the "dependency trees" is usually the most obvious killer. You're putting tables away... who made sure everyone's even out of the building? Who cleared the stuff off the tables?
Even ignoring that... Even if the job is just purely "move tables", I'd propose a simple thought experiment: We're operating a venue for events. Imagine a church basement. We have 75 tables and a large closet we keep them all in between events.
You can choose one of two people to clean up after an event:
Person A has put these tables away 176 times over that past year.
Person B has put these tables away 3 times over the past year.
(If you're not looking and going "yeah those two things look exactly equal", than intuitively I think you have some sense that even unskilled positions benefit from experience and skill.)
If I'm the venue owner and I'm paying hourly for cleanup, I'd put my full faith in Person A. It's not a "skilled" position or a "knowledge" job, but someone that has done it that many times has likely found the easiest and quickest way to get it done with minimal wasted time. When exceptions come up they know what to do or who to talk to. They've also realized that carrying a rag in their pocket and wiping the table before they put it away costs them 5% extra time now, but saves us overall a bunch of time because the event set up shift no longer needs to run around with paint scrapers to remove dried cheese from half the tables after fondue night.
I think, in general, the idea of "unskilled" labour should be applied more to "the barrier to entry" more than "the people that work in that labour". Many "unskilled labours" _can_ be done by someone with no skill. They are done _well_ by someone with a lot of experience and effort that I think make a lot of "knowledge jobs" look pathetic in comparison.
When I'm doing "physical labour" I find interruptions almost as impactful. (Though I'd accept that I'm the type to just overthink things.)
"Take this pile of stuff and pack it in that moving truck."
I mean, sure, I might just grab the nearest thing, carry it and set it in the first available spot and repeat... But usually I'm putting a little more into it than that. Unless the destination is comically oversized, I need to make sure I'm making good use of the space. Even just packing boxes, putting a 150lb plastic tub full of ammo on top of a bunch of boxes full of dishes is... probably not going to turn out well at the other end.
I started by doing a quick walk through and looking at labels to figure out roughly what I have to deal with. If the boxes are somewhat standard, I've probably found a pattern to how they best fit to minimize wasted space. I may have some piles I'm working on on the side that are "very heavy" or "very light" to try and at least roughly sort them into "heavy on the bottom light on top". That also lets me cut down the number of trips since the "very light" boxes can probably be carried two or three at a time. The boxes stack 6" short of the top of the truck, so I should probably put these bed frame boards aside and once I have solid base of boxes I can slide those right on top...
So I'm walking around with the context of a couple of temporary piles, a couple things to go once I have the right spot for them, the rough shape of the source pile, vaguely what the inside of the truck looks like and what I need next for each stack, the next couple moves to make, and more all floating around in my head. Losing that is not without consequence.
"Get all these pallets off of the loading dock and into the store."
They probably weren't put into the truck and then unloaded based on any sort of knowledge of the layout of the store at all. And each individual stack of pallets was stacked for the lower one supporting the upper one sufficiently to survive a semi ride across the continent. (If you have two pallets of TVs and two pallets of toilet paper, you don't make a stack of each.) I could just grab the next stack, set it down where the first pallet belongs, grab the one on top, drive that to where the next belongs...
Or I could see "Hey there's two stacks here with TVs on the bottom and toilet paper on top. Those are opposite corners of the store. Let me spend a few seconds on the loading dock to restack these, and cut my driving way down."
I _could_ take this one with that one I see back there... but that one way back there is deep into the pile, and I've got limited "scratch" space to drop stuff. In all likelihood, if I don't just take this one now and eat the drive across the store, it's going to just be in my way for the next hour. Screw it.
If someone pulls me on to something else for a bit and I lose all the context, the next few steps I have planned, why I put that pallet to the side for now, etc... yeah, I'm gonna come back and operate less efficiently.
(And if you're thinking "well yeah but you're clearly an insane person" or "that's just bringing a CS background to forklift driving"... I had and have no CS background, and while I picked this stuff up way more intuitively this was something the "lifers", who in some cases had literal brain damage, were teaching to the new guys.)
"Count these recyclables by type and write down the number on this paper."
Okay this one there's no real crazy context to hold in your head, but you definitely get into a flow where your brain is almost checked out besides your hands moving containers and your brain keeping tally marks.
While I _can_ do basic math, there were a number of slightly embarrassing incidents where I'd done things like looked at a paper where I'd written "100", "100", "12" and decided that added up to "112" because I was so deep into "put containers in fingers, put in correct bin, make tally mark" apparently the math part of my brain had fully turned off.
> Knowledge work is not the same as physical work.
I do disagree. I don't mean to give you any shit about it though. If I hadn't started in it when I was 14 years I have no doubt I'd be here emphatically agreeing with you.
I think the main difference between "knowledge work" and "labour" is basically where the floor is to get the job done.
Anyone can move boxes from A to B--a good mover can do it much faster, fit more things in less space and get it to the other end in one piece much better.
Anyone not a complete idiot could be shoved in a backhoe and dig a hole without tipping it over. An experienced operator can do shit that borders on magic. (I mean, go look up some YouTube videos.)
Anyone can grab a tub of drywall mud and a can of paint and patch and repaint a room. A good drywaller/painter can take your wavy wall full of holes and turn it into a piece of glass.
Anyone can glue two pipes together. A good plumber can look and get a picture of the entire plumbing _system_ the house and figure out how the gurgle in that drain means there's an air lock and the plumbing vent on your roof is blocked. Or figure out that the reason your reverse osmosis system's pump keeps cycling on and off is because the transformer supplying it power has failed. (Yeah, I had a plumber pull out a bench power supply to fix my water system...)
Anyone can drive a forklift around. Someone with a minimal amount of sense and training can do it safely. An experienced operator is trying their best to optimize for some sort of traveling salesman problem involving the locations being queued in multiple stacks on a 2D plane with imperfect knowledge.
Someone at the floor of these roles... yeah, they haven't put enough thought into it for an interruption to matter. But if you ever deal with a "really good" mover, equipment operator, tradesperson, or anything else... that shit makes a difference.
The difference between a knowledge worker and a labourer is that no one's asking their forklift driver making $35k/yr how to make their job more efficient. They're asking their MBA making $150k/yr and software engineer making $300k/yr to create a program to design software to give the driver a more efficient route.
>I mean, sure, I might just grab the nearest thing, carry it and set it in the first available spot and repeat... But usually I'm putting a little more into it than that. Unless the destination is comically oversized, I need to make sure I'm making good use of the space. Even just packing boxes, putting a 150lb plastic tub full of ammo on top of a bunch of boxes full of dishes is... probably not going to turn out well at the other end.
I think I get the gist here, and tell me if I'm right. The way I would put it, is that as you are working, you're also planning, simultaneously. In the process of carrying out the plan, you're also refining the plan. It's like working and planning at the same time, and you lose both when you're taken away from the task. (I think I relate to that because it's how my brain works, at least.)
The second half, if I'm following, is that there's a lot of important contextual knowledge and problem solving, and there's a degree of craft that cashes out as a difference in the quality of work between a novice and someone more experienced, and interruptions can have an impact on that higher quality work that's similar to interruptions to "knowledge work". Normally big walls of text on hn are, stylistically, taboo and associated with low quality but this is very strong all around imo.
Maybe someone should just ask Gloria Mark?
Reminds me of the Jick Study[0], mentioned in Dopesick.
[0] https://en.wikipedia.org/wiki/Addiction_Rare_in_Patients_Tre...
Related: Don't Wake Up the Programmer! <http://web.archive.org/web/20090305002805/https://alexthunde...>
For me interruptions are really, really harmful. I try to focus several hours in a row or almost the full day in a row as much as possible.
I just check the mail in checkpoints, 2-3 max. 4 times per day if I am focused bc anything else would be too productivity-lowering.
I think I am more sensitive to interruptions than most people maybe? This is mainly when programming. For other tasks it is a bit more tolerable.
I actually thought this was going to reference the (earlier) 2000 Spolsky post (point 8 from https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...), which is itself dependent on the 15 minute per-person interruption cost (higher than 23m15s in aggregate time)
I will schedule a daily mandatory meeting to discuss this problem. And at the weekly summary meeting we will to get to the bottom of this.
This is adjacent to the post but most (software) engineers I have interacted with are amazing plate spinners and an interruption is just another (ephemeral) plate to spin and it's not even close to 20 minutes recovery time.
Unless it's an emergency (boohoo it'll take whatever it takes) or it tickles my fancy more than what I'm doing - which is a me problem.
When some of those plates are unnecessary, it causes problems. I may be responsible for 3 plates worth of work, and be capable of 6 on a really good day. On a bad day though, 3 may be all I can handle and an interruption=dropped plate.
Nice post but please improve the website design for mobiles.
Works fine for me?
The WSJ link doesn't wrap and forces the viewport to be zoomed out.
Probably because I still use a small iPhone from 2020
I’m not finding it in a quick search, but I believe I’ve read something by Mihaly Csikszentmihalyi about the time needed to get into a flow state after being interrupted.
Depends on the interruption.
Someone just messages “hi” and then waits for me to respond is going to take a while to recover from due to the massive level of frustration I get from it and the wasted pleasantries just to find out what they want.
“Hi, quick call?” The day is over, I’ll try again tomorrow
“hi, do you know what module x is populated in?” 3 minutes and im good to go
From: https://ics.uci.edu/~gmark/CHI2005.pdf (sample size: 1x company, n=24, lots of limitations discussed at end of paper)
"When people did resume work on the same day, it took an average length of time of 25 min. 26 sec (sd=54 min. 48 sec.). This may seem like a relatively short amount of time, but it is also important to consider that before resuming work, our informants worked in an average of 2.26 (sd=2.79) working spheres. Thus, people’s attention was directed to multiple other topics before resuming work. This was reported by informants as being very detrimental. In some cases, the physical or desktop environment is restructured, which makes it more difficult to rely on cues to reorient one to their interrupted task. For example, a blinking cursor at the end of the last typed word can enable one to immediately reorient to that document, whereas if other windows have been opened, it can be hard to remember even which document had been worked on."
And "We found a trend that showed more externally interrupted working spheres are resumed on the same day (53.3%) compared to internally interrupted working spheres (47.6%), X2 (1)=2.97, p<.09. Externally interrupted working spheres are resumed on the average in a shorter time (22 min. 37 sec., sd=53 min. 52 sec.) than internally interrupted working spheres, (29 min. 1 sec., sd=55 min. 43 sec.), t(987)=1.92, p<.055."
So no, it does not say 23 minutes and 15 seconds in that paper.
But to say: "the paper never goes into details regarding the recovery time between finishing the interruption and getting back to the original task." is flat out incomplete, because they are reading the followup paper to the original work in isolation; and haven't considered that a number of reports summarized the findings of that (22 m 37s) as "about 23 minutes". The way it is written implies the research is all wrong, rather than more accurately stating "I can't find the exact source of a quote but it's broadly 22-23 minutes, not 23m15s afaict".
There is also some irony in "ctrl+f", "23" being explained as the methodology for review on the topic of attention span for complex tasks...
Someone yelling at me costs me 4 hours on a good day.
Someone yelling at me costs themselves however long it takes to hire my replacement. I did my time working for overgrown children, I won't put up with that kind of nonsense anymore.
Yuuuup. If someone higher up than me in the work hierarchy yells at me, that's it. I'm out. Life is too short for that. Those people are toxic and I do not want to work with people like that, let alone be "managed" by people like that.
Do either of you get a final shout before leaving? You know so that they understand ? Or you create a ripple effect with other employees ?
[dead]
[flagged]