We have both in-house and remote developers at AutoRevo and while we've been successful at maintaining both, we've stumbled a bit in a few areas.
The biggest problem we have is the remote folks feel disconnected. Even with Campfire and Skype, it can still be a challenge to keep everyone connected. It's not uncommon for an in-house dev to ask a simple question to the folks around him and have that question turn into a thoughtful conversation. Sometimes, we'll think "Oh, fire up Skype and get so-and-so on the line so they can join in." But many times, we just don't even think of it.
I hadn't heard of Sococo, but it looks intriguing. Keeping an open mic with Skype was something we considered, but it seems intruding. This is an area we're still trying to get better at.
The other issue is one of team-building. Usually our in-house devs go to lunch together and grab the occasional beer after (and during!) work. There is a camaraderie there because these guys work together, eat several meals a week together and drink more than a few beers together. That just can't be replicated to a remote developer.
We've also found that some devs simply aren't disciplined enough for remote work. They love the freedom, but sometimes that freedom becomes a problem for them. We don't keep devs that have to be supervised constantly, but when they are remote it can be harder to gauge if they are just hitting a slow, unproductive period that will pass or if they are just doing as little as possible to keep a check coming in.
Distributed teams are definitely a huge bonus for a company, but there are challenges that have to be thought through up front.
We use campfire to do 90% of our conversation even with our team all in house. It helps kick off conversations, save them for later and keep everyone in the team on the same page. I think before you start hiring remote talent you need to build in that communication strategy to your core team.
Very much agree that in-person bonding, whether working side by side or having a beer, are important. If you do have a remote team- try to build in time for the whole team to be in a single office every other month at least.
We're the same. Even though the bulk of our devs are in the office, we still use campfire because it's the central hub of communication. (commit messages, CI build notices, when stories get updated in Pivotal,etc.)
And it's searching ability is very nice. Pro-Tip: Keep that searchability in mind when you discuss a candidate's interview in campfire..they might be reading it later when you hire them. Dohp!
The biggest problem we have is the remote folks feel disconnected. Even with Campfire and Skype, it can still be a challenge to keep everyone connected. It's not uncommon for an in-house dev to ask a simple question to the folks around him and have that question turn into a thoughtful conversation. Sometimes, we'll think "Oh, fire up Skype and get so-and-so on the line so they can join in." But many times, we just don't even think of it.
I hadn't heard of Sococo, but it looks intriguing. Keeping an open mic with Skype was something we considered, but it seems intruding. This is an area we're still trying to get better at.
The other issue is one of team-building. Usually our in-house devs go to lunch together and grab the occasional beer after (and during!) work. There is a camaraderie there because these guys work together, eat several meals a week together and drink more than a few beers together. That just can't be replicated to a remote developer.
We've also found that some devs simply aren't disciplined enough for remote work. They love the freedom, but sometimes that freedom becomes a problem for them. We don't keep devs that have to be supervised constantly, but when they are remote it can be harder to gauge if they are just hitting a slow, unproductive period that will pass or if they are just doing as little as possible to keep a check coming in.
Distributed teams are definitely a huge bonus for a company, but there are challenges that have to be thought through up front.