DEV Community

Cover image for About Pair Programming

About Pair Programming

Milecia on August 08, 2019

Pair programming is an interesting practice that's picking up in popularity. For some shops, that's the only way they work. Two developers, one scr...
Collapse
 
bowlendev profile image
Ryan Bowlen

I think it's really efficient, and something that I would use when teaching CS. It's tough at first, because it can make us vulnerable and you have to be accountable to another human. Once you get past the initial hiccups, though, what a cool way to work.

It's not about mentoring, but I always come away from a pair programming session having learned a ton of new stuff. Interacting with others who are awesome at what they do is helpful.

Collapse
 
drbearhands profile image
DrBearhands

Done it a lot at uni, but not after, sadly.

I noticed some pairings went great for me and some... not so much.
I tend to be a creative but chaotic, the right partner made the difference between "hey don't you mean < rather than >?" and "You broke it! Why can't we do it the simple [lower-quality] way?". In the first instance our AI beat all our classmates', in the second our 'robot' shot as far to the left as possible regardless of inputs.

Based on those experiences and discussion with others, I started to believe pairing men and women together works best.

Collapse
 
havarem profile image
André Jacques

Great post. I came across some pair program in sporadic episodes. It was basically on core components with a high impact on a project. The only rule is that the person who has and idea on how to do it has its hand on the keyboard. If both have an idea, they need to settle the argument beforehand.

Collapse
 
beard_corsini profile image
Andrew Corsini

I recently started a new job with a company that lives XP, and was super skeptical when it came to Pair Programming. I was coming from a few years of flying solo as a developer, so having another person with a different way of thinking about problems and differing opinions seemed like it would be more of a hassle. Boy was I wrong! It was definitely an adjustment, but now that I have been living pair programming for the last few months, its hard to imagine ever going back to the old way of doing things. I have learned so much from the devs on my team, and feel so much more effective and productive at the end of the day.

Collapse
 
marlena profile image
Marlena Compton

I'm a pair programming expert and a big fan of both pairing and solo-ing.

It is totally true that pair programming is a skill to be learned through practice. Once learned, it can be amazing, but, if a pair isn't set up correctly or if the power dynamic is off or if someone is being a jerk (which definitely happens) pairing can be a miserable experience.

Solo-ing is great because it's a great way to build confidence in oneself which is so important, especially for people in tech who are under-represented. If there is something you are trying to learn or research, solo-ing allows you to do at your own pace.

Do I have a favorite? I personally prefer pairing, but I like solo-ing too!

Collapse
 
darkes profile image
Victor Darkes

Pairing is grear for working ideas out with others in real time. I am glad I was exposed to it very early in my career because some people go through decades never trying it or feeling intimated by it. However I personally wouldn't say it's gaining popularity.

Collapse
 
radu022003 profile image
Radu

That is a nice article with plenty of details. But I would like to hear from the author and other people more about the manager's point of view, regarding pair programming. I am currently working in a software company where projects are handled by only one person. It would take a lot of effort to bring a colleague into the middle of my project and the second, more powerful, in pair programming would mean that instead of one person, two persons should be paid. Please enlight me if I am wrong.

Collapse
 
mdhesari profile image
Mohammad Fazel

it's very difficult at first time as you said but I think it would be nice and will bring well-structured code.

Collapse
 
biffbaff64 profile image
Richard Ikin

I've done pair programming, not all the time though, ever since I started in 1982. Don't really enjoy it, but it depends on who you're working with.

Collapse
 
dance_nguyen profile image
Dan N

I love it (most of the time)! It's great getting other viewpoints while you're working.