[Article] Pair programming: what it is, why people use it, and how you can learn to pair-program


Pair programming is useful to learn and experience, as the skills and collaborative dynamics used in pair-programming will come up when you’re working on developer teams or encounter a really tricky technical issue.

What is Pair-Programming?

Pair-programming is an Agile development technique in which two programmers work on a project at the same terminal at the same time. You can find more thorough explanations of how it works here:

As you can see from the video, pair-programming involves two programmers working in tandem, in specific roles of driver and navigator, to work more quickly and to share knowledge. There are many benefits to working this way, as you’ll see below.

Why Do People Use Pair-Programming?

Pair-programming is used to great effect in both educational and professional contexts. It is a useful teaching tool, a great onboarding tool, and an efficient way to plow through certain types of coding problems by applying two brains instead of one.

Both of these articles are from the point of view of companies or organizations who use pair-programming on the job. You can find a detailed guide to how developers look at pair-programming in the article below.

Pair-programming is also used in educational contexts by coding students. Take a look at this post and this one to learn about how pair-programming specifically benefits students.

How Can I Learn to Pair-Program?

If pair-programming is something you’d like to try, we recommend starting with this Brainpop tutorial video. It’s less than five minutes long and offers a good, more practical look at what we’ve talked about in this post.

You can also watch two Codecademy employees pair-program here. This video is a more detailed look at how the pair-programming process works and will show you how the driver and navigator work together over the course of an hour.

If reading about pair-programming is more your jam, you can read more about it in this PDF from Hunter College’s CS program and in this Atlassian developer blog.

Once you’ve reviewed all of this material, talk with others! They can be a great help with figuring out when in your course of study you should try a pair-programming project and perhaps can even pair-program with you first one-on-one to get you accustomed to the process. Have fun!

A special thank you to Codecademy Product Manager, @oduffy, for compiling these resources and drafting this article!