The Wonders of Pair Programming
"I am the greatest programmer ever."
Ok, now that we have that out of the way - I should restate that as:
"I am the greatest programmer ever. NOT!"
I need help, and chances are, we all do at one time or another.
I'm therefore incredibly thankful for the wonders of Pair Programming. Not "pear", as in "a succulent fruit", but "pair" as in "two (more than one)". Pair programming is one of the facets of Agile (or Extreme) Programming. (if you've never heard of either of these terms - look 'em up in Wikipedia!)
But, just cause you're such an avid listener, I'll let you in on how my team at work makes use of Pair Programming.
It's really just exactly like it sounds - two or more people programming at the same time, working on the SAME code. We normally use M$'s NetMeeting to share the desktop, and work from one person's computer.
Duplication of effort, you say? I say "Nay."
Wasted time, you query? I, again, say a haughty "Nay."
The benefits we've seen from this technique are thus:
My sarcastic side note on Synergy:
I've had the great pleasure of working on a team for years that works extremely well together - but not because we had synergy crammed down our collective throats from a manager. No, I think we've always worked so well together because we each want the same thing: to deliver the most creative, usable solution for our customers. Not because our cubicles are arranged in a certain way, but because we each genuinely CARE about what we do. I'm of the opinion that you can't teach innovation or creativity to people if they don't care about what they do - no matter how many silly innovation exercises they go to.
If you take one thing away from this post - I hope it's this: that programming is a community-driven thing. If you isolate yourself from it, or from other programmers - no matter how different they are, you'll wind up creating something that someone else has already thought of.
P.S. Apologies to my college English teacher, who taught us never to use the word "thing" when writing. (He called them "icky, bulbous, gross objects" and told us to be more specific.)
Ok, now that we have that out of the way - I should restate that as:
"I am the greatest programmer ever. NOT!"
I need help, and chances are, we all do at one time or another.
I'm therefore incredibly thankful for the wonders of Pair Programming. Not "pear", as in "a succulent fruit", but "pair" as in "two (more than one)". Pair programming is one of the facets of Agile (or Extreme) Programming. (if you've never heard of either of these terms - look 'em up in Wikipedia!)
But, just cause you're such an avid listener, I'll let you in on how my team at work makes use of Pair Programming.
It's really just exactly like it sounds - two or more people programming at the same time, working on the SAME code. We normally use M$'s NetMeeting to share the desktop, and work from one person's computer.
Duplication of effort, you say? I say "Nay."
Wasted time, you query? I, again, say a haughty "Nay."
The benefits we've seen from this technique are thus:
- Increased knowledge sharing (getting away from the model where only one person knows how the guts work)
- Increased speed of learning (it's a great way to foster the learning of a new language - pair up a more seasoned developer with a newbie, and they can learn a lot from each other)
- More flexible problem solving (we've all had those moments where we are working on something all morning by our lonesome, and the answer seems to lie just out of reach...pair programming is fantastic, because as you work through problems, you actually have another perspective just sitting across from you - the more different the personality/perspective, the better!)
My sarcastic side note on Synergy:
I've had the great pleasure of working on a team for years that works extremely well together - but not because we had synergy crammed down our collective throats from a manager. No, I think we've always worked so well together because we each want the same thing: to deliver the most creative, usable solution for our customers. Not because our cubicles are arranged in a certain way, but because we each genuinely CARE about what we do. I'm of the opinion that you can't teach innovation or creativity to people if they don't care about what they do - no matter how many silly innovation exercises they go to.
If you take one thing away from this post - I hope it's this: that programming is a community-driven thing. If you isolate yourself from it, or from other programmers - no matter how different they are, you'll wind up creating something that someone else has already thought of.
P.S. Apologies to my college English teacher, who taught us never to use the word "thing" when writing. (He called them "icky, bulbous, gross objects" and told us to be more specific.)

0 Comments:
Post a Comment
<< Home