Hacker News new | ask | show | jobs
Have any Y Combinator startups outsourced coding to China to get up and running faster?
19 points by qwerty2 6741 days ago
17 comments

The merits of out-sourcing are debatable in general, but where startups are concerned out-sourcing coding is just plain crazy. Startups, more than any other sort of company, need to be fast, need to do things well, and need to have very efficient internal communication; the likelyhood of any of these happening decreases the further away the founders are from the people who are doing the coding.

If all the coding is being done by founders, things have a decent chance of working; if all the coding is being done by people hired by the founders, the odds are pretty slight; but if all of the coding is being done by people hired by a company hired by the founders -- i.e., by people two steps away -- there's almost no chance whatsoever that the coders will have either (a) sufficient motivation, or (b) understand the founders' vision. (Of course, the same thing works in the opposite direction -- if the founders are two steps away from the people writing the code, there's almost no chance that the founders are going to understand what's going on.)

And that's not even getting into the difficulties of working with people who have a different culture, a different language, and are working in a different timezone.

Out-sourcing development might save you money; but it's distinctly not going to get a startup up and running faster.

Do NOT outsource unless you know the outsourcee in person, know he is an excellent developer but can't come to the USA because of visa reasons or whatever

(Due disclosure :-> I am Indian and work out of Bangalore these days ( I worked in the USA for a couple of years) and have been on both sides of the outsourcing contact. It can work for certain big enterprise projects, but probably never for a startup. )

My 2 cents

We've (Virtualmin) outsourced two tasks so far:

Translations. We met a great guy in China via Elance for the Mandarin work. We've also worked with people in France.

Artwork. The new Webmin logo was done by a guy in Romania, I think. Met him on SitePoint via a logo contest.

I considered outsourcing some of the JavaScript work, since it's not our core competency (we build system administration tools in Perl/C/Java), but given that UI is so important I opted to learn JavaScript myself. Our first hire will probably be someone very strong on UI and web technology, though I'm getting pretty comfortable with it lately.

My previous company frequently outsourced, but never to China. I regularly hired my current co-founder (an Australian), and I worked with folks in Germany, Romania, Pakistan, Ukraine, Tunisia, and the US. Some experiences were positive, others were very negative. I wouldn't suggest outsourcing without some solid in-house expertise to judge the resulting code. I had a lot of trouble with really bad security practices in many outsourced projects. If I weren't a developer myself, I would have merely have had to trust that since it looked like it was working it actually was--when in the case of a couple of projects all of the "login" work was being done client-side. I even had a Firefox toolbar project come back with SQL being generated on the untrusted, unauthenticated, client-side in JavaScript (inserts, deletes, the whole shebang).

In short, if you aren't a developer, or don't have one on board, outsourcing is potentially rife with pain. That said, Digg and MySpace were developed by outsourced labor, and Mark Fletcher is a big fan of Elance. I dunno that any Chinese developers were involved, though.

Presumably, a YCombinator start-up is one where writing good code is the core competency, and a major competitive advantage.

You don't outsource your core competency.

Unless you're the semiconductor industry.
what do you mean?

making semiconductors is a ton of math, theory, and layout work. are you talking about actually using masks to do the doping?

he probably means outsourcing your design/foundry work to taiwan, then manufacturing the chips in china. management you keep over here. typical of a company like Marvell (not the comic company you nerds! :D)

also because semiconductor "startups" have higher capital costs than your typical software company.

Not that I know of. Outsourcing is for banks, not startups.
I just got back from a business development trip to China. China programmers are cheap. Their monthly salary is $1,000 for the top of their graduating class programmer. Their work ethic is impeccable. Unfortunately, their english is not. This is where Indian outsourcing shines, their english language skills and eventual ability to meet spec is 10-15 years ahead of the Chinese as a society.

Although there are some other incentives to outsourcing in China. I was told that in some major cities like Xian, the Chinese government is offering free office space and subsidizes the salary of each of your employees if an american startup or company decides to hire employees there. Xian has particularly good tech schools (they would be like the UW of China), but they have 50% white collar unemployment.

