15 ms·
Beating the Talent Crunch with a Distributed Team
- JoeAltmaier 15y agoI work on a distributed team. Timezone is definitely an issue. But in a startup, folks work when they must, and get the job done. We use Sococo Teamspace (I work for Sococo). It combines chat, audio conferencing, doc share and video conferencing. Everybody stays on all day. That means you can track what anybody is doing online, know when a meeting is starting, who's talking with whom etc. Its not perfect, but it sure beats the isolation of working at home, checking email every 10 minutes.
- Killah911 15y agoThis is an awesome article. I've been working on a distributed team and have learned some of these things in a rather painful way. Are all these lessons learned just from experience? A Hacker News type subgroup for distributed teams would be nice to have so we can share experiences learned the hard way so others don't have to. Someone please let me know such a forum exists.
- jister 15y agoI also work on a distributed team. While all my teammates are in the US I am the only one working in the Philippines. We use email, chat (yahoo messenger), skype and gotomeeting for communication. We use our internal tool to log our time every day. This setup works for us and has been going on for almost 2 years now.
- samdelagarza 15y agoGood article Kar, I agree that the talent pool is drying up and I'm not sure what reasons are behind it. I wish more company's would adopt a work from home mentality as it also creates a competitive advantage to attract some of the brightest.
- mkramlich 15y agoagreed. but you also need to be the change you want to see in the world. in a hiring role? ensure you allow remote/home-based team members. evaluating working for someone else? filter for that and demand it, else seek elsewhere. it's what I do (well, trying to do. mostly succesful so far.)
- Kynlyn 15y agoWe 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.
- Blocks8 15y agoWe 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.
- Kynlyn 15y agoWe'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!
- yummyfajitas 15y agoI've actually found being in the opposite timezone can be handy. Currently I'm in the US while most of my team is in India. Often, our workflow is the following: 9AM-5PM EST: build a view. 9AM-5PM IST: view becomes nicely styled. Similarly, I can work on a project, hand it off to my developer across the sea, and considerable progress will be made before I wake up. Of course, this strongly depends on having people I can trust - not just any developer will do.
- hkarthik 15y agoCan you elaborate a bit on what these projects entail? Maybe a short description and how long each project went on? The work I do tends to require a lot of collaboration as we figure things out and experiment. Having a one day delay for every thing feels like it would slow us down A LOT. We also use iterative development in a two week sprint, a day lost would limit our productivity tremendously.
- johnnyn 15y agoHave you launched yet? Being in different timezones post-launch can be extremely difficult in my experience. Bugs and new code gets really hard to manage when the co-worker you need to talk to is asleep while you are working.
- brown9-2 15y agoAnyone happen to have any advice on convincing the rest of your distributed team to use a chat room? Our team lead has an odd aversion to using IM, which extends to distrust of any electronic messaging beyond email. However I really feel a persistent chat room would be a big help for the team.
- praptak 15y agoSkunkwork it. After all you are not forbidden to communicate with other team members using tools of your choice? If you are, then I have no advice for you.
- untog 15y agoI would imagine that a lot of communication needs to be with the team lead- so his lack of participation would make it pretty useless.
- jessed 15y agoI actually prefer a chat room over email. It's logged, with group discussion and it's asynchronous. I don't have to begin a reply and then wait for a response. I just get it out in the room and keep going. Another thing I like about using a room is the chance to use Hubot (http://hubot.github.com/ http://hubot.github.com/). It makes for some fun and can also be extended to actually do useful stuff. If your team as an aversion to IM try to entice them with a room is better because it's not one to one and everyone can see and answer questions and it facilitates group discussion easily and it's asynchronous so it gets out of your way.
- erikcw 15y agoWe've been using skype chat almost elusively for 3 years. At first, I loved the work flow, but in our case it has devolved into an email replacement for one of our team leads. He daily sends reams of chat messages into the room with the expectation of a synchronous response. Messages routinely get lost in the shuffle. I'm working to get him to use email for these sorts of issues -- status, in progress. If skype had threaded chat conversations, it would be much more manageable. Until then, I miss gmail... :) Use the right tool for the job.
- deleted 15y ago[deleted]
- DevX101 15y agoThe site is down so if you can't read the article, see here [1]. The author is actually pointing out two distinct problems, which are both having a real impact on tech companies. The first and most difficult problem which every company faces (startup or otherwise), is finding great talent. Every tech company is fishing in the same water trying to find devs in competitive places like S.F. or NYC. These cities certainly have the highest concentration of great developers, but there are hundreds of thousands of equally great devs scattered across the country. If your company can find a way to get the best of the best among these isolated devs (who may be in Kansas), you're ahead of the game. The second problem he discusses is how to get startups to work well in a distributed team. As many have pointed out, using Skype can be awkward. There is also something missing from typical remote working platforms that doesn't capture the social dynamic of working in the same office. I'mworking to solve both of these problems. Right now, I'm looking for beta testers before I launch. If you're interested and willing to give feedback, shoot me an email. 1. http://webcache.googleusercontent.com/search?q=cache:http://hkarthik.me/blog/2011/12/12/beating-the-talent-crunch-with-a-distributed-team/ http://webcache.googleusercontent.com/search?q=cache:http://...
- hkarthik 15y agoFYI the site should be up now. It's loading fine for me.
- zackzackzack 15y agoException: always bring the interns in house. I've heard the talent crunch is bad, but I cannot imagine a remote internship being beneficial at all. I tried working a remote internship once and it was awful. I didn't get anything done, had no idea what was going on, really a big waste of time. The first day I got to the office I fixed a bug and got the product to actually work though. The rest of my time there I did some good work. Interns don't know what they are doing. If they did, they would be full time employees. They need to have somebody to point out some of the basics, not all!, but enough for them to actually be productive.
- jackowayed 15y agoEh. My first job was a remote (cross-country, even) internship when I was 16 for a 2-man bootstrapped startup that didn't have an office anyway. Since they were already setup to do most work conversations through Campfire, it worked great. There's nothing keeping you from "pointing out the basics" via email, chat, or Skype and being available on chat if they hit walls just as you would be in person. Sure, if you're not communicating well, maybe your full-timers can get stuff done despite that and your interns can't. But I'd say that means that having a remote intern is one of the most important things you can do from time to time. It will be a test of whether you're actually doing the distributed team thing right, instead of your team just being competent enough to work around it.
- zackzackzack 15y agoMaybe. I think there is much to be said for being able to just walk down the hall with your laptop and debug everything in person with someone who knows what they are doing. I didn't know much before that internship about software development and I learnt a ton about the whole field just watching other people. It's why I use emacs nowadays at a more than beginner level. Again, if the intern is competent, then they aren't really an intern anymore. Just kind of a part time worker more likely to be hired in the future.
- hkarthik 15y agoYou really have to hire mostly experienced folks to make things work on a distributed team. You can hire juniors and let them pair with senior devs, but they still need to come with some previous experience. If you want to hire interns, you really need to get some office space and pair them with experienced devs.
- davidhansen 15y agoMore drum-beating about this illusory talent shortage, eh? I'm still waiting to see any signs at all that this shortage actually exists, aside from random "I can't find a rockstar!" anecdotes.
- poutine 15y agoVery hard to find experienced Ruby devs in Vancouver, Canada. Have had open positions for months at my company with only junior people applying.
- hnwh 15y agoso train them
- rickmb 15y agoAs long as there's no decent form of vocational education, training in-house is a huge investment. You can only properly train one junior for every three to four seniors before it becomes disruptive. Many companies that have already made the mistake of hiring too many juniors in an attempt to deal with the shortage, and have suffered the consequences (huge drops in quality and productivity, and in the worst case, seeing the experienced seniors they did have walk away frustrated). Where education fails, major companies like Google and Facebook should take the responsibility for training juniors. Instead they spend their fortunes strip-mining the market.
- polyfractal 15y agoYeah! Google should start firing their top talent every five years too so the rest of the tech industry has a chance to hire them. Because that makes about as much business sense.
- rwolf 15y agoAs a junior developer at a major company, it sure feels like I'm receiving training. Since major companies are hiring both junior and senior developers, are you suggesting they stop hiring senior developers?
- ericingram 15y agoI agree and plan to build a company in which distributed is the norm.
- jasonjei 15y agoI honestly don't know why so many people care where a company starts. For example, Microsoft started in Redmond. Rovio isn't even in the US. Notch is a Swede. For what it's worth, people should really look at their product and build it wherever they can. Screen sharing and remote chatting for 4-5 hours a day anywhere has helped. As long as most everyone is within reach of 3 hours (basically, anywhere in the continental US), it's possible. I'm not bold enough to try international borders merely to keep payroll compliance, legal liability, and agreements effective, but I'm sure it can work. Just ask free software projects how that's working over Github. In fact, I find it beneficial not to have my employees in a startup hub so that companies like Google can't poach them. After all, a location is just a location. If you're an Internet business, you don't actually meet up with your customers when you have a problem.
- richardburton 15y agoI have always wondered how scaling across countries affects a company but I have never thought about a distributed founding or early-stage team. I think the intensity and sensitivity between founders would be lost in the ether. Great products require tough decisions that should lead to disagreements. Web-chat might obfuscate such tension or take the passion out of the process.
- nwilkens 15y agoAt my company, we like to offer great health insurance, but this can be difficult to provide if you only have a single person in another state or region. In the US, each state (and regions within a state) have different insurance providers. All providers that I have investigated require a minimum of two people as part of their group. We are just beginning discussions with our agent on this topic, so a good solution may exist that we have not crossed. For those of you that work distributed in the US, can you tell me a little about your health insurance (+life, dental, etc) and if it is great, average, poor or non-existent?
- amorphid 15y agoWe had that come up. A Blue Cross PPO allowed us to offer coverage in California and Kansas.
- cletus 15y agoI'm surprised no one has mentioned a great technical solution for this: Hangouts (disclaimer: I work for Google). Other posters are correct in that there is friction with Skype or in fact any solution that isn't always on (you could keep Skpe up of course) but I can tell you from experience that if you get in the habit of just keeping a Hangout open it gives you much of the benefit that physical proximity does. Remote debs can keep a Hangout open on a second screen or possibly a dedicated machine. Your main dev site should just hang a monitor on the wall and hook up a Mac mini to stay always on (per room). You may need a decent mic for this.
- mmagin 15y agoIs there a solution whereby this common "monitor on the wall" could be logged in via some common account instead of with a particular individual's account? Also, according to http://support.google.com/plus/bin/static.py?hl=en&topic=1651183&guide=1257349&page=guide.cs&answer=1216374 http://support.google.com/plus/bin/static.py?hl=en&topic... "There's a 90 minute check-in to make sure you're still there."
- timedoctor 15y agoThe article doesn't put it strongly enough. If you run a tech company and only think about hiring people locally you're crazy. Why hire only locally when you can draw from talent anywhere in your country, in fact, anywhere in the world. Likely at a much lower cost for the same level of talent. Plus you have the advantages of your team not needing to travel. Working together in the same office is a 20th century model of doing business, and I'm surprised that many technology companies are not open to a more distributed model. A more important question is: What needs to be done from an office versus a distributed team? From an office you will probably want: Core executive team members (in a larger company, but not necessary in a small company, all team members can be distributed) Local based sales people (if you are doing one-on-one presentations selling to local businesses) Plus certain types of businesses do need an office
- hkarthik 15y agoI agree with you, but in practice I've seen that even if a company wants to go distributed, they lack the knowledge on how to make the model actually work for them. They resort to using the exact same process with more conference calls and emails. That clearly doesn't work as you miss many subtle communication queues.
- bshock 15y agoI'm just a humble senior developer in Phoenix, AZ, so my perspective is very limited. But for many years now I have been suspicious of this "talent crunch," of which so many have spoken. I spent three months out of work earlier in the year, after being laid off suddenly from a company who was shedding developers at a rate of one per month. I currently work with another senior developer who was laid off from a defense contractor, and who sees his former colleagues being laid off regularly. I know of at least one brilliant former colleague who is desperately in need of a new position. I've observed a constant stream of unemployed or under-employed, talented software developers over my entire career; I can't simply dismiss it as anecdotal evidence. My current employer has included me in his hiring process to some small degree, and what I'm seeing now doesn't seem to be a "talent crunch" so much as a "low-wage talent crunch." As a top-level developer at this company, I'm earning just an adequate salary, but my manager wants to pay substantially less to everyone underneath me, regardless of skills or experience. More than once, I have watched this repel talent I urgently needed in my group. You don't always get what you pay for, my friends, but you never get more than what you pay for. Please consider this.