Developers
July 30, 2020

Pair Programming–The Basics

Paired programming is when two programmers work together to solve one coding problem. The basics include the benefits of working together, obstacles to scaling, and the potentiality of this fundamental activity.

Coders often work alone or independently, and the movement in the software development industry for coders to work alongside another person while they code has been slow to catch on. However, paired programming, which is basically when a coder works alongside a “checker”, someone who reads their code and gives immediate feedback on the process, can be a highly advantageous process.

A Growing Movement

One of the ways that paired programming has caught on and has become slightly more known is through the founding of Tuple—a remote paired programming app for MacOS. The organizations co-founder, Ben Orenstein, says he wants to get rid of the stigma around paired programming and create an industry where it becomes an organic and more natural process. He thinks that paired programming should be thought of as “a tool in your tool belt…Don’t think of it as a religion you need to adopt or a crazy practice that needs to be spread around your team.”

Some of the main benefits of paired programming include:

  • More perspective—sometimes coders who work alone only think about code in a certain way, and can this can produce both assets and liabilities on a project. The asset is the coding that is produced in the process and the problem that is getting solved, but the liability is also the code itself. Working in pairs allows your checker to add perspective to the way you are coding and ultimately lead to more effective coding down the line.
  • Company — coding can be a lonely exercise that affect the mental health of coders everywhere. Being able to work in teams can help with feelings of loneliness.
  • Faster learning curve. Instead of Google searching or going to books when problems arise, pairing can often manifest a very unique relationship where knowledge is ascertained to complement one another's skillsets.

Obstacles to Scale

While paired programming has many unique advantages in the digital era, and current moment where teams are going remote at a record pace due to Covid-19, there are also critics of paired programming who think that two people working on one coding exercise results in half the amount of work being done in an allotted time frame.

However, this isn’t necessarily true, and represents an inherent problem in the coding industry in general—which is that coding is just one output of being a coder. The main issue is solving problems for a customer, that is, quite frankly, paying you to solve their problems. When thinking about matters this way, paired programming is really just one way to enhance problem solving on behalf of customers, regardless of the amount of code that is produced. The quality of the work goes up essentially.

Other issues that arise with bringing this new technology to scale, at least from the remote perspective, is getting coders to sign onto the idea that paired programming is necessary. This marketing issue, at least for the founders of Tuple, is contested by the simple idea that before Covid-19, in an office setting, there were plenty of occasions where coders would sit down to solve a problem, not be able to do so, and then call over a co-worker to help them out. If there’s one way to get past the early adopter stage of Tuple and moreover paired programming remote or in-person, it should really be thinking of paired programming as the exercise co-workers have already taken part in in previous roles, whether or not they realize it.

TagsPair ProgrammingDevelopers
Michael Robbins
Writer
Michael is a writer that helps organizations align their mission and values to a wide audience.

Related Articles

Back
DevelopersJuly 30, 2020
Pair Programming–The Basics
Paired programming is when two programmers work together to solve one coding problem. The basics include the benefits of working together, obstacles to scaling, and the potentiality of this fundamental activity.

Coders often work alone or independently, and the movement in the software development industry for coders to work alongside another person while they code has been slow to catch on. However, paired programming, which is basically when a coder works alongside a “checker”, someone who reads their code and gives immediate feedback on the process, can be a highly advantageous process.

A Growing Movement

One of the ways that paired programming has caught on and has become slightly more known is through the founding of Tuple—a remote paired programming app for MacOS. The organizations co-founder, Ben Orenstein, says he wants to get rid of the stigma around paired programming and create an industry where it becomes an organic and more natural process. He thinks that paired programming should be thought of as “a tool in your tool belt…Don’t think of it as a religion you need to adopt or a crazy practice that needs to be spread around your team.”

Some of the main benefits of paired programming include:

  • More perspective—sometimes coders who work alone only think about code in a certain way, and can this can produce both assets and liabilities on a project. The asset is the coding that is produced in the process and the problem that is getting solved, but the liability is also the code itself. Working in pairs allows your checker to add perspective to the way you are coding and ultimately lead to more effective coding down the line.
  • Company — coding can be a lonely exercise that affect the mental health of coders everywhere. Being able to work in teams can help with feelings of loneliness.
  • Faster learning curve. Instead of Google searching or going to books when problems arise, pairing can often manifest a very unique relationship where knowledge is ascertained to complement one another's skillsets.

Obstacles to Scale

While paired programming has many unique advantages in the digital era, and current moment where teams are going remote at a record pace due to Covid-19, there are also critics of paired programming who think that two people working on one coding exercise results in half the amount of work being done in an allotted time frame.

However, this isn’t necessarily true, and represents an inherent problem in the coding industry in general—which is that coding is just one output of being a coder. The main issue is solving problems for a customer, that is, quite frankly, paying you to solve their problems. When thinking about matters this way, paired programming is really just one way to enhance problem solving on behalf of customers, regardless of the amount of code that is produced. The quality of the work goes up essentially.

Other issues that arise with bringing this new technology to scale, at least from the remote perspective, is getting coders to sign onto the idea that paired programming is necessary. This marketing issue, at least for the founders of Tuple, is contested by the simple idea that before Covid-19, in an office setting, there were plenty of occasions where coders would sit down to solve a problem, not be able to do so, and then call over a co-worker to help them out. If there’s one way to get past the early adopter stage of Tuple and moreover paired programming remote or in-person, it should really be thinking of paired programming as the exercise co-workers have already taken part in in previous roles, whether or not they realize it.

Pair Programming
Developers
About the author
Michael Robbins -Writer
Michael is a writer that helps organizations align their mission and values to a wide audience.

Related Articles