Today a friend installed a sink in my basement. I know nothing about plumbing, so I hung around to watch. When it was clear I could help him with some action, I did: holding a pipe steady while he cut, sanding the second end after watching him do the first. It was tempting to pick up the installation instructions and try to contribute ideas, but I knew better.
This works with pairing on code, too: when someone else has all the context, I’m not gonna make them explain to me top-down what we’re doing, not at a level detailed enough that I could contribute. If I can participate in the action they’re currently taking, then I can help. As I gain context, I can contribute at a higher level: suggesting a different path when one gets hard, recognizing potential problems as we embed them. If I try to contribute at too high a level, then I force my partner to justify decisions they’ve made. Even if I’m right (unlikely), they don’t experience that as help.
Next time I join a new team, I’m going to remember this. I don’t have to have all the context to help with actions in progress. As I gain context, I can help at a higher level.
The ability to shared intentions is what makes us human. (from The Righteous Mind, by Haidt) This applies at many levels, from a mission statement down to a task. (seamaps illustrate this.) I can help at the levels that I understand, and gain understanding in the process.