Remote Pair Programming with a DevOps Twist

Back in March 2015, I reached out to my friend Jeff who mainly writes Javascript apps to see if he’d like to engage with me on a project focused on VMware NSX. The idea was to utilize the principles behind Remote Pair Programming but instead have different skill sets that we both want to improve upon (perhaps there is already a better word for this). In a way, we were both an expert-novice match on each other’s half of the project: I’m fairly good when it comes to working with NSX and infrastructure design, and he’s quite skilled with cranking out code into the wee-hours of the morning. Each Friday evening, we’d jump onto a screen-sharing hangout and focus on architecture, writing code, and pivoting as we backed ourselves into corners. 🙂

At a high level, here’s how we split up the expert-novice mentoring:

Development (Jeff)

  • Write (and explain) the code
  • Debug code issues
  • Functional Testing[/symple_column]

Operations (Chris)

  • Stand up a lab environment for NSX
  • Provide use cases and sample designs
  • User Testing[/symple_column]
What I imagine DevOps looks like.

Neither of us expect the project to be anything important in the world, but it was a really fun and educational experiment. It took about four Fridays worth of time to commit enough code to make our idea into a reality, and we both learned quite a bit about one another’s realm of IT. I also pushed for using a sprinkle of Ruby so that we could both dive into something new.

If you have a developer friend who is looking to take on a side project, set up a Pair Programming arrangement (remote or otherwise). I’ve found the experience to be incredibly insightful and valuable, and it’s neat to see the work result in a usable project.