You should probably pair program more often. Here's why.
1) learning
Every single time I've pair programmed with someone, one of us has learned
stuff. About our tools, about a new way to look at a problem, about a
language feature, or something. Sometimes I've paired explicitly as a
teaching or learning technique, sometimes on more equal footing ("I'm the
domain expert for the problem but you're better at $framework than I am"),
or just to brainstorm or troubleshoot. At least one of us always comes out
smarter.
2) the tools are better than ever
https://lists.wikimedia.org/pipermail/teampractices/2014-July/thread.html
has some resources; don't dismiss pair programming just because you don't
live near other programmers.
3) pairing makes better code
"Pair Programming" by Laurie Williams (Ch. 17 in _Making Software: What
Really Works, and Why We Believe It_, ed. Andy Oram & Greg Wilson, O'Reilly
2011) reviews recent studies and finds that pair programming leads to
higher-quality code, and "reduced product risk due to improved knowledge
management". Some teams even tried pair programming as a replacement for
code review.
4) it's more egalitarian
As this list of status play behaviors points out
https://web.archive.org/web/20070216200742/http://greenlightwiki.com/improv…
, judging someone else's work -- even favorably! -- is a move that raises
your status and lowers theirs. This is one reason I have encouraged
EVERYONE who writes MediaWiki code to try their hand at code review, so
everyone can take turns -- everyone can be a teacher and critic.[0] If you
have found that code review feels adversarial or hierarchical, try
switching it up by asking to pair with a more experienced programmer,
getting your code review while you work together.
People who want to pair program more often on Wikimedia-related code: want
to use this thread to raise your hand? If people like the idea, we could
start doing something like
http://www.pairprogramwith.me/ or
http://pear.growstuff.org/ to connect people up.
Sumana Harihareswara
Senior Technical Writer
Wikimedia Foundation
[0] By the way, this great blog post
http://www.wordyard.com/2014/08/10/doing-is-knowing-sweet-jane-and-the-web/
makes a very strong point about how trying out an activity - like writing,
music, or coding - gives you more expertise, empathy, and ability to
define yourself, and to judge the work of other people who do that
activity. I would argue this applies to code review as well.