Skip to content

Latest commit

 

History

History
31 lines (17 loc) · 3.02 KB

introduction_to_pair_programming.md

File metadata and controls

31 lines (17 loc) · 3.02 KB

Introduction

If you are new to the coding world, you may have an image of the programmer as a solitary person coding by herself in a darkened room, eating Doritos and chugging Mountain Dew. While the Mountain Dew part may be true, a lot of modern companies use a concept known as Pair Programming. Pair Programming is one of the core concepts of Extreme Programming which was a philosophy of software development that came out of the '90s. I guess that should come as no surprise with a name like "Extreme!"

Pair programming involves two developers working at the same terminal. One, usually called the "driver" types in the code while the other one, the "navigator" reviews the code as the driver types it in. They constantly communicate while they are working and periodically swap roles. Obviously, this would be difficult to do remotely in an online environment like The Odin Project, but there are tools that we can use to simulate the experience from different parts of the globe.

So far you have probably been doing all your coding by yourself. That is natural when you are just starting out and don't know anyone else who codes. Even if you do, it is a natural inclination because of how we are taught in school to "Do your own work." The thing is, in a work environment you will usually not be graded on whether you shared the task, but rather "did you get the task done?" And one of the best ways to do that is finding someone to team up with.

There are many benefits to pair programming, two of the main ones both stem from the different backgrounds you and your partner bring to the project: Since you will know things your partner doesn’t know, you will be able to see problems they don’t see, and vice versa. On top of that, you will be able to teach each other what you know. This aspect is especially useful when you pair a junior programmer with a senior.

Once you finish these lessons, you should have the tools to be able to collaborate with people from anywhere on the globe, and we want to encourage you to find someone else who is working through The Odin Project to team up with. Two heads are better than one.

Learning Outcomes

  • What is Pair Programming?
  • What are the benefits of Pair Programming?

Assignment

  1. Read this article from Agile Alliance for a good overview and history of Pair Programming.
  2. Along with the obligatory car metaphor, this article talks about some of the benefits of Pair Programming.

Additional Resources

This section contains helpful links to other content. It isn't required, so consider it supplemental for if you need to dive deeper into something.

  • An older writeup on pairing from Dr. Laurie Williams of NC State University has a rich bibliography of research on pairing.