5 ms·
Ask HN: Problem with finding good Offshore Devs
I'm exploring the market for finding good (Offshore/Nearshore) developers from a service provider perspective. How do you rank who's good? What's your score card? How do you find these people?
- smt88 12y agoThe following is probably going to be unpopular with non-US people on HN, but I realize that it's anecdotal. I hope it's helpful anyway. I've had first-hand experience with about a dozen off-shore devs, and I've heard about dozens more from friends and clients. Every single one of these experiences has been a nightmare. I don't mean "some of them were pretty bad". I mean that 100% of them were disasters. There are many contributing factors to these problems: 1. Dev shops (in all countries) lie about how good/experienced their developers are 2. It's very hard to judge code quality, especially as the code is being written 3. Hourly contracts give companies an incentive to cheat (taking longer to do things, billing for things they didn't really do, etc.) 4. It's almost impossible to hold a company accountable for bad dev work Every time I've managed an off-shore team, I've caught them lying and writing criminally terrible code. And these aren't disreputable, no-name companies. The CEO of Rack Space had personally recommended a company to us, in one instance. They were based in Wisconsin and had US-based account execs, but the devs were in India. I've had many more experiences of coming onto a project after an off-shore team has failed to deliver. In every case, the code had barely been worked on or had to be scrapped entirely. Those situations often result in lawsuits. Not only have I never had a good off-shore experience, I've never even heard of one. In the circles of businesses that I interact with (pre-revenue startups), "some off-shore developers did it" is usually a sneering implication that the work was terrible. So I assume you want to use off-shore developers because they're cheaper. I'd submit to you that they may actually be much more expensive. Paying someone great to work for 100 hours is a lot cheaper than paying 2 terrible people to work for 100 hours each, especially in the long-run where some amount technical debt is a guarantee. The ability to sue in a US court is also incredibly valuable, although out of the many lawsuits I've heard about, none had contracts that were clear enough to result in a quick recovery of costs. (That's a whole other rant: having thorough contracts!)
- JSeymourATL 12y agoVery valuable, much appreciate your perspective! Have you found any other regions with talent more reliable than India-- say Ukraine, Croatia, Colombia?
- smt88 12y agoI've worked with people from India, Ukraine, Croatia, the Philippines, Romania, and Poland. The cultures differ wildly between those places. The Romanians I worked with, for example, were very non-confrontational and agreeable to a fault. That made it really pleasant to work with them, but it also screwed us over many times because they wouldn't admit that they were going to miss a deadline or that they disagreed about something important. The quality of work also differed. On the low end of the quality spectrum, the work was so bad that it was actually laughable. I wondered how someone could write code that bad without trying. On the high end of the spectrum, the code was organized semi-logically into objects, but without any consistency or rationale. It wasn't much better than spaghetti code, and it was still utterly unusable.
- JSeymourATL 12y agoGreat stuff, thanks again! Just one more question (if I may)-- How do you scorecard these guys? If I find someone, who looks good on paper, comes across well during a Skype interview-- is there anything you look for, probing questions? Or can you only know by giving them a 2-4 week trial run?
- smt88 12y agoI've never found a reliable way to identify a good developer vs a bad one. At an individual level, you ideally want someone who has written an entire application many times. With shops, you often get junior guys/girls who have only written modules to fit into other people's architecture. How to find, afford, hire, and retain tech talent is probably the hardest and most common problem for startups, and there's nothing close to a repeatable, universal solution.