The PowerđȘ of Pair Programming: Advantages and Disadvantages
Two Heads Are Better Than One

Pair programming? Software developers working together to reach a shared technical goal and learn from each other?
That seems like something weâve worked to prevent as engineers
I know plenty of developers who would prefer Rubber Duck Debugging to EVER speaking to another developer. Rubber Duck Debugging is a good way to remain productive (particularly in remote working environments where the tools can make pair programming challenging) but it simply canât compete with pair programming.
What do you mean? Do I need to speak to someone?
Yes, and this article will enumerate both what and why
Work together: The joy of peer programming
In pair programming, one developer of the team takes control of the input on a machine (commonly known as the driver), while one reviews the code as it is typed in (commonly known as the observer).
To keep things fresh, the two developers switch roles frequently.
Thereâs plenty of evidence about pair programming. In one study pair programming completed their task 40% faster than the individuals (and this result was statistically significant).
Advantages
When working together with someone else we can see the truism that two heads are better than one. Rubber Ducks? They donât work well when you just canât see the solution as they seem quite unable to talk back to you.
Pair programming? You can catch one anotherâs foggy thinking (the sillier the mistake the better if you have a good relationship) and catch issues.

Working together helps to form a team bond, which is actually a proper team (if youâre bonded properly). Sharing knowledge throughout the project actually helps destroy the idea of a developer caught in a silo and helps them to grow!
Do you even know that issue where you need to maintain your software and canât remember anything about it?
Itâs happened to us all
Working together means youâve developed some redundancy in organizational knowledge. If one person leaves the company all isnât lost, if you canât remember what youâve done, all isnât lost. Itâs all good.
ButâŠbutâŠIâm irreplaceable
When you work in a pair you hand in your code on time. Yes, you meet those deadlines because you donât want to let your partner down. It saves the whole company from the student syndrome of doing everything late and inefficiently.
Disadvantages
There is no way to sugar-coat this, if you have the wrong people, they will use pair programming as an excuse to do less work.
We did it at my current job. Partners wanted to take a break every 40 minutes
I think I need a break right now!
If you have the wrong people everything is going to be tricky to achieve. Pair programming is needed to get people to work together to encourage good behaviors and good products.
Yes, pair programming requires intrinsic motivation from those involved. If one person isnât into the process, they can ruin it for everyone.
It just doesnât happen when you work with brilliant people

There is an expectation that both members of the pair programming team need to be good communicators, or at least develop the skill. If they cannot do this or are not willing to develop the skill of communication, then pair programming might not be a good solution for your organisation.
Wait. Iâm a programmer. I donât want to talk to people
Conclusion
Pair programming works. Still, some people do suck. If you suck, your attempt at pair programming will also suck.
If you donât suck, it wonât suck.
Simple.
About The Author
Professional Software Developer âThe Secret Developerâ can be found on Twitter @TheSDeveloper and regularly publishes articles through Medium.com





