Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The subtleties in outsourcing using RentACoder (cubeofm.com)
156 points by epi0Bauqu on March 13, 2010 | hide | past | favorite | 55 comments


I've had experience using online sites to source jobs, and I think this advice is right on.

Here are some summary points, generalized away from rent-a-coder:

* don't hire Americans to do commodity work (i.e. PHP CRUD)

* be clear but not ominous in your job description, and include visual mocks if at all possible

* don't try and be secretive - no one wants your dumb idea anyways

* make sure someone has a decent reputation on the site you use

* keep track of the progress of the product and keep in touch with the coder, but don't be overbearing

* be somewhat flexible with the deliverable - aim for perfect but accept done

* test the code thoroughly and request fixes in one shot, but don't conflate new features with bug fixes or no one will be happy

The only points I would modify are:

* Job requests can include bullets, but don't be overly fine-grained.

* You can in fact build relationships with outsourcers via rent-a-coder (MTurk, 99Designs, etc), and you should - this will lead to much better long-term work. A good way to get this started is an unexpected bonus.

* Don't ever screw someone on work. This is just karmically bad. They live in Eastern Europe and are poor. You live in America and are rich. I think the best way is to give someone a piece of work (5-10 hours worth), ask them for a bill, and proceed from there. If the work sucks or is over-billed, you pay and move on. Otherwise, you can give them more work.


don't hire Americans to do commodity work (i.e. PHP CRUD)

This is why Americans are saying they are from overseas to get the jobs. If the price is the same, what does it matter where they are from? Speaking a common primary language and being in the same time zone has value.

When I offshore work, I send an email and have to wait until the next day to get a response. When the worker is in my timezone and I get quick responses, the project success rate improves.

I agree with the other points and have been on both sides of the payer/worker transaction.


If the prices are the same, the American probably isn't as skilled/experienced.


have you hired anyone from overseas? have you hired an American for overseas wages?

I've done both, and the amount of money a person can charge has a lot less to do with skill and experience than you think. Several people who worked for me for sustenance wages now make more money than I do because other people noticed that they are pretty good.

Selling yourself is a skill, and it has very little overlap with the skills required to be a good Engineer.


Amen to this comment. I have three engineers who I'm personally awed by. One of them was a graduate student at my university, two of them work for my current employer. You could hire all three for the cost of one definitionally average engineering employee at Google or MS. All three are well-educated, well-credentialed, experienced engineers from two nations that virtually define Rich First World Country.

I'd be honestly embarrassed to tell you what I make at the day job. When I told my bosses I was quitting to pursue other opportunities, they tried to convince me to stay, and the insanity that is salary negotiation reared its ugly head: the value of my labor has increased by easily a factor of ten in the last three years, the best offer they could possibly give was +N%. This follows standard economy-wide employment practices where we pretend that almost everyone (with the exception of salesmen, finance professionals, and very few other white-collar jobs) is an 18th century water loom operator and pay them in, essentially, the same matter as we paid 18th century water loom operators.

I think one of the major Big Ideas of this century is that the economy is being dragged kicking and screaming to where salaries converge closer to actual value faster, rather than being tangentially sorta-kinda arranged in rough proportion to expected value. That's exhilarating and terrifying at the same time.


I was going to become a headhunter or a body shop precisely because I believed that I was significantly better than the market at picking good but cheap people. But then I realised that the headhunter/recruiter job was more about selling (selling your services to the company, that is.) than it was about getting good people. Once they have the contract with the company, any warm body, it seems, will do. Large companies are heavily invested into this 'water loom' model.

The problem with the 'end run' of just starting your own company is that you then end up with embedded systems engineers doing things like web applications, because it's easy to do the web application as an independent, while it's harder to properly utilize that Engineer's talent without a large corporate team.


That sounds like the very definition of gaining experience to me. :)

I'm sure there are exceptions, but on aggregate I'd be shocked if you can find Americans to build something for you as, say, equivalently skilled Romanians. There are millions of reasons you'd elect to pay more for the Americans, but the localized standards of living at a given rate are going to keep Romanians cheaper at the equivalent skill levels.

That said, it sounds like you have more experience with this than I do, so this may be that one time in 2010 I'm simply wrong. ;)


In an efficient, transparent labour market where a person's productivity was obvious to buyers, I would expect you would be right.

Personally, I believe the market is so opaque; the water so turbid that the cost of living difference is almost noise compared to the value I can get by finding good people who other companies don't notice.

