Web Development · Outsourcing

How do I know I won’t get ripped off hiring an outsourced software developer?


May 23rd, 2015

I’ve heard horror stories about hiring the wrong software dev from an outsourcing company in foreign countries. These fraudulent companies are good at making you feel secure, but then rip you off when you least expect it by producing half-baked projects, or nothing at all. What are the signs of a GOOD and reputable outsourcing company for software development? What red flags might indicate a less-than-honest company?

Michael Brill Technology startup exec focused on AI-driven products

May 23rd, 2015

I'm more and more sensitive to this claim that miscreants in "foreign countries" are incompetent and dishonest. If the project fails, it's a 1% chance someone ripped you off. It's a 99% chance that you don't know how to manage a software development project. I have probably done 25-30 projects using talent from Eastern Europe and Asia. I've had $1,000 projects fail and $250,000 projects fail. In all cases, I assume the responsibility for not having requirements clear enough, not managing the process close enough or simply choosing the wrong type of developer.

If you can afford to hire locally and can find the resources, then do that. Otherwise:

1. Find a local technical resource that you trust and have them help you through the process. Even if they can give you 4 hours/week... that'll dramatically increase the probability of success. Without this, your odds of success go down dramatically.
2. Know that the less money you spend, the more management you'll need to provide. This is not always a bad thing. I vastly prefer working directly with individuals and 2-3 person shops than large firms who have multiple layers of management with lots of opportunity for miscommunication and unnecessary overhead.
3. Start with a small project. You can learn a ton about a contractor in a week. See how you communicate and how the project is delivered. If things go slightly squishy that first week, then move on.
4. Dictate the technology stack if you can. Then you can filter by those that have the right skills and reduce the chance you're left with some antiquated stack.
5. Have lots and lots of milestones/deliverables. Projects with one or two deliverables always end poorly.
6. Talk every day. Build rapport. You get better quality work from people who like you.
7. Make sure everything's checked into Github regularly

To mitigate risk if you're on Elance et al, is just work with companies that have > 4.8 stars and at least a dozen projects. They can still fail if you don't manage the process well, but at least you have basic understanding of their capabilities. These services provide escrow and you can even claw back payments in some cases.

Your real risk is wasting your time. Competence can be an issue, but nobody is out to rip you off.


Aziz Vasi Founder, E-Scapes IT Solutions

May 26th, 2015

With all respect to all those you have put their precious time and effort in writing replies to Hillary. This is an unfortunate finding I have to share with you. 

Firstly I couldn't find a solid profile for Hillary Slay on Linkedin. It seems to be a newly made one with hardly any connections.

Secondly the picture of Hillary is taken from a stock image off the internet. You can use google image search reversal tool and it will show you the same image. This is just an effort by content generators to increase engagement to the site. 

Gabriel Magana-Gonzalez Highly experienced CTO/Engineer/Software Architect

May 23rd, 2015

This is a huge question, so I'll try to summarize:

First of all, you should really check references. Do not give much weight to non-technical references. give a lot of weight to tech people who have used the outsourcer and many months later the client still is building on top of the original source code. This is ideally what you want delivered.

Aside from that, it's 100% about oversight. You should have constant oversight of the project being done by a tech person on your side. If you do not have a tech person on your side, find one. There are SO many things to check for that a non-tech cannot check for: Code quality; code correctness (is it solving the right problem?), Scalability problems (it works for 10 users, does it work for 10,000? 100,000?), and measuring progress (is the code actually written, or are they taking shortcuts in order to save time?).

Assuming you are a non-tech person, it is extremely easy to lie to you because there is no way you can check all of these things from looking at the source code carefully, no matter how attentive you are to detail it's just too easy to fool you.

As to red flags: 1) Too quick an implementation (go to your tech person for what "too quick" means for your project; 2) Too-cheap implementation; 3) They insist on implementing things using their "standard" or usual technologies and libraries. These people basically want to take other projects they've completed, replace the part where your project differs, and deliver something earlier but in a way that most probably will not scale or be set up to grow as you will need it to; 4) They do not want to update you frequently on progress, they want to send you progress reports every month (Aim for daily); 5) They do not want to send you source code, or they do not want to use your repository for source code; 6) You cannot speak directly to the programmers on the project (I'd be afraid of what they are hiding by not letting you communicate with the programmers); 7+) OMG, there are so many more!

