DEV Community

Discussion on: Pair programming...or not?

Collapse
 
domfraise profile image
domfraise

I think the key is everyone is different.

I've paired with people who are amazing, sparking thoughtful discussions throughout, from variable names to architecture design. This tends to cause fewer rewrites, quicker code reviews and overall better code.

However I have also paired with know it alls who try to score one ups on you by correcting your typos, extremely argumentative people, and people who just have no clue what's going on. These experiences are considerable unproductive, and incredibly frustrating.

In my opinion there are a few times where pairing is truly worth the pain of having to explain your every move to someone else.

  1. If the other person is more junior than you, making it more of a coaching session (also applies if you're the more junior person)

  2. If you are covering a particularly difficult problem domain that has lots of pitfalls and potential places to mess up. A second pair of eyes can help you spot issues quicker. (I also put running update or delete sql clauses on a production database with this one)

  3. If you are working on something new with fuzzy requirements where there will be lots of design choices and fundamental descicions to be made, having another person there to bounce ideas off can help you avoid overcomplicating things or getting the wrong abstraction.

But I think past those 3, I tend to not lean on extended pair programming, however will always advocate for calls and discussions at any time, even a quick 30 min pairing session to go over a problem can be helpful.

On separate note regarding pairing though perspex (sounds horrendous btw) I'd recommend doing a call over Teams or Zoom and sharing your screen if you can. Much better than shouting at plastic :)

And yes it does get easier and less awkward the more you know the code and the more you know the person.

Collapse
 
jennymegan profile image
jennymegan

Thank you for the reply - I do think that by general consensus today we're going to do Zoom pairing - the added advantage then is that as we progress through the weeks we can pair with people we're not sitting directly next to. (Can't switch desks : Covid.)