Comment by Waterluvian

Comment by Waterluvian a day ago

97 replies

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.

karmakaze a day ago

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.

  • SoftTalker a day ago

    If only I wouldn’t prefer stabbing myself in the leg with a rusty knife over pair programming.

    • dylan604 a day ago

      I've never done official pair programming, but I get frustrated when I'm not on the keyboard as I find others think slower.

      • karmakaze a day ago

        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.

      • kmoser a day ago

        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.

      • saagarjha a day ago

        I find that working with people who are smarter than I am helps a lot with this.

      • globular-toast 11 hours ago

        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.

      • glxxyz a day ago

        "no the other one, down a bit, no the one above, no go back..."

      • exe34 12 hours ago

        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.

    • cosmic_cheese a day ago

      I think the only thing that might be more frustrating is if my modifier keys rotated at random intervals.

      • karmakaze a day ago

        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.

    • CGamesPlay a day ago

      I suspect that this would also lead to interruptions having almost no effect on your productivity.

      • wiseowise 19 hours ago

        Because it would be in the gutter in the first place?

    • jiggawatts a day ago

      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.

      • kaffekaka 19 hours ago

        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.

        • jiggawatts 19 hours ago

          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.

      • pydry 19 hours ago

        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.

        • tgaj 11 hours ago

          It's funny because it starts to be (an application you could just install) - AI agents could work as pair programming buddies.

    • andrei_says_ 11 hours ago

      I’ve done pair programming for a short amount of time and found it stimulating and productive.

      What specifically makes it painful for you?

      • phil21 4 hours ago

        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.

      • kelnos 8 hours ago

        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.

    • atoav 19 hours ago

      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.

    • motbus3 19 hours ago

      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

    • SJMG a day ago

      Just wait till you learn about "mobbing"… You can feel the money being lit on fire.

      • exe34 12 hours ago

        it's like 9 women giving birth to a whole baby in just one month.

    • bapak 16 hours ago

      I pair program every day, my colleague is called Claude. Like you, I'm allergic to meat co-programmers.

  • dakiol 18 hours ago

    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.

    • dalmo3 17 hours ago

      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.

      • jack_riminton 12 hours ago

        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

  • steve1977 21 hours ago

    I guess pair programming would also minimize my interruption cost, but only because productivity would be close to zero to begin with.

  • mnky9800n 19 hours ago

    I bet also interruptions were less likely since you seemed busy because you were interacting with each other. Therefore others may think before interruption.

  • jll29 5 hours ago

    Might have to do with the social pressure to (mutually) focus on the peer that speeds up getting back on the original focus.

  • mettamage a day ago

    How can you find a startup with a pair programming culture?

    • lazyasciiart a day ago

      They’ll tell you.

      • karmakaze a day ago

        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.

    • yablak a day ago

      Join a startup. If they don't do pair programming, quit.

  • wordpad a day ago

    Have you tried giving your AI productivity tool a personality so it can guilt trip you the same way?

    • karmakaze a day ago

      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.

bubblebeard a day ago

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.

  • Waterluvian a day ago

    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.

    • junon a day ago

      You've been very lucky. I wish I had a similar experience. Managers who truly think that way are beautiful creatures.

    • kaffekaka 19 hours ago

      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.

    • pockybum522 a day ago

      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.

      • saagarjha a day ago

        Most remote work gigs are basically this.

        • pastage 21 hours ago

          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.

    • bongodongobob a day ago

      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.

  • dylan604 a day ago

    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

    • jakeydus a day ago

      Sorry my grandmother used to use the word piddle to mean pee so I got a real crack out of this.

      • jaredhallen 21 hours ago

        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.

        • dylan604 12 hours ago

          I absolutely meant piddle about, but I guess that key word got left out.

      • __MatrixMan__ a day ago

        I read it the same way and assumed they were piddling in the garden to add nitrogen to their compost.

      • jaredhallen 21 hours ago

        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.

    • bubblebeard 13 hours ago

      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.

  • apercu a day ago

    100%!and also why I have been self employed for 11+ years.

  • linhns a day ago

    Same here. I often work more on the productive day if possible to maximise the roll I’m on

astrobe_ 19 hours ago

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.

  • Dilettante_ 16 hours ago

    >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.

baxtr 20 hours ago

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.

deepsun 19 hours ago

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.

vorgol 14 hours ago

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.

TomLisankie 10 hours ago

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.

nicbou 19 hours ago

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.

[removed] a day ago
[deleted]
tomrod 10 hours ago

I find a bit of meditation before work and good coffee reliably put me in the latter state, maybe 19 times out of 20.

  • el_benhameen 10 hours ago

    Any advice on getting started with meditation? Particularly for someone with a busy mind.

    • tomrod 6 hours ago

      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.

neves a day ago

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.

  • heisenbit 18 hours ago

    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.