Building a startup is all about minimizing risks because ultimately, risks represent money that we might have to spend in the future to deal with things that didn’t go as planned. In the interest of saving money, startup founders might see outsourcing their project’s development as the obvious choice, but fail to see the big risk it can pose. Today I want to tackle this subject from an experienced and realistic point of view to determine when it is best to outsource your development.
I write these articles based on my own extensive experience. I am aware that both excellent and mediocre engineers can come from anywhere in the world. The opinions in this article are simply based on my observations of what worked best for the startups I worked with.
Different culture, different mindset
You might wonder: why do I have to be so cautious when outsourcing? There is a lot to take into account when you trust your product’s development to someone half a world away.
Whenever a startup founder says, “I don’t have enough money. I want to outsource to India,” I’m always a bit skeptical. I have already done it, to India and many other countries including Bangladesh, Brazil and other places in Africa. Truth be told, there is a big cultural difference that will undoubtedly affect the project’s outcome. The rates are less expensive in these countries because of the cheaper cost of living. But this also means they have limited to access to opportunities and advances offered in countries in Europe, North America and Australia.
There’s a huge difference in development schools between North America and Europe, versus developing countries in Asia and Africa. Anyone could learn how to program on YouTube, but becoming a good engineer takes years, good education, work ethic and mentorship. In countries like the US and Canada, or nations in the EU, most people have more opportunity to get access to these.
Because of these constraints, an app developed by developers in these developing countries will have the functions you asked for, but don’t expect a beautiful design. In contrast, their counterparts in developed countries will usually pay more attention to detail.
What should I look for? Complexity is key
If you want a complex app, expect to wait months. I get flustered just thinking about it. It takes a lot of repeating and insisting, just to get the job done. Because of the cultural differences and differences in preparation that I mentioned, an average US developer can get results 5 times faster than your average outsourced developer.
The only situation where outsourcing a complex app might be worth it is if you have:
- No money
- Good tech management skills
- Lots of time to double, triple or even decuple-check for bugs
Keep in mind that most of the time, what you would be developing would have the sole purpose of getting investments. It would just be a prototype to show investors and it would not have a long-term application.
How can I do it right?
Do a background check on skills, techniques and recent languages. Spend time testing potential workers and building a long-term relationship with them. Ask them to rephrase your instructions back to you or even draw a couple of screens for it before they start developing. Also find out how they are planning to develop things, and check with an EU or US developer to see if it’s a good option. If you want to learn more about getting the right person for your project, feel free to check out the course Selecting the Right Provider.
The cultural gap can be worsened by the language gap, so make sure you understand each other well.
You can even find a cultural hybrid, on the provider’s side or on your side, that can bridge these gaps. Someone who has spent time and is familiar with both your background and your provider’s background that can facilitate communication.
This additional role makes things a bit more expensive, but it guarantees a better process and result, while still being more economical than doing a US or European development.
So… when is it best to outsource?
Outsourcing is good for money but not for time. If you are a startup and you need to get things done faster, outsourcing is not for you. However, If you need to go cheap and your project is not too complex, you can definitely make it work.
Outsourcing is great for fixing easy things and developing an early prototype. I wouldn’t recommend it for a more long-term core product, unless you have first-hand experience with the developer, and know that you work well together and that you will get the results you expected. A facilitator-cultural hybrid can help, since you’ll need someone who knows your culture, and more importantly, your clients’ and users’ culture.
Last but not least, tech management skills are always a must when delegating your product’s development. If you want to learn and improve your skills on this, you can check out my free course From Zero to Million Users. And if you find this article useful, feel free to share it or comment below.