Three Keys to Success with Remote Pair Programming

By now, most people understand the benefit of pair programming. Sharing knowledge (and pain) provides a lot of advantages for both junior and senior developers alike.

I really enjoy pair programming, not only for the learning, but for the social aspect as well. It gives me a chance to get to know my co-workers better: the way they work, the kind of work they like, and even just random common interests we have. I’m a fairly extroverted person, so getting to work with someone to solve problems throughout the day leaves me feeling energized and ready for more. Read more on Three Keys to Success with Remote Pair Programming…

How I Learned to Love (or at Least Like) Pair Programming

Some people are naturally inclined to pair. Not me. My brain is all over the place when I code, so it’s difficult to focus energy on solving the problem at hand while explaining my reasoning and approaches to my pair.

This thing is, pair programming is a highly-regarded and widely-practiced convention here at Atomic. When I started here, I had never paired before. And I was quite surprised to see both how effective it was for others, and how difficult it was for me.
Read more on How I Learned to Love (or at Least Like) Pair Programming…

The Many Uses of Pairing: Replacing Post-Work Review with Collaboration

One big thing that Extreme Programming got right is pair programming. Rather than waiting until work is complete to review code with another developer, the authors of XP figured that if having two pairs of eyes on code was important, why not do it continuously? Read more on The Many Uses of Pairing: Replacing Post-Work Review with Collaboration…

New to Pairing? Speak Up!

As a long-time developer at Atomic Object, I’ve had many opportunities to work with developers who were new to pair programming. Whether pairing with senior developers who’ve been working solo for their entire careers, or with a new hire straight out of college, I’ve run into almost the exact same situation every time.

Read more on New to Pairing? Speak Up!…

Swiss Cheese and Pair Programming

Explaining the benefits of pair programming to someone new to the concept can be difficult, particularly when that person has the initial, understandable, reaction that they’ll be paying two developers to do the work of one—why would they want to do that?

But recently, on one of my favorite podcasts (The Skeptics’ Guide to the Universe), I heard an interesting dairy-based metaphor for how experts can work together to solve problems that one alone cannot. It provided a unique way of looking at the issue—one I think can quickly and effectively show how pair programming can be leveraged as a tool to help build the highest-quality software.

Read more on Swiss Cheese and Pair Programming…

Reflections on 10+ Years of Pairing – What Works, What Breaks, and What’s Next

I started pair programming in 2000 on my first real software job, while I was still working on a computer science undergraduate degree. I’ve been mostly pairing in daily practice since then.

First Impressions Matter

My earliest perspectives on pairing are useful because I’ve seen bad results when people are denied the chance of finding out its benefits for themselves. Pair programming wasn’t prescribed or preached to me, it was encouraged. Read more on Reflections on 10+ Years of Pairing – What Works, What Breaks, and What’s Next…

10 Tips for Running an Elementary School Computer Club

While I’m a software developer by trade, I’m also the mother of two school-aged kids, so one of my pastimes is volunteering in various capacities at our local public elementary school. At some point early this school year, in a moment of temporary insanity, I found myself nodding my head “Yes” when a wiser full-time-working parent would be saying “No”, and next thing you know, I had agreed to lead an after-school Computer Club for 4th and 5th graders.

Something I’ve observed that you may have also: by the time a kid is 9 or 10 years old, they are already incredibly capable of wasting copious amounts of time on a computer. This age group (ok, all age groups?) would happily spend all their time playing computer games — Minecraft being the game of choice these days.

My goal with Computer Club was to get the kids away from just playing games and into creating something with their computers — maybe even creating their own games. After a quick survey of developers with kids and the Internet, I settled on teaching basic programming concepts with a language/platform called Scratch. Read more on 10 Tips for Running an Elementary School Computer Club…

Adventures in Pair Programming – 2 Devs, 3 Computers

For the last several months I’ve been pair programming every day, working with another developer on a Windows application. Both of us usually use Macs, so we’ve adopted a company Windows laptop to do the work, and as we’ve experimented with our pairing tools, we’ve learned a bit about how tools affect getting the job done.

Alternating Mac & Windows, Dvorak & Qwerty

When we started on the project, my pairing partner and I sat with our Macs in front of us and the Windows laptop in between, pushing the PC back and forth depending on who was driving. The keyboard and trackpad were unfamiliar, and despite weeks of using them, we still only tolerated them, frequently sighing at clicks we didn’t mean to make and keys we didn’t mean to hit.

Read more on Adventures in Pair Programming – 2 Devs, 3 Computers…