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.
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.
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.
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.
[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.
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.
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 do not think it actually affects productivity in either way. What happens is that people seem to feel better.
The Show HN post: https://news.ycombinator.com/item?id=30261598
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.
Pair programming is twice as expensive so it needs to be twice a productive (quality, LOC, whatever) to make sense I guess.
However I think that in both cases, if the interruption happens while coding, the risk of bug is about the same.
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.
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.
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 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.
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 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
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.
What specifically makes it painful for you?
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 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.
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.
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.