Advanced Pair Programming
The research is in – pair programming is awesome. At the cost of about a 15% increase in development time, pairing produces code with fewer errors, and even makes us happier at work. I’m here to help you take your pair programming skills to the next level.
Seriously, though: those claims are supported by actual research. Download the respective PDFs here: The Effectiveness of Pair Programming: A Meta-Analysis, The Collaborative Software Process, and Strengthening the Case for Pair-Programming.
But if you take a cross-section of developers, you’ll find some very mixed opinions about pairing. Some devs hate it. Some devs write blog posts about how great it is.
Developing pair programming skills means handling the learning curve Why the divide? It’s easy to hand-wave away by muttering something something soft skills and leave it at that – which is exactly why I dislike the term “soft skills.” It’s too often used in a nebulous way to indicate something that’s the opposite of hard, aka technical, skills.
In reality, the two are highly complementary skill sets. It’s hard to collaborate with someone without learning from them, which is a really effective way to ramp up your technical skills. Done right, it becomes a positive feedback loop where the development of soft skills reinforces the development of technical skills and vice versa.
But it’s true that there’s a learning curve to pairing. Think of picking up an unfamiliar musical instrument for the first time: at first it’s not much fun, as you fumble over fingerings and pick your way through unfamiliar notation, but it rapidly becomes more rewarding as you get comfortable with the basics.
So with that in mind, think of these tips & techniques as ways to help get over the discomfort of that initial curve and into a place where you can enjoy the benefits of pairing.
This is the beginning of a post that lives over on revelry.co. Read the rest.