Something interesting I’ve noticed about paired programming — the Vulcan Mind Meld. I can’t really describe it any other way. It’s like your brain, and your pair’s brain are the same brain. And after finishing a feature, I can never remember who did what.
How does this work? Latent psychic powers? Olfactory hormone sensors? I have no idea.
Last week, however, I got some insight into part of what’s going on.
I was pairing with Damon, a bad-ass in his own right, who happens to be a Dvorak keyboard user. It’s not just a normal Dvorak either, it’s one of those crazy Kinesis brands where you do everything with your thumbs. And he’s pretty damn fast on it.
After a little while pairing with him we started to get into The Zone. I noticed I felt kind of weird when he was driving (that means he’s the one using the mouse and keyboard for all you non-agilites out there).
It was like I was playing Counter Strike on a laggy connection; he’d change tabs in the IDE or go to the end of a file and it’d take me an extra moment to figure out what just happened. Even when he was coding, I felt this lag in my uptake of the situation. Lines of code I felt sure were about to be deleted would instead be duplicated by Damon and his crazy keyboard.
And that’s when it hit me: crazy keyboard.
I realized that one thing I do to stay in sync with my pair is watch their keyboard out of the corner of my eye. I don’t do it on purpose, in fact I’m never even aware of it. But when my subconscious peripheral vision notices my pair’s finger movement before the keys are actually pressed, it gives my mind that extra coupled milliseconds to figure out what’s about to happen.
Personally, I think this is crazy and has crazy implications. And I’ll talk about these more later.
But for now, I’d guess that for all you aspiring Dvorak users out there, a great way to get good fast would be to sit down and pair with someone who’s already a Dvorak user.
I wonder what other cues, physical or not, contribute to that feeling of one-ness while pair programming…