I think the thing is that nearly everyone trains to send false signals in this market. It's extremely difficult to measure a persons ability at an interview. (hell, it's no cakewalk to measure a persons ability at all, but I have a hard time imagining a worse way to evaluate non-sales candidates than an interview.)

I'm spending a lot more effort finding the person than most companies do, and that's a lot easier for me to do in America. Almost everyone I've hired that worked out well was a friend or a friend of a friend. I've tried many foreigners; the only one that was really good was someone who I knew personally (she worked with me in the US at my dayjob, then worked for me remotely after she went back home.)

I don't think this is due to a dearth of good people overseas; I believe this is just because the hard part is figuring out who is good and who is not, and really without working with someone for a while, that's an extremely difficult thing to do.


As for experience, yeah, these people were more valuable after working for me than before; but at least some of these people had decent paying jobs before, then lost them in the downturn, lost hope, and ended up doing menial jobs.

One was the classic example; this guy happened to be my roommate at one point. He was obviously brilliant, but he practically radiated self-doubt. He had this slouch that took a few inches of his height and make him look a little like he thought you were going to hit him.

But he was obviously brilliant, and had worked as a C/C++ programmer for a while, he even had some open-source code out there. But he lost his job during the .com crash and had been subsisting since on savings, menial jobs and an occasional elance-type gig.

