Still Curious, Still Learning

Enjoying life as it is, changing it when I can.

I Have Pair Programmed for 27,000 Hours: Ask Me Anything!

Notes I took during this Q/A presentation at LA RubyConf 2014.

Takeaway: Good reminder of how important pair programming is, and why I should “not shirk” it as much as I do.

Presenter: Joe Moore

How do you get over being nervous?

Pair a lot.

What is pair programming in general?

2 people working together on the same computer.

When is pair programming appropriate?

Almost everything. Author says even email can be pair-programmed.

Can you pair program without talking with each other?

Really really hard w/o talking.

Tools for remote programming

  • voice communication.
  • Share a screen.

Google Hangout/Skype is not pairing. Both need to be able to type on the same document at the same time.

What about disagreement?

Will get “best” LCD. If still at odds, bring in a 3rd-party. Still blocked: just take one.

Non-verbal queues?

important for switching driving/navigating without yanking someone out of there “zone”.

Remote pairing better because it has to be more formal?

Joe agrees; same physical environment can have numerous distractions as well.

What about pairing senior/junior? Does that benefit the senior?

Yes. (my experience also). One benefit is that it gives the senior a chance to deeply review assumptions.

people who’ve paired side-by-side, how much better is remote pairing?

Joe’s questioning others on this reveals that it’s about the same.

Do you ever just want to work by yourself?

Yes, sometimes you just want to work by yourself. Really fun but not as productive.

What about 2 similar people pairing? Almost of the same mind.

Extremely rare. Diverse past experiences.

Different editor a problem?

goddamn Divorak! Different editors and key mappings. Good news: chance to learn a new editor. Find the default common mappings between the difference editors.

Favorite Pairing Practices?

whatever works. He likes every few minutes (2 to 10 minutes). Ping-pong works to break keyboard hogging. Look for energy rythyms

Switching pair parters?

Yes, sometimes his company specifically assigns pairing. Depends upon what kind of knowledge exchange the group would like to have happen. Try to switch everyday. If it goes for 3 days for a pair, good to break them up coz they are probably stuck.

Pair w/ non-programmer?

Great learning opportunity and chance to break down organization silos.

Full-time pairing of programmer/non-programmer?

get specific objectives done.

When should you NOT pair?

No specific tasks that he can think of. But, you need to take breaks during the day. Once in a while, should take a day for non-pairing to recharge.