Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

We have an opportunity to hire an awesome web dev for our team. Problem is, he is leaving for S. America in 6 months. We will still have him onsite for six months. We are thinking of having him work remotely after that, but we have our concerns.

Ours is a 4 person Chicago-based team that uses scrum. Our office is a war room where we are in constant collaboration.

How could we include a remote worker in such a process? What technologies and techniques can make this work? Or is it a lost cause? This thread lists some tools, but I'm hoping for some real world experiences.

share|improve this question

closed as too broad by Snowman, GlenH7, MichaelT, gnat, Ixrec Apr 19 at 11:13

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers 2

up vote 11 down vote accepted

Speaking as someone who works remotely a good bit of time, I would stress these:

  • a solid, reliable and fast VPN connection
  • Good response to emails from team members. Some people have the idea that if a person is not physically there that they matter less and they then put a lower priority on communications with that person. The remote dev should be treated no differently than those in the room.
  • A good communications method for meetings. If you only have a speakerphone, invest in a good one. Even good speakerphones still have their problems but trying to listen over a cheap speakerphone will make the developer want to bash his head against a brick wall
  • An Instant Message client that is used by the whole team
  • Decide how he will develop early and optimize for that. If he will use his laptop for dev then you need to make sure all of your version control and bug tracking packages will work across the VPN. If he will be remoting into a Virtual machine on your local network then you need to make sure your VPN is fast.
  • I've never done this, but I have heard of groups setting up an old laptop with a webcam pointing at the team room and having the dev 'sit in' remotely using his webcam as well. Supposedly this helps him feel like he is more a part of the team

Above all, communicate, communicate, communicate. It is all too easy for a remote dev to get that "I've been forgotten" feeling which will kill their productivity.

If the dev is new to working remotely, then he will almost certainly hit a few discipline issues early on. Regular communications will bring those issues to light sooner so they can be dealt with sooner.

share|improve this answer
Scott Hanselman has blogged extensively about working remotely, including setting up a computer in the office with a web cam.… – Walter Apr 28 '11 at 12:21
Yes. Hanselman's success is the reason we are considering it. Well, that and the guy is awesome. – Code Silverback Apr 28 '11 at 14:19
+1 for the webcam approach. I like it. – junky Feb 28 '12 at 17:08
what is your suggestion for a solid, reliable and fast VPN connection?? – AminM Nov 9 '14 at 5:14

Remote work requires mostly commitment from all involved parties. Though the burden is usually higher for the remote worker than the on-site people, on-site people have to be very aware of the fact that any communication that happens on the corridor or in the staircase will be communication that won't reach the remote worker.

Technology is only going to "fix" it for you to a small extent. Take video-conference with everyone in one room plus a remote worker. There are very real latency issues. If everyone talks it will be hard for the remote person to get attention. Also, not everything will always be clearly audible. And last but not least you can't just take out a sheet of paper and pencil and draw up some sketch. Recording your meetings (in a portable format) can at least offer an alternative way to communicate the parts that got lost during the live meeting. It's also a nice reference (even without remote workers) for everyone.

Maybe I'm a bit too pessimistic about these things (having had to work with several remote devs under me, though), but the commitment and communication in my opinion is very very important. Way more important than any technology could be.

Keeping motivation up is, too. Communication is a way to do it. Clear communication is an extra effort, though. Especially when you don't have facial expressions from the discussion partner available (e.g. in a phone conference).

Anyway, if you want to take the - very real - risk start early with communication via an instant messenger and email: even on-site. Both for 1:1 and multi-user. It will (hopefully) raise awareness in how many ways communication is cut down with someone working remotely. All those side-channels are gone. Both with email and instant messenger you will notice latency issues, too. More with email than with instant messenger, of course. If the worker next to you does not reply immediately you may know he's in the bathroom or very concentrated and working. How about the remote worker. Is he working? Is he perhaps slacking off? You have to be able to fully trust your remote worker. And that trust relationship has to exist before the person goes abroad ...

I've experienced functioning remote working relationships, with very disciplined and committed people. But in the majority of cases I experienced, it was a waste of time and sooner or later led to one of the involved parties giving up on the other (with changing roles and varying consequences).

Another good idea might be to try and work from home for some time yourself. Even a week will be enough. It will show you the temptations and will make you aware of the discipline it requires to work remotely (even if not that far away ;)). It will also give you a feeling of whether or not you think this person would be suitable for remote work (assuming you feel confident in judging the person in question already).

Edit: one more thing. With one remote worker we had rented an office place for him at his remote location. This way some of the temptations that exist when working from the home office were removed. And it worked better than with those that worked from home.

Edit 2: one more thing I have noticed is that some of the on-site people who are not as comfortable with written communication but don't belong to the immediate team (system admins or other coworkers) may cause disruptions. If they do not reply to the remote worker (e.g. problems with VPN or other services) it will foster the feeling of the remote worker of being "left alone", despite all efforts within the immediate team. In such cases it may be best if there is an on-site liaison for the remote worker within the team that will take care of such requests by actually walking to the person that would otherwise not reply by email or instant messenger.

And one more note about trust. It may sound somewhat hostile, but it's what you will know from other occasions in real life as well: trust is built up very slowly, but it's lost within moments. That's why I consider the commitment the prime prerequisite. Commitment will ensure that the trust relationship will survive.

share|improve this answer
Everyone involved needs to be massively comfortable at email/IM/phone/videochat. You can't go loom over cubicle walls at people when they don't reply by email. – Paul Nathan Apr 27 '11 at 23:56
@Paul: I fully agree. Perhaps commitment is too much emphasizing the needs within a working relationship, while "being comfortable" brings an aesthetic factor into the discussion. Ultimately, I think they are the same aspect with different emphasis. Being committed will give you the positive feedback that you'll need to be comfortable with communication and being more comfortable with communication means that your commitment (especially as remote worker) will be more visible to everyone. – 0xC0000022L Apr 28 '11 at 0:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.