Shower Thought: Demo Nerves
Watching League of Legends streamers, you begin to develop an appreciation for how difficult it is just to talk. There are certain streamers who will be playing at an extremely high level of skill, doing things most people could never pull off, and casually chatting about a completely different topic while doing so. However, when they really need to focus, most people will stop talking, even if just for a handful of seconds. Sometimes they'll even stop talking mid-sentence. Sometimes, they'll even resume talking again about something completely different! It's like seeing proof that your brain can't multitask in real time.
The other day I was thinking about demos and keyboard shortcuts. I'm not the best Vim user in the world, but I can definitely hold my own. Overall I think I can work very efficiently in a terminal environment. But I've noticed that even the most practiced users (including myself) tend to choke when they're doing demos, pair programming, or anything else which involves talking and keyboarding at the same time. They mis-input keys or entire commands and tend to get lost.
I used to think that this was just nerves, that the unfamiliar pressure of someone watching you just made you slower. Now it seems obvious, though, that this is not commonly nerves, but the additional cognitive burden of having to hold a conversation or explain your actions while you are doing them. Talking while doing knowledge work is really, really hard and something you have to practice for hours and hours to be even OK at.
Demos are their own separate thing, but to me, it seems now like the task of pair programming is fundamentally bunk. Pair programming might be OK for teaching or some debugging tasks, but in terms of writing new code to solve a new problem, you are handicapping yourself.