Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn
Nataliya Muriy
Marketing Content Creator - you name it, she'll write it!
Contributions by N Wayne Parrott
Posted on Jun 23rd 2017

“Two heads are better than one.”, you might hear often, but, that assumes you can get the right two heads together. Pair programming is not an new practice, and it seems everyone has an opinion as to its costs and effectiveness. At Genuitec, we’ve continually evolved our collaborative coding practices to increasingly include pair programming. So far, at Genuitec we’ve been doing pair programming mostly on a mentoring basis, since we tend to give more autonomy to senior developers, as explained by Wayne Parrott, one of our founders. We’ve also used it when dealing with truly complex code issues and bugs. We realize we’ve only scratched the surface in what’s possible. And as a company that values innovation and productivity we know we are leaving a lot on the table. What’s been holding us back from going all-in?

Simple — like so many organizations, we employ a globally distributed workforce spanning three continents and 13 time zones. Getting the right two remote developers connected can be a challenge. And when they do connect, efficient communication is essential for them to do a mind-meld and build a productive shared flow. This latter challenge has been an obstacle for us. We’ve tried a wide range of remote collaboration tools but found nothing specifically for coders. Talking to our dev teams about their ideal remote collaborative programming tool, the best description went like this, “Imagine if Slack and Google Docs got married and had a coder for a baby”.

codetogethernewSo we’ve built just such a tool, CodeTogether. We like it so much we plan to make CodeTogether available for public use later this summer. This awesome new tool will basically have three uses: the classic pair programming (but done remotely), mentoring, and presentation level. Indeed, it can be used to either build some artifact or to take it all a step further to do some innovation development (when two senior developers come up with something truly amazing). It’s also of great aid for junior programmers to learn the ropes. Finally, not only does it allow for hands-on coding, but also for the classic presentation mode — sometimes there is a need for a presenter to walk through a code while an entire team watches. For more details on how it all works, check out this blog.

We’ve gone beyond traditional pair programming (two developers sitting at the same computer, normally taking turns at the keyboard, being either the “driver” or the “navigator”, as defined on this website). There was no other way since we are a fully virtual company! But despite enormous distances that separate us, we’ve been able to enjoy some advantages of such collaboration: our great team members have been able to come up with much better code, share their knowledge and transfer skills in order to continue innovating. All of this is now much more feasible since we’ve been using CodeTogether in-house. A few more finishing touches and more testing, and it will become part of your reality as well. In just a few months, our new collaboration tool will take pair programming — even if it’s done remotely — to a whole new level.