Saturday, November 28, 2015

Offshore - A Novel Solution for Working With Tennis Elbow

This morning I did some programming, but I didn't touch the computer.  Instead, I worked with a young man from the Philippines who served as my arms and hands.

I have tennis elbow (tendinitis) in both of my arms.  I'm doing everything I can to heal my arms including rest, heat, braces, stretching, massage therapy, and acupuncture.  Things are starting to heal, but tendinitis is a notoriously slow injury to recover.  While my arms heal I still need to work, and I need to do that without further injuring myself.

In order to continue using the computer without exacerbating my injury, I've been exploring methods of computing without my arms and hands.  I've started using voice recognition software, which is how I am writing this blog.  The voice recognition software might be able to help me with programming, but frankly I'm not willing to undertake the learning curve that would go along with becoming effective that way.

I decided to try offshore help in a novel fashion.  I posted a job for a programmer's helper - someone who could poke the computer on my behalf.  I received many applications from programmers and other technically savvy resources, plus from admin people.  Prices ranged from $3.33USD per hour all the way up to $50.00USD per hour and more.

I interviewed a few people who fell on the "more affordable" end of the price spectrum (there's no point working if I'm paying out more than I'm bringing in just to do it) and started working with two young fellows - one from the Philippines and one from Serbia.  The guy from the Philippines is a programmer.  The guy from Serbia is an engineering student with an interest in programming.

We use software called Team Viewer to work together.  At the start of the session I send them a Team Viewer ID and password.  Using that information they take control of my computer.  I tell them what to program, and they type and click and poke everything out for me.

During the session we talk on Skype using different devices (not our computers).  We cannot have Team Viewer and Skype running on the same computer at the same time otherwise we get a feedback loop from my helper having his Skype running alongside a connection to my computer with my Skype running.

Both of my helpers are excellent.  They are smart and keen with strong knowledge of programming and database environments and they both have great attention to detail.  They both add value by catching my mistakes and making suggestions, and I expect that over time they will add more and more value this way.  I had thought to enlist more than two helpers but I think I got lucky and the two that I have will provide all of the availability and skills that I'm going to need.

We are learning to work together and getting faster as they learn the environments that I work in and I learn how to properly describe what it is I expect them to do.  This is not pair programming.  Pair programming is when two programmers sit down together to work collaboratively on a software development task.  What I am doing with Gvozden and Jaypee is completely different and has unique challenges.  They aren't doing any programming - I am.  They just act as my arms and hands.  The challenges come because they can't see me so I can't point to show them what I'm talking about as I give instruction.  In a way they are blind, and in a way I'm hobbled without the use of pointing and gesturing.  But I'm learning, they're learning, we're all learning, and I am able to work without exacerbating my tendinitis.