Big News: FounderDating is joining OneVest to build the largest community for entrepreneurs. Details here
Latest Notifications
You have no recent recommendations.
Name
Title
 
MiniBio
FOLLOW
Title
 Followers
FOLLOW TOPIC

Question goes here

1,300 Followers

  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur

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

X

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?


66 Replies

Frank Corsi
0
5
Frank Corsi Advisor
Applications Developer at AT&T
It may be better to negotiate a deal with a local company that you can have effective court action if something goes wrong.
Daniel Farmer
0
3
Daniel Farmer Entrepreneur
Vice-President Sales & Operations at Baldgorilla
I would say that local is always good for multiple reasons. One the time difference. We work with companies in Silicon Valley and we are on the east coast, when we have to work with eastern Europe or others that becomes a nightmare with their time difference. Some will work night shifts to accommodate but not all.

I also had some of my clients do work overseas and came back with poor or unfinished product that we had to recode or fix to get the final product out. Now this is my personal experience and I can't generalize.

I would look at what they have done and the type of projects they can produce. Then have a first meeting just to see if there is chemistry since you will be working closely together.

In the end there must be trust on both sides and that's true for any relationship.

Feel free to contact me if you have more specific needs as this is what we do.

Good luck!
Michael Brill
42
3
Michael Brill Entrepreneur
Technology startup exec focused on AI-driven products
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.

...Michael







Doug Barre
3
1
Doug Barre Entrepreneur
Co-Owner/Partner GeeksForLess
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.

Gabriel Magaña Gonzalez
9
1
Systems Architect
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.
David Schwartz
5
1
David Schwartz Entrepreneur • Advisor
Multi-Platform (Desktop+Mobile) Rapid Prototyping + Dev, Tool Dev
Culture differences are a huge problem when outsourcing work. Unless you're an experienced software person who can write detailed specs of your software requirements, or unless you hire someone locally to do it, you're pretty much setting yourself up for failure when outsourcing to off-shore dev teams, IMHO. It has nothing to do with "red flags" you can look for.

Software development is like herding cats. You need everybody on the same page, and the way you do that is either by having really detailed specs, having a strong leader there who can answer every stinking question that comes up, or being there in person. You can try Agile methods with daily stand-ups and 2-3 week sprints, but I haven't heard that approach helps much.

Part of the cultural issue is that in some countries, like India and Pakistan, is that people are brought up to not question people in authority. So if there's something that isn't clear in a spec or directions they're given, they'll think about it then make up their own mind without discussing it with anybody in charge of anything. It's just what they do. It's like how people in the Philippines always call you "sir" or "maam" -- it's unnerving to me, but it's just how they are.

I've worked in lots of projects that hire lots of Asians (from India, Pakistan, China, Singapore, etc.) and one thing I've observed very consistently is that during department-wide project meetings, these people will sit there silently and never, ever, ask any questions, and rarely comment on anything. Even when asked for direct feedback, they always agree with whatever the speaker is saying. This totally baffles me, because one-on-one outside the meeting they can be extremely vocal with their dissatisfaction about things on the project.

I've come to the conclusion that a big reason for this is most of them are here on H-1B visas and they're kind of stuck as slaves until their green cards are issued. If they lose their jobs and cannot find more work within 30-60 days, they'll frequently get sent home. The contracting companies they work for tell them they'll guarantee them "bench time" between gigs, but in reality these places don't keep anybody on the bench for more than 2 months -- they'll cut them loose if they cannot place them within that time-frame.

But I cannot explain why it is that this same kind of attitude seems prevelant even when they're working in their home countries. There can be problems that they see and they simply won't speak up. So the project can slowly slide down the toilet, everybody on the dev team knows it, yet nobody talks about it until the shit hits the fan and you threaten to cut them ALL loose. THEN they start to make suggestions, but at that point it's usually way too late because there's too much re-work needed.

When it comes to software development, you need to hold an attitude like, "fail fast, fail often". And don't cover it up, but plow on through it. Too many developers are afraid to discuss questions for fear of looking less skilled than they pretend to be (which, in fact, an awful lot of them are!).

If you're outsourcing a software project, you damn well better be a pretty good project manager and know how to deal with software dev teams! If you're not, then hire one locally. Do NOT expect to succeed by handing some vague specs to some guy in India who's promised to deliver on-time and under-budget from his team of exceptional programmers. He's just another used-car salesman trying to bring in work for his scrappy team of programmers, many of whom are probably learning on the job.
Gopi Mattel
5
0
Gopi Mattel Advisor
Director, Chennai Area at The Founder Institute
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
2
0
Spokey Wheeler Entrepreneur • Advisor
Director at Zinaida Ltd
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.

David Schwartz
3
5
David Schwartz Entrepreneur • Advisor
Multi-Platform (Desktop+Mobile) Rapid Prototyping + Dev, Tool Dev
BTW, I decided to outsource something last August just for the experience of it. I wrote something up and went to one of the job sites and posted the offer. I clearly stated it was about 2-days of work for someone with experience on the things I was looking for, and a week if not. I still got quotes ranging from 2 weeks to 90 days, and amounts ranging from $350 to $15,000. The first guy I picked swore he had the necessary experience, and it took two months for him to finally admit he had no clue what I needed done.