engineering school ranks: http://www.asu.edu/chinainitiatives/documents/unv_rank_eng.p...

(sorry can't find the link for the government program right now... that tip was given to me by a senior partner at a private equity firm... I'll try to find it guys. although, I would much rather recruit top grads from #1 universities than save a few thousand dollars a month by setting up operations in some average place with subsidies)

So I am definitely looking into China or India for my startup. But, I would not recommend going to China unless you or one of your co-founders speaks chinese. The major problems as other people have noted, are quality control and communication. Otherwise, your outsourcing has just about as much success as saying that you plan to move to Hawaii and live off the ocean by asking dolphins to fish and pick up sunken treasure for you.

I think a great startup idea would be to help American companies utilize idling chinese programmers by providing middle management, oversight, and translators (and job training + good pay for your Chinese employees).

I've met a couple guys our age in China (25-26) who have already sold their company for $20-30 million (US dollars) and walked away with $6-10 million. All they did was copy a popular idea in the US like Pandora or Last.FM, hire some cheapass programmers for $1k a month a pop, clone the idea completely, sell it to a larger company. These guys probably sat next to you in class at Berkeley or UCLA. I also know of a few US startups that already finished a Series A ($7 mil) and have a majority of employees outsourced to China. Solo founder.

more info if you guys want it

Moving to China is on my list of backup plans if I utterly fail in America. I met with one American working as a manager at a mid-sized software firm in Beijing and he said that he learned spoken Mandarin with one year of dedicated study at a language school and $10,000 paid his tuition and living expenses. Written Chinese, of course, will take longer. Do you think this is realistic?
I've done four years Japanese. 1-2 years Chinese + 3-4 months immersive Chinese at Beijing University. My chinese is way better than my japanese, so immersive study definitely works. Chinese is very hard because it works on tones. In English and Japanese, you can put the emphasis on the wrong syllables or speak in a monotone and still make sense. In chinese, not using proper inflections makes you say something else.

1 year will get you through every day life, but trying to communicate on a business level or even listen to the news on TV will be very difficult. It's possible to be fluent enough to do business in 2 years but you'll need to get a Chinese girlfriend. After 3-4 years you'll start to lose the "accent."

'also know of a few US startups that already finished a Series A ($7 mil) and have a majority of employees outsourced to China. Solo founder.'

I would be really interested to hear more about these, please share.

For one of the companies, founder is a really nice guy. It's a software startup. He's been working hard on his company for 6 years. Can't say much more.

But, I read below that you're doing a Rails idea.

It benefits you to outsource if you need a lot of C++ or Java work done cheaply. Examples of this would be if your idea requires multi-platform support or porting.

1) You're developing a game that would benefit from a wide array of desktop and hardware suppor (osx, windows, linux plus the different graphics cards and shaders languages and versions)

2) Or you needsoftware support for your new Dodgeball Cellphone app on a wide array of smartphones.

3) You need to port large existing codebase to another platform. Itunes from Mac to Windows.

4) You need a lot of artwork done to support conceptual artwork that you already have.

For a rails idea, since you're working at such a high level, you should be doing this work yourself or closely with another person that you have a good relationship with. It sounds more like you need a solid co-founder or you need to learn rails or django (it only takes a couple days to get started). Most of the time, we get stuck on little design decisions (what kind of validation should I do on my logins etc etc?). This is stuff you need to figure out yourself. It's hard to pay people to think for you.

Going to China pays big when you're looking for early stage employees or when you need to temporarily outsource a piece of your company (at 20% cost) that you see yourself replacing with a better solution later.

If you're prototyping ideas for YCombinator, and if you have a good idea, someone will join you as a partner.

This is Hacker news.

Get up and running quickly by using a more productive language, not by someone else writing your crown jewels.

The most recent place I did some work outsourced work to India, and got code like this:

    val = create_cat_res(create_res_val,ty,nm,pa,ow,tg,de,ic,f1,f2,f3,f4,f5,cty,oc,ors,rc,rr,c,r,u,d)
