Brain drain and pairing

posted by Jeff | Thursday, January 28, 2010, 7:53 PM | comments: 0

You know you're really engaging (or getting beat up by difficult issues) when you find yourself physically tired coming home from a job that doesn't require physical heavy lifting. That's me this week. And at least one of the other guys I work with.

I've always had mixed feelings about pair programming, because my first exposure to it while at Progressive was a shitty experience. That's partly because they were doing it wrong too. Getting paired with the same person, who has virtually no experience, means that really they just watch you, and that sucks. At this gig, we're pretty much in the same neighborhood as far as experience, and that makes a huge difference.

We do it when it makes sense, and largely on our own accord. For example, earlier this week, we had a new guy starting while I was a little frustrated with what I was tasked to do. Working together helped me introduce him to the code while he got around my mental block. Then today, a different developer endeavored to begin refactoring a particular silo of code so we could more easily maintain it, work out the toxicity of negative performance, and overall keep our sanity. I offered to jump in while he was driving, and we made what I think were some good design decisions that will get us to a better place.

Our group is fortunately not dogmatic about pairing. Some things are simple enough that there's little benefit to it, and I think as we get to a better quality code base, it'll probably be necessary even less since we'll have stronger conventions and style.

I've read a great deal about it, and various studies put efficiency at positive increases, 15% the highest I've seen, to a decrease of 20% overall. I don't know how they're measuring it, and you can't really do so in a vacuum, ignoring the quality and long-term impact. I mean, even if you lose 20%, it's still a win if what comes out of it is easier to maintain in the long run.

It certainly helps that I like the people I work with. I imagine it would be harder to do with people you don't particularly get along with.


Comments

No comments yet.


Post your comment: