Two heads…

A few weeks ago I had my first pair programming experience. Up until that point, I had been working through the Learn curriculum on my own with very little outside interaction. Then I hit one of the final projects in the Object Oriented Ruby section: Tic Tac Toe with Artificial Intelligence. The assignment strongly encouraged us to find pairs. I had misgivings about it: How would I find someone right at the same part of the curriculum as me? How would we schedule around my childcare and other work duties? What if I ended up with a terrible partner? It sounded like a lot of extra work…

Flashback: the dreaded group project

Imagine a Hydra. That’s how I feel about academic group projects. I was a non-traditional student (read: older than my classmates) when I was finishing my Bachelor’s degree. Although I was a musician, specializing in chamber music collaboration, I dreaded group projects in my academic classes. There was so much extra work — scheduling meetings, encouraging the other group members, and then redoing all their work at the last minute to make it presentable (yes, I was that student). Was this pair programming going to be like that?

Two heads… are better than one

It wasn’t like that – no Hydras to battle here. Of course, that’s partly due to the fact that I was lucky enough to end up with a fabulous partner (Hi, Kenlyn – you are a delight!). It felt so good working together and talking through the code. Finally I wasn’t alone in front of my screen anymore. Finally there was someone else wrestling with the same puzzles at the same time. Even the act of talking about the questions we faced helped unravel them. Everything about the experience was valuable.

Not only was the process a great learning experience – we ended up producing a project that was better than either of us would have come up with on our own. As we worked, we pulled the best from each other and refined things further. When we wrapped up I felt energized and excited about future collaborations.