Oddly, I can't edit my own post... BUG?! In any case, note the final "c,r,u,d"... it wasn't intended but it made me laugh when I found it.
We're in China and hiring locally. Most of the people I see on the market know ASP or .NET or Java. Experienced LAMP developers are harder to get.

We hire smart people with the understanding that they won't necessarily have been trained to do what we need. We give them challenging work and train them in the skills we want over time. Then get them to teach and train each other. This makes it difficult to grow rapidly (work outstripping staff) and requires tech-savvy management. If you can't communicate with your staff it is harder.

China is also a lot of fun. If anyone is considering coming here and wondering about the language, I'd recommend ChinesePod.com.

It's a terrible idea. I was in a startup that opened a China office, for about what it cost to hire 2 quality engineers in the U.S. However, the China office produced nothing. Moreover, it sucked up a lot of management time, so managers weren't actually around to, well, manage.
you will spend more time managing them than if you do it yourself
It would be great if you can learn and do it on your own, with the close knit team you put together. But if that is out of question and your choices are either to do nothing and stay with your boring job or outsource, I would say you outsource at least to see if it flies. You would at least have first hand experience of outsourcing by the the end of it.

You may want to get a "virtual assistant" first to see how it goes. If you get burnt by that, you can cut your losses early. But chances are you will find a creative use for them that might give you a competitive edge.

Have you read "The 4-Hour Workweek"?

You're talking about outsourcing non-programmers. The guy who was asking was asking about outsourcing programmers.

I am wary of outsourcing. I've done some work on RentACoder ... most of the people there want cheap work done for crap. I've picked up some projects where I ended up fixing mistakes from other people's code. They were candidates for a DailyWTF submission. Some of these people were from overseas, and some were from right here in the US.

However, outsourcing non-intellectual-property stuff like the virtual assistant or a bookkeeper -- that sounds like a great idea. You don't really want to be messing with non-code-related details while coding.

I was suggesting outsourcing non-critical functions first, to get a feel of it.
What about outsourcing graphic design?

I can code everything my startup needs, but we don't have a good graphic designer. I suspect that we could go a long way with a few mockups from a great designer.

Of course, good designers tend to be expensive, and I suspect hiring a really good one would blow through a good chunk of my savings :[

Do not forget that, especially in the startup's case, graphic is a continous process; the design is constantly improved, new usability problems are found every day etc.
I would like to know if any of the ycombinator startups have outsourced code to China? I have an idea and would like to apply for the next round of funding but have limited coding experience. Is outsourcing some coding to China or similar an option or are there major issues with this approach?
http://news.ycombinator.com/item?id=46024

It could work if your idea is good enough and simple enough, but it's rather unlikely. You need to create very, very specific documentation to get good results from outsourced Asian/Eastern European programmers. You also have almost no chance of getting funding from Y Combinator if you are not a hacker and have no hackers on your team.

The site consensus answer to your dilemna is to learn how to hack. Ruby or Python are the languages of choice here. Ruby has this nice learning IDE available, if you feel like playng around right now. http://hacketyhack.net/

Major issues.
I think it's doable if you're a smart coder and can find an equally really smart coder in China, India, etc. that's on the same page. Easier said than done of course. But if you can communicate well with the individual, make use of various tools, and can develop a long-term one-on-one relationship you should be able to save some time and money. Win-win for both of you.

There's some significant upfront investment though, just like hiring any key employee, and you can't hire someone the day after you realize you need the extra hands. Really doesn't work like that. Think long-term. Think partnership.

It's whole new challenge apart from your typical day job. Interesting one though.

Thanks for the comments, I am busy with Agile Web Development with Rails. I was just wondering if it had been done as I have experience writing use cases and functional specs. Thought it could be a way of expediting things if there are only two coders but I understand the issues presented here.
What kind of startup can succeed by that strategy?

If you prefer, what must be true about coding for that strategy to work? How do you know that programming for your startup qualifies? (If you don't know anything about programming ....)

I wish I could outsource this thread...
Outsourcing has its merit, but the risk is high too.
try the Philppines. Most BPOs are going there and they speak American English (since it used to be a former American colony).