oh man, and his lack of confidence absolutely killed him there. He had this one client who'd call him up for hours every night and kept adding features and changing requirements. He said he made $2/hr on the gig when he said he was quitting. At that point I think he was into me some for rent, so I offered to hire him at $40/hr. I called up his customer and explained that I'd get the work done for $60/hr, but he couldn't talk to my friend, and that he'd be paying for phone, time, too (I was, well, quite a bit younger at the time. 22? 23? and thought $60/hr was a fine wage for yelling at/getting yelled at by some asshole. I was just figuring out the whole 'if you are arrogant and aggressive, people give you what you want' thing.) The job got done, and everyone got paid, and my ego got stroked. (I mean, yeah, the wages were not awesome, but eh, when you are that age, it's certainly a living wage)

Really, once you got down to coding, my friend's apparent self-doubt evaporated like it was just an illusion. "I don't write segmentation faults" he insisted. But he did really badly in interviews. But my point was that he was really good before he worked for me; but that fact was obscured by the year or two of downtime after the .com crash. My friend eventually got noticed by a real recruiter, and got a full-time job shortly thereafter. he currently works for some compiler company or something making rather a lot more money than I do. (more than I was making when I left my full-time job... my current business pays me, ah, mostly in equity.)

obviously, one anecdote does not equal statistical significance; I'm just saying, I've seen people with experience fall behind in the 'interview arms race' and end up underemployed, to the detriment of their potential employers. Because it is so hard to sort the really good people from the mediocre or the useless, there is huge value that can be had correcting the market's mistakes.


After reading this, I'm pretty sure we generally agree but I didn't really say much in my first comment. Anything approaching full time work is really going to work differently than Rent-A-Coder style projects. I would expect the costs for my mythical Romanians to approach the costs of an American like your roommate, though their actual hourly rate might be cheaper.

I will try to be more explicit next time I make a throwaway one-line comment.


You should try outsourcing to Latin America then, responses in realtime during office hours.


I've worked with some from Mexico and Argentina. Both are good places to look, so yes, that's a good alternative to distant time zones.


"They live in Eastern Europe and are poor. You live in America and are rich."

OK. I know it wasn't supposed to be anything like that, but this sentence sounds really bad. I actually got the idea that the coding business of any sort can get you in a pretty good position, financially. One of the reasons is the fact that you are not dependent solely on your local market. And there's also the lower cost of living.


I should say "relatively rich." It's true some people in Eastern Europe are wealthy, but their wealthy is the equivalent of our middle class, so it's a different scale. And also, the people getting their start on rent-a-coder aren't the rich ones.

I wrote this because of something I saw. A friend of mine has a popular iPhone app, and he was pressuring some overseas consultant to lower the final price for some work because he wasn't happy with the result.

I don't think you should be leaning on your workers after the fact - it's up to you to ensure you hire quality worker, and pay them bit-wise so you are both happy.


No - "people in Eastern Europe" aren't wealthy or not in any way that can be approximated to a whole region. "Middle class" is not comparable. It's just a different market. You earn more money and spend more money, but on average it's the same proportion. There are some differences because of country-specific issues - gas prices are completely different for example.

Talking about "people in Eastern Europe" is just silly... Which country? Estonia is different to Ukraine, which is different to Romania, which is ... Talking about "people in Eastern Europe" is like putting Mexicans and Canadians in a "people in North America" bag (and trying to get some meaningful economic average out of it)

Why does this depend on a country: "he was pressuring some overseas consultant to lower the final price for some work because he wasn't happy with the result". If the result was not right according to the specification, then why not lower the price? If the result was correct, then changing the price is not right. But what does the country have to do with that?


> You earn more money and spend more money, but on average it's the same proportion.

Proportions of spending are not a good comparison of wealth between countries, only within them. People tend to live approximately at what they can afford, perhaps borrow or save a bit. Most people will spend 30-50% on housing and 10-30% on food, just because they will adjust their tastes to their means.

What you can afford with the X% however differs greatly between countries.

In most of Eastern Europe, spending 30% of your income on housing will get you a 30-year loan for a 600 sq. foot apartment in a "soviet projects" style high-rise apartment block. Only middle class can afford a car, and only the upper middle class or wealthy have more than one car per family and a house in the suburbia. It is common for three generations to live together to save on housing and childcare.

Also, while the prices of services are adjusted to the local labor rates, import goods are not. A new laptop is a significant purchase - similar to how you buy a car in the US.


1. People in Eastern Europe can be easily quantified by per capita income. And just because a dollar there goes further, it doesn't mean they have more dollars or can afford the things Americans can.

2. Estonia and the Ukraine are much more similar to each other than any Eastern bloc country is to the US. And I wouldn't lump Canada and Mexico together for discussion, but I would surely lump Mexico in with Central/South America and talk about them.

3. In America, you can agree to a well-defined contract and enforce it in court. Sometimes a buyer shouldn't pay for work completed. If you are dealing with a foreign contractor, neither party has legal protections, the buyer has a lot of leverage and more money, and as such should treat the contractor extremely fairly.


I don't think I can agree with that.

The difference between Northern Michigan and Southern California or New York is substantially larger than the difference between Poland and Romania or Ukraine.

The biggest difference between those countries and the US can be summed up in one word: market.

They simply have a very limited local market for these skills, but plenty of people there have some skills and are prepared to work very hard to get more. Their cost of living can - at least in the former eastblock - easily approach the cost of living in the US. Plenty of ex eastblock countries are now using the Euro, either for their day-to-day transactions or already for their debt, even though they still have a national currency (because the Euro is more stable, banks like to borrow money in Euros to individuals that get paid in a local currency, very risky but many banks got burned badly during hyperinflation at the end of the 80's).

We agree on the contract bit, I think.

The contract situation is something that is not so important when using systems like rent-a-coder, you're not going to use it to write the gut of an ATM or a mission critical piece of software for a financial institution or a health care provider.

Rent-a-coder is primarily intended for relatively short running simple projects that you want to get done on a minimal budget.

The whole idea of relying on such cheap labour for something that you put a very high value on (high enough to go to court over) is counter to the intended purpose of the service.


The difference between Northern Michigan and Southern California or New York is substantially larger than the difference between Poland and Romania or Ukraine.

We can go into an endless rabbit hole about which difference is bigger, on which parameters. Northern Michigan and Southern California operate on a substantially similar and similarly enforced set of laws. This is not the case for Poland, Romania or Ukraine.


As to (1): I looked at http://www.wolframalpha.com/input/?i=income+per+capita+in+ea... and noted that the highest income per capita is 12.64 times larger than the lowest. I'm not sure how that "quantifies" anything.

And before you say that the highest number, $21,000 is meaningful in anyway, let me just add that I've paid programmers $65,000 a year (in Poland).

Please, people, stop generalizing. "Eastern Europe" is just as silly as EMEA, "SouthEast Asia" or "North America".


Re. 1: it's not something people who never move from the country really experience. If I spend 10% of my salary on food and you do the same, who cares how much we earn? Of course it matters in some global sense and affects the prices of quality goods like electronics which are imported - but in a day-to-day life, I don't think it really matters.

Re. 2: Good luck telling people in Estonia and Ukraine that they're similar in any way ;) "Eastern block" was not a one big lump of states by people's choice and did not break without a reason.

Re. 3: What really bothers me in the previous post is something completely different than you say here. Of course - you can double check to be sure you're right before blaming foreign contractor for the quality of work - because of the lack of legal protection. But if your requirements are not fulfilled - why does it matter if the work was done in US or somewhere else? Your friend wasn't happy with the result. When you say you shouldn't be "pressuring some overseas consultant" in a post about EE countries and income, it seems to me a bit condescending...


* You can in fact build relationships with outsourcers via rent-a-coder (MTurk, 99Designs, etc), and you should - this will lead to much better long-term work. A good way to get this started is an unexpected bonus.*

We found a good developer on RaC, and now they do part-time dev work for us and we haven't gone through/used RaC with them for at least a year.


There is no such thing as "Eastern Europe". That's a silly cliche back from the iron curtain era. Stop using it, as it doesn't make sense in any way. Not economically, not politically, not even geographically.

The rest of the advice is pretty good, though.


... then why are businesses in Western Europe outsourcing to Ukraine, Romania and Estonia? There's still a divide.


You think there's no difference between Western and Eastern Europe? Really? You insult both regions, and your pomposity is making me a little nauseated.


There IS difference between Western and Eastern Europe. But Eastern is too complicated to be seen as a single region. Some countries (Slovenia) are quite rich, even more rich than some Western countries. While some other countries are doing quite bad (Latvia) and there're many countries in between.

As of culture, South-Eastern Europe is very different from North-Eastern Europe. And Mid-Eastern Europe is totally different thing as well. Some are slavs, some aren't, some has more relations w/ russia, some w/ italy or germany. It varies from country to country A LOT.


Extremely well-written, concise-but-detailed, no-bullshit guide to a process that I have shied away from because it seemed to involve a lot of mysterious complexities.

The author's recommendations provide extremely reasonable advice to follow in any project management endeavor. He emphasizes an assertive but respectful approach, taking the needs of both sides of the project into consideration and outlines a wide range of practical details that you could only know about from having a high degree of first-hand familiarity with this service.

I'm saving this and hope to draw on it soon, now that it doesn't seem quite so daunting. Thanks for posting.


Interesting article. Some inaccuracies: - "Rentacoder does not have skilled developers from western countries. What it has are freelancers from countries like Romania, India, Pakistan and Russia."

Nope. It has developers from all over(I live in Lebanon). Freelance programmers are simply programmers that don't work exclusively for one client. I am guessing you don't mean this in a bad way...

- "The availability of particular skills is very limited."

I started my freelance career on RAC 4 years ago. 6 months into it, i was taking on bigger projects using some of the technologies you mentioned(I'm a python guy but also do C# and Java...). Roughly 8 months into it, i was working with start ups and people were contacting me directly even though my rates are not the cheapest.

I no longer look for gigs on RAC, but its certainly a viable lively hood if you're picky with the projects you take on. The trick is to always be honest and decent, the way you should behave in real life.

I also found it funny that some Indian companies started outsourcing projects to me.


I'm from Latin America, and just recently I started using sites like RentACoder/oDesk/Elance. I've found that it is extremely hard for me to get jobs on these sites, especially since I'm not a webdesigner (I'm a C/C++/Python/Java guy). What tips and strategies do you recommend that increase the likelihood of being selected for a job?


A friend of mine needs a small project done (videocompression and storage with a webbased frontend) and has asked me where to get it done. I referred him to rentacoder and elance, but I'd much rather refer him to someone from HN. If you're interested (or if anyone else is for that matter) you can send me a mail and I'll get you in touch with the guy. My mail is max (at) maximise.dk


You're right that gigs asking for your kind of skills are not as common as ones asking for php development or web design, but those don't pay very well either. Its a supply and demand thing.

The only strategy that I used was to show that i know what I'm talking about in my replies. So don't just say "Yeah, I can do that" or something similar. Ask questions, tell them why what they're asking for is easy or hard or how it will work. Even if they were non-technical folk, just make sure you can get the message across.

Again, just how you would behave in real life.

(If you're just starting out, take one or two jobs at a reasonably low rate to get the ratings before you ask for your desired rate. Its a compromise, but it will get you there.)


That's what I mean - anyone with any sort of skills in multiple languages very quickly 'graduates' from rentacoder, or picks only very well paying projects, because they can, or focuses on just a few clients that they have prior relationships with.

So a buyer coming in with a new request won't have this person available to him, and should he find a person, he will also try to monopolise the persons time, taking him out of the market.


True, but what you said also applies to freelancers not working through RAC or similar websites.

After a year or two of freelancing and if you're good, you'd pretty much get to choose the projects you work on. I usually go with the projects that are interesting to me(research projects from my local university) or that come from good clients or friends.


This is my favorite genre of HN post: news you can use backed by real experience. I don't necessarily agree with all of the advice but a few bits in there are eyeopening for me. (For example, I had never known that the newsletter was a key channel for getting your project seen. That's the sort of non-obvious insight that is worth its weight in gold.)

Thanks Max.


Well, not just newsletters. I still subscribe to the RAC RSS feed even though I haven't done any RAC work for quite a while. It was easier to just skim the headlines in my reader and tag the ones i replied to for later reference.

It has nothing to do with the newsletter. But setting too low a price gives the message that you're not serious about the work or are just trying to find someone to take advantage of(and you will if that's what you're looking for).


What a super article. It is actually really good reading too for anybody that manages programmers and/or designers, outside the context of rent-a-coder.

Things like scope creep and how to return beta reviews are really spelled out well.


Suppose I have a real company, and I want to expense or capitalize this. Does anyone have experience with IRS rules on this? What if the guy is in the U.S.? Do I have to send a 1099 to every coder I rent in this fashion to protect myself and my company?


IIRC, RentACoder sent me a 1099 that covered all the payments they made to me for the year I bid on a few projects. I had already accounted for the income, so it didn;t really change anything.


I used oDesk and found that because it is a corporation, I don't need to send them a 1099. And, because all the people work for you through the company, you don't have to do anything special.


thanks


"For C++ and more complex projects, you can pick from the U.S and Europe." – I never thought programming languages where area-dependent.


People feel more comfortable giving out simple work in something like PHP to cheaper countries which in some cases can come back to bite you with more complex stuff as a decent size C++ project can be.


What size project would you typically get done for the $450-$550 mentioned?

I'm intrigued that this might be a way to get some small projects done I've been putting off done (like a simple shopping cart app with a few specific functions, that I just can't get interested in.)


For $250 you could get your shopping cart app done. Think of about $200 - $400 for a weeks work (fulltime) by a competent programmer. Then estimate how long it will take him and put that price.


Wow, $200 a week for 40 hours. That works out to $5 an hour. Is that a livable wage even in Eastern Europe?

I think I need to find another trade.


For some countries it is enough. For example, the minimum wage in Romania is $180 and in Bulgaria it is $170.

If you work 8 hours per day, 5 days peer week, and 4 weeks per month, then you can make $5 * 8 * 5 * 4 = $800 per month. This is 4 times the minimum wage in Romania and Bulgaria -- it is more than enough.


I highly doubt it is.

$200 a week can definitely get you a shopping cart. But so can $10. And I am not sure how well it will work.

Usually for that kind of money you'd get someone customizing or re-branding an off-the-shelf open source one or some programmer trying his hand out at writing it from scratch. Use of open source components is fine and probably the way to go but its not ethical if you don't tell your client that you're doing so otherwise use a framework.

I'd say something like $500 should get you a shopping cart with the regular functionality. Probably $200 for customizing an existing off-the-shelf one.

Of course these are just my opinions and experience, so they might be completely off target.


You get what you pay for, just in terms of what the freelancer perceives to be decent money. Paying someone from a cheaper country $5 an hour will probably give the same kind of hacky late rush job that giving someone local $10 an hour.


This is great stuff and worth referring back to when you initiate a project.

My experiences as a hiring manager have been from having a dude stiff me for $800 of work, to hiring a full-time developer I found on rentacoder that became a personal friend.


Can anyone comment on which site is best? I recognize this might lead to more traffic on your site, but it would help to understand why one would use rentacoder over getafreelancer...


wow, this is really interesting to hear; See, I thought that nearly all work on these type sites (my experience has been with e-lance, many years ago) had mechanisms for paying people through the site, but from what I saw, only the first transaction was done that way. After that, the contractor and contractee worked directly, so it's interesting to read that some people found enough value in the structure provided by the site to continue using it after meeting a person.


Well, some people just use it for payment later on if they don't want the hassle of wire transfers and such.

For RAC, they used to charge 10% of the transaction value so it could build up. My experience was that most people contacted me off site after our first project but sometimes still used RAC for payment because it was easier for them(I can't use paypal). Although they were nice enough to take on the 10% charge.


Does anyone know of RentACoder style sites for signal processing?


You can always try and post that on RAC and see if anyone bites, but i think you'd find more people who work on that on dedicated forums or groups.


After some experience outsourcing through RAC, I've concluded that paying more for local developers and designers who buy into and understand your product and business model, speak the same language, and share your culture, is often worth it.

Unless your product is extremely straightforward and doesn't need to be flexible in the future, there is a huge hidden cost when your developers aren't on the same page. In my experience, the result is far from "agile."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: