Monday, August 18, 2014

Being the Remote Programmer - A Reflection

Being remote is a bit of a compromise. This is not my first time to reflect on the issues, but this one might be helpful and the topic stays fresh for me. 

As a full-time remote I suffered through many issues, including:
  • bad conference calling systems
  • frequent drops
  • bad phone service sometimes
  • iffy internet and screen sharing 
  • switching from broadband to cell phone for internet connectivity
  • ISP downtimes
  • lag (omg lag!)
  • time zones (we were in India, Illinois, Colorado, Oregon, Utah, and Iowa. My current company is in Amsterdam, Brazil, East Coast, Midwest, Texas, West Coast -- and we have satellites & customers in India, UK, Russia, UAE, New Zealand, and China among others)
  • unavailability when people were in emergency meetings onsite that I didn't know about
  • being outside of the social conversations
  • being unaware of the mood at the office
  • missing gossip that everyone else took for granted
  • other people not seeing/appreciating what life was like on my end
  • events at home taking me out of work context (if only mentally, or momentarily)
  • raccoons eating my internet cable (and part of my roof)
  • storms knocking out my access to the office

But I was happy to be a remote, and to pair with teammates remotely, and to have a little more control over my environment, and I accepted the bad with the good. It had advantages. 

People wanted to work with me, and were willing to go through the hassles so we could work together.

We looked for every Pareto change, where conditions improve for at least one person and are not made worse for anyone else.

If we made everyone else work as if they were remote too, we would have forced everyone on our system to the lowest common denominator -- which would have resulted in less work being done (and completing less often). We didn't do that.

We don't make being remote any worse than it had to be, and we also took advantage of being present to the greatest extent we could. We even had remotes come to work at the office from time to time at company expense so we could gel as a team and see each others' faces. The rest of the time, they would either photograph the board, or read it to me.

Ultimately, it's about getting work done more often (even if not "more quickly") and working together as a team. 


Local team members will learn to take care of the remote tribe-members. 

At least, that is my experience. 

Your Mileage May Vary.