The second guy I told I wanted to see something within a week; he turned the project into a massive research project and had nothing after a week other than questions about why I wanted what I wanted. A week later, he started arguing with me about everything, then started accusing me of giving him "busy-work" simply to test his skills. After demanding that I explain "the bigger picture" and my refusing, he refused to do what I said I wanted him to do. I cut him loose.

A third guy came along who had the necessary experience, but he moved like a sloth. He'd take two or three days to reply to my questions. He'd give me code that sort of worked and didn't explain what was not yet implemented. I'd find stuff and say it wasn't working and then he'd say, "yes, I'm still working on that". It was like a game of hide-and-seek. I had no idea what he was doing, and kept asking him to explain what was new with each update. He did, sort of. But after a while, he was breaking more code than he was fixing. I finally just paid him hoping it was the money, but he never managed to complete the project.

What should have been a 1-2 week project stretched out over 6 months, and I never got exactly what I wanted.

My experience is simple: these people lie through their teeth about their skills and abilities, including the sales people for big programming teams. The programmers in many Asian countries are paid under $2/hr, which Americans cannot relate to, so they bloat up their quotes to something that seems "reasonable" to Americans and hope they can get the work. But I guarantee you that number is FAR MORE than what's needed.

It's like ... you might pay $3.99 for a Big Mac here in America. But if you go to lots of Eastern European countries, especially former Russian countries, they have two menus -- one in local currency and one in Euros or USDollars. The Big Mac in USD might be $2.49 (or 3.99 Euros), so Americans think, "Wow! That's a great deal!" but if you look at the Russian menu and do the conversion, it works out to something like 37 cents.

This is a big problem hiring foreign devs. Lots of the teams in India will hit you up with a price that's 25% cheaper than what you'd pay a US developer, so you think, "Oh, wow, it's a great deal!" No, you're being massively ripped-off! Only you don't know it. Not to mention that it's extremely likely that they won't deliver your software either on-time or under-budget. And there's also the issue with them stealing your code for use on other projects, or giving you stolen code. (They like to stick with what works, including code!)
Jesse D. Landry
1
0
Jesse D. Landry Entrepreneur
Business Development
Hi Hillary,

If you're really early stage with no tech in-house, and you aren't technical yourself, I HIGHLY recommend finding someone locally that would be able to help initially (LiquidTalent.com is a great resource for freelance talent)...

There are some great, boutique, companies that can help in the early stages (Deisgn, mocking up, requirements write ups, etc...) however, assuming, success you will out grow them and will need to lean on them to recommend a good partner - Or, you are ready for hiring in-house (Another challenge).

Now to your original question about what you should look for when deciding on a partner.

1. Initially, you want to be able to talk to the company and clear out the intro conversation - High overview of your company, you, in-house team, how you work + communicate, technology stack, etc.... For the dev shop - You want to make sure they are comfortable with all of your process and can share, even a sentence or two, experience in your domain, with your tech stack, your communication tools, etc... True feeling out process - This way you'll get a sense of how you will be treated throughout the lifetime of the relationship.

2. Assuming they line up well with your process and tech stack and have a solid understanding of what you are looking to accomplish, move to an NDA so you can share all requirements of the project and put in place the proper channels of protection for yourself and for the potential partner company.

3. Now you're ready to start diving deep into the project - Hopefully you have specs and detailed requirements for the company to review along with tech support on your side as well as management support from their side....If no questions are asked during the requirements talk and no follow up questions come in an email that's a red flag - You want to make sure the partner company asks questions as that will show they are competent and ready to handle the project.

4. Transparency - This, in my opinion, is huge. Will you be able to talk to the team that will be assigned to your project. You should be able to review CVs, conduct spoken / written interviews, code test or pair programming sessions so you are fully comfortable with the people that you will be working with. Also, how will management be handled from the dev shop's side - Make sure they are flexible to your environment and are as hands on or hands off as you want them to be.

5. If all of the above go smoothly and you are comfortable it is simply executing docs and choosing a start date....

Good luck!
Join FounderDating to participate in the discussion
Nothing gets posted to LinkedIn and your information will not be shared.

Just a few more details please.

DO: Start a discussion, share a resource, or ask a question related to entrepreneurship.
DON'T: Post about prohibited topics such as recruiting, cofounder wanted, check out my product
or feedback on the FD site (you can send this to us directly info@founderdating.com).
See the Community Code of Conduct for more details.

Title

Give your question or discussion topic a great title, make it catchy and succinct.

Details

Make sure what you're about to say is specific and relevant - you'll get better responses.

Topics

Tag your discussion so you get more relevant responses.

Question goes here

1,300 Followers

  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
Know someone who should answer this question? Enter their email below
Stay current and follow these discussion topics?