Is Pair Programming a Time Killer?

Asha Alibarre
4 min readJan 25, 2022
Pear Programming

When you hear the words pair programming? Either you’re confused as to what it is or are happy and even maybe downright petrified as you might not enjoy working with people. As introverts, it is nerve-wracking being in environments that require collaborative work.

So, you might wonder what pair programming is? It’s an agile software development technique where two programmers work together in one workstation.” Well now that we know what pair programming is? You may wonder what “agile” is as it is a term that comes up relatively often in software development. Agile is a practice that fosters team building and better product production for their clients by delivering work in small increments. “Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly” ~ Atlassian.

“Firstly, pair-programming develops higher-level code at a faster time while also reducing risk and spreading knowledge within the company.” ~Agile Alliance

“Pair programming emerged in the 1990s in several different settings. Companies realized that when individual programmers left, they were left with a team that lacked knowledge of critical pieces of software. Academics began to understand the importance of articulating technical ideas and discussing programs for the design process”. ~Northeastern University

“Experience suggests that pair programming is more effective than individual programming, even though it imposes its own costs on the process. To understand this point, Williams and Kessler conducted an extensive study of pair programming practices in the late 1990s. Academia benefits from pair programming because programmers train each other making it less likely that an individual hangs on to a misunderstanding for a long time. Industry benefits from the practice for the same reasons but also because many programmers understand a lot of the overall system. If a programmer moves on, those who stay can easily reconstruct the workings of any component.”

Pair programming is not just limited to tech, it’s a technique that has been used in education for years. If we think about it, this was implemented in classroom environments when as students we asked for extra help from the teacher. It also can be used in the onboarding process of new employees by having them be supervised by their seniors and also them having the ability to observe their work.

What are some pair programming do’s vs don’ts?

  • Be comfortable with being uncomfortable
  • Plan! Plan! Plan! Success comes with planning together. Being on the same accord in this stage is vital as it will definitely become clear through your code when you are not.
  • Switch roles but also be aware of the time allotted for this session. If the time is less than 1 hour maybe a more productive approach is staying in the one role.
  • Communicate! More importantly, effectively communicate. Which entails actually listening to hear rather than to respond. As well as stating and explaining what one is doing right now and what one intends to do.
  • Practice patience. Sometimes people do the same thing but in a different way. Before overacting take a step back and let the driver finish the code.

Don’t

  • Firstly, don’t do the opposite of the do list.
  • Don’t micromanage as no one likes it. The point of pair programming is for it to be a safe environment that induces knowledge sharing between developers. Expressing this type of behavior is counter conducive to the point.
  • Distractions. In the era of social media and notifications, it’s easy for one to be sidetracked. Realize that the time for pair programming is generally limited, so it’s best to utilize it wisely.
  • Think you are too smart to pair. One of the fatal mistakes one makes is believing that they know it all. This type of thinking will only stunt one’s growth of learning new knowledge.

Reflecting on my own personal experiences I can candidly say that there are times when I learned and was able to accomplish the task in record time. As they say, two brains are better than one's. However, the truth is there were countless times when the session was dreadful because both of us had different styles of coding thus, resulting in a standstill as to how to approach the problem.

Though there are drawbacks to pair programming, it is important to know the upsides. I understand that it can be daunting but if you set your intention to what is to be done and focus on your goal you may find it to be an effective tool of learning. Realize that this is an opportunity for you to learn to collaborate and be a team remember which are skills that are necessary for all roles of tech be it a junior or senior dev role. Understand that being a developer means that you will be constantly learning, adapting, and acquiring new skills some you may even learn by pair programming.

Footnotes

https://duckly.com/blog/7-tips-for-successful-pair-programming/

​​https://www.atlassian.com/agile

https://en.wikipedia.org/wiki/Pair_programming

https://www.agilealliance.org/glossary/pairing/

https://course.ccs.neu.edu/cs2510h/Pair_Programming_Overview.html

--

--

Asha Alibarre
0 Followers

Soon to be a graduate of Lighthouse Labs Full-stack web development program in Toronto.