So I would get a good, experienced tech guy on your side (an adviser if not a CTO). You MAY be able to hire a second consultant to do this analysis for you, but I would not advise going with a consultant on this unless you have extraordinary reason to trust the consultant. This oversight should be someone who has a vested interest in your success. This cannot be done by someone who does not care.

This reply does not do justice to the question, but in my opinion it's the most important stuff you need to know. Outsourcing product development is something I've seen done successfully before, but I've never seen it work well without a strong tech person who is on the client side and scrutinizes the deliverable as it's being implemented.

Spokey Wheeler Director at Zinaida Ltd

May 23rd, 2015

Wow, David, that's a depressing tale. 

In truth, I think that doing a big project through something like Freelancer or Elance is an extremely risky approach anyway. I certainly wouldn't advocate it, although you may get lucky.

In my opinion, something like the technical heart of your business probably shouldn't be outsourced unless you already have a strong and proven relationship with your outsourcer.

Logan Kleier

May 23rd, 2015

I've worked with great developers in other countries and some that are not so responsive. The same applies for developers in the U.S..

I recommend that if you're really concerned about quality, divided your project into smaller deliverables and ask the company to complete that small piece of work. You can then assess cost, quality and timeliness without putting too much on the line. 

Checking references is also a must.

Lauren Musto MBA Candidate at the UCLA Anderson School of Management

May 27th, 2015

David Schwartz even if the topic is legitimate, the act of making a fake profile and posing as an entrepreneur for the sake of creating content is deceptive and breeds a lack of trust in the FD community. Personally, writing a thoughtful response to help another entrepreneur move forward on a project is a worthwhile reason to engage; creating random content for the sake of driving traffic to FD is not at the top of my list. Oh, and now that we know this is not a real entrepreneur, I think it's worth stating that the question itself was not only ignorant but also off-color. It's sad to think that they would risk being offensive just to stir the pot. FD: please keep this in mind and let's stick to real conversation going forward.

Steve Owens Startup Expert

July 21st, 2017

- Stick with established companies that have been in biz for years.

- Call their references.

- Make sure their customers look like you.

- Jointly work with them to generate the requirements document

- Insist that the software design is explained to you and makes sense

Doug Barre Co-Owner/Partner GeeksForLess

May 23rd, 2015

Myself and partners own GeeksForLess with a two building 65,000 sq ft campus in Nikolaev Ukraine employing 700 engineers and support 30+ North American companies all abel to be referenced so hard to agree with original post. 

Gopi Mattel General Partner. Lifeboat Ventures

May 23rd, 2015

Really no company whether local or out-sourced can sustain themselves by 'ripping off' customers. I am going to assume that OP at a minimum does reference checks. If the reference checks are valid, then I would presume at least in those cases the customers were not 'ripped off'. I agree with @michael brill that the customer should take equal responsibility in doing a successful project and not just blame the vendor.

One simple way to solve this problem is by doing all your work through Odesk, Elance, peopleperhour, etc. These act as mediators and assess the reputations of the service providers. Any company with a decent ranking should protect you even more than if you were to directly engage a local company to do the work.

Spokey Wheeler Director at Zinaida Ltd

May 23rd, 2015

My day job is to represent Eastern European outsourcing and I can assure you that there aren't really any things that you can reliably identify a good software vendor from a bad one. 

As Michael says above, it's often a case that you haven't got the ground rules properly resolved. If you're just doing a one-off project, it can difficult for you to justify the effort required to manage it properly. 

A little due diligence can go a long way, check out their previous work, get references from previous customers and so on. If they can't point to those then that doesn't mean they're useless, but from a risk perspective it's probably better to walk away.

If you're not already happy to shoulder the project management burden, then it might be worth looking at a different engagement model.