4 ms·
Asynchronous workflows should be the default. Interruptions are almost universally bad, so being able to fit a code review into your work day whenever you want
by sascha_sl 5y ago
Asynchronous workflows should be the default. Interruptions are almost universally bad, so being able to fit a code review into your work day whenever you want is much better.
Even if you have a fixed meeting, you might've just started to get productive on something else, or maybe there's something that actually needs to be handled synchronously, like an incident.
It also is a lot more pleasant for neurodiverse developers. I have ADHD and pairing is not great for me. My attention doesn't work on demand, for any topic I choose. I fit chores in between engaging tasks to keep things going, creating the illusion of doing one thing after the other, but I'd rather not be interrupted or judged with either and to a neurotypical person this behavior might seem erratic and confusing.
- bluefirebrand 5y agoI also have ADHD and find pair programming is great for me. Having a person that I am working directly with helps me keep on task and prevents my brain wandering off to do other things or scattering around a bunch of tasks. Sometimes it helps me to have an external force help direct my focus.
- sascha_sl 5y agoI've completely blanked out more than once on pair programming where my attention went into what I like to call "brute force mode", where your working memory scatters every few seconds or so, and you keep starting thoughts from scratch. It honestly feels like torture to me. Switching tasks lets me reset from this state well enough, so I consider it essential coping.
- SideburnsOfDoom 5y ago> Asynchronous workflows should be the default. Interruptions are almost universally bad, What's great, though, about getting some work ready, creating the PR; and then waiting .. Minutes? Hours? ... days? who can tell? For a response. if you're wanting "productive", that isn't it.
- sascha_sl 5y agoBut you're breaking someone else's productive time. The way around this is (1) having enough work prepared that you can start on something else and (2) cutting your PRs well enough for them to be entire (sub-)tasks. And if you can't, maybe you need to cut smaller tasks.
- SideburnsOfDoom 5y ago> But you're breaking someone else's productive time Yes, the system's productivity is not about maximising the uninterrupted productivity of person A, or of person B either. Sending a whole pile-up of PRs isn't a great solution either.