Why not remote developers?

In my previous post whereby I lament the lack of companies willing to offer remote work, I wanted to touch on some of the arguments against using remote workers (and remote developers in particular) but felt it deserved a post on its own. And as luck would have it, half the post has been written already in the comments to the last one. Jimmy Bogard has one that I couldn’t have planted any better if I tried:Laptop hammock

"Remote team members that aren’t in the same time zone +/- 1 hour, are very difficult to work with. […] Even with remote team members in a close time zone, we noticed that 1) they missed out on important human conversations that led to 2) them not really being part of the team.  We kinda strive for the XP-style Whole Team, which can be very difficult to make work with remotely."

You may not believe me but these were the exact same three points I was planning to bring up anyway in this post, even without Jimmy’s fine segue. His sentiments are echoed by other comments, many of which point out correctly that agile requires a lot of face time.

Yes, there are some obvious and no so obvious challenges on both sides when dealing with a remote worker. From experience, I can tell you that you can manage reasonably well with a time zone difference of +/- two hours but the fact remains, time zones must be taken into account. If you’re on the east coast of North America an d have a regular 8:00am stand-up, your Vancouver-based developer had best be an early riser.

Several people brought up what I find is one of the biggest disadvantages to not being onsite: the hallway conversation. I know I’ve said this before somewhere but you would be amazed at how many major decisions are made at the coffee machine. Design, architecture, new features, it doesn’t matter. Never forget: Humans have far more experience with the verbal word than the written one.

As was also pointed out, this is more pronounced in agile environments, where face-to-face communication is built-in to the process. Daily stand-ups around a scrum wall filled with post-it notes does not lend itself to remote developers. And no matter what technology solution you use to mimic it, there will always be a disconnect.

Unfortunately for me and remote workers in general, what these add up to is that it’s  probably not practical in an agile environment to have more than one or two remote developers. There is simply too much focus on direct communication among the team that no amount of IM, e-mail, or internet telephony can overcome. But I would absolutely *lust* after whomever is able to prove me wrong.

None of these even take into account the most important factor: the skillz and personality of the actual developer under consideration. Interestingly, only Dave Woods mentioned this in his comment, almost as a footnote. Not everyone is capable of working remotely so this is something employers need to determine as part of the interview process, as if it wasn’t difficult enough. Not to mention the fact that you are likely interviewing the person over the phone.

In the end, these are concerns that, like any other, need to be weighed against potential benefits. It’s likely that these issues are so esoteric that most managers simply don’t want to deal with them. They can deal with a shortage of good local help by commiserating with other managers who are in the same boat. It’s a well-understood and widely-accepted problem and when you complain about it, people nod knowingly and say, "Yeah, tell me about it."

But if someone were to say, "I can’t believe I have to schedule our meetings before 3:00 because of this guy we have working from the Bahamas", you had *better* be productive.

Kyle the Lamented

This entry was posted in Working Remotely. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Stevi Deter

    It’s also important as a developer to look at it from the other side. Sure it’s great to work from home and be able to churn out more code. But you lose a lot from your personal development. In the two years I worked remotely 100 percent, I got lots of code written — and totally stagnated professionally.

    You never realize how much you learn from others until you have no one else to learn from!

  • http://www.fauberdemo.com/rankings.html David Fauber

    Sure, its better to be face to face.

    That doesnat explain why companies will make a large leap to offshore a ton of coding before they would try using remote local workers, which happens frequently.

  • Stuart C

    I agree with the ‘3 days at home and 2 days onsite ‘ suggestion however I also think that we are starting to move beyond the problems posed by geographical divisions, although time zones still need to be factored in. Technology and infrastructure improvements make communication much easier nowadays, video conferencing, IM and Continuous Intergation solutions provide most of the what is needed for effective communication. This communication is not however as productive as it would be if it were face to face but there are many other advantages of working remotely.
    Less interuptions (as you mentioned),
    travel cost savings by developers (in London this can be huge, so much so developers are prepared to work the hours they would have previously spent travelling…in my case thats 2 hours a day),
    the comfort of one’s own home (if in deed you have that),
    savings by the business in not having to provide a permanent work space.

    Thats just my view anyway…

  • http://codebetter.com/blogs/kyle.baley Kyle Baley

    I think 3 days at home and 2 days onsite is the ideal setup. Just enough to get the necessary face time and some regular human contact.

    Assuming you work a 5-day workweek, of course. But that’s another topic…

  • The Other Steve

    Has anybody ever seen an IM solution which allowed you to send out broadcasts? I don’t mean I get to add 12 contacts to my message. I mean people can subscribe to the ‘ProjectX’ channel, and I send messages to ProjectX, anybody who is presently logged in will receive them.

    We used to have something like this with zephyr, and I think it’d be helpful for these scenarios.

    But yes, in general, I think you need some contact. I could see being out of the office half the time, and actually I find it beneficial as I can focus without interruptions.(having a private office with a door would work too, but nobody seems to have those)

  • Jeff Tucker

    I think this guy has it all figured out. He built a robot that lives in his office while he works remotely:

  • http://saunde.blogspot.com Saunde

    Great post.. i totally agree with you..