A few years ago I joined a team of Java developers without me having any real-world experience in it. The first project I did on that team was with another teammate, that’s now a good friend. Luckily for me, we did the whole project pairing. It was the first time ever I had done pair programming and I really liked it.
It was pretty amazing. I’ve gone from totally new to an environment to pretty efficient so fast I couldn’t believe it. I still haven’t had the chance again of learning a language in such a way, that simply allows me to code and have a mentor watching over, alerting me whenever I got too close to one of Java’s (many) pitfalls.
The whole project was about 2 months. During it the coding conventions of the team got totally ingrained in me. Even now, years later, my “native” Java code looks just like it did then, with new-lines exactly where they should be and breaking long lines exactly like we all liked. It was just a pleasure working in a team that fostered using your tools better. We used to pick on each other for not knowing this shortcut or that, and refactored our code to be cleaner simply to not disappoint other teammates.
Doing XP, we also wrote the majority of the code test first (back then we called it TDD, but I now know better). That experience was new to both of us, and it was a treat learning it together. We had ideas together, shared ways to attack certain problems, and simply enjoyed ping-pong pairing. As a developer it was a pleasure working in a scheme where all your moves were in sync with the rest of the team. We had the same rhythm and the same habits.
A few months ago, after not working together for about 3 years, we got the chance to pair again during a code retreat. It was odd how fast we got back to business. All our “lingo” was the same, and we got the chance to compare a few new habits we learned over the years. Pairing well can bring real trust, and enables you to get even more satisfaction out of our craft. One known example from the XP community is Ron Jeffries and Chet Hendrickson who have been pairing for over a decade now (and more, such as coaching).
Pairing, my friends, is something you owe yourselves. It’s so good, people are going on tours of pairing! Do it, you won’t go back.