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.
[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.
The Show HN post: https://news.ycombinator.com/item?id=30261598
Pair programming is twice as expensive so it needs to be twice a productive (quality, LOC, whatever) to make sense I guess.
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.
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.
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.