Remote Pair Programming - A great way to learn
As programmers, pair programming is a technique that most us have heard about and some of us practice daily in our respective jobs. Test-Driven Development is another such technique that most of us are familiar with and some of us practice it on a regular basis. I had heard and read opinions from different programmers on these techniques and was familiar with the concept but I did not really get to experience it until I went to Ruby DCamp. It was there that I realized that pair programming coupled with TDD gave you:
A good foundation for producing better software™ because the tests enabled you to code fearlessly knowing that any bugs would be caught as they were introduced
A partner who you can bounce ideas off of, who can catch your mistakes minimizing the time spent catching syntax errors as well as nasty bugs introduced by mistyping.
There are clearly more advantages than the two that I list above but these were important to me because it helped me with the two most time consuming parts of programming: finding/fixing bugs and getting unstuck and remain productive. While Anita Kuno had successfully run remote pair programming group with the RMU community, it was not until Ruby DCamp that I was convinced that it was something that could help me bootstrap my ruby learning.
Since I did not get to pair program with Evan Light at Ruby DCamp, he offered to do a remote pair programming session with me. I bought a Plantronics .Audio 995 which both Avdi Grimm and Evan said was one of the best headsets for the value. Anita was nice enough to put up with my less than ideal setup initially using just the mic in the webcam on my Dell 1525 since my headset was on it's way. While this was an okay setup to get a background on remote pairing, I was happy (and I am sure Anita was too) to have a proper headset for our remote code reading session on bundler.
However, I only paired with Evan on Game of Life once until very recently when I tried to help him out on some features for Coulda. It was right around then Pat Maddox asked people to pair with him and I immediately signed up. Then it occurred to me that I could try asking others if they wanted to do remote pair programming with me for an hour. After all, the worst that could happen was they could say no. On the other hand, the potential value in new tricks and techniques learned along with friendships made were too much to ignore.
Therefore I have started contacting some of the rubyists that I follow on twitter and so far I have received positive feedback. While David Brady and I have not managed to produce much in terms of code, we have taken on the challenge of exploring the possibilities of remote pair programming as a way to learn and network with fellow rubyists. I will document current and future findings here to stay tuned.blog comments powered by Disqus