The Pros are that it’s cheaper, it’s easy to find developers who need freelance work, and it seems safe as there are peer review sites and other online testing mechanisms available to prove a developer has some skill.
The Cons of outsourcing software development are many. One of the biggest ones we faced was a time/language barrier as we are in the U.S. and the developers were in India. The language barrier comes into play during communication of the project details and in the software code where poor labeling of files can lead to a lot of confusion for future software developers.
I decided to try outsourcing our development to a firm that I found on Upwork to help me build our MVP (minimum viable product). I interviewed 3 companies that I found online. One was US based, one was in India, and one was in Europe. After considering cost, time and reviews that I read online we decided to go with NetSet Software based in India. The reviews I read about NetSet on Upwork were very positive. I believe they had a 4.7 out of 5 stars with several thousand hours of time under their belt. It is now clear that those reviews are easy to manipulate.
It took me about 3 months before I realized that we were not making any real progress towards building our mobile and web applications. I started talking to the startup advisors at EvoNexus and learned that I would need a technical business partner to help guide the software engineering efforts. Without that we would likely be doomed.
I searched my Linkedin connections and Facebook friends and found that I had 3 friends who were strong software engineers. After careful consideration I chose Assaf Karmon to be my partner. He and I worked together at another successful tech startup, Conductor. Based on my work experience with him I knew that he was smart, hardworking, and trustworthy.
After reviewing the early code we realized that the work that NetSet software was doing for us was very low quality. Everything from the architecture of the back-end to the front end design was poorly done. One of our engineers described the mess to me in layman’s terms: If you can imagine a house, they basically put the sink in the living room, the sofa in the bathroom, and the bedroom set in the kitchen. Then they mislabeled everything.
With the help of Assaf and our new engineer Francisco, we were able to basically use band-aids to piece together the MVP. We have since hired a team of engineers that have worked hard over the last 15 months to refactor the code and build a more robust multi-platform software system. We continue to work on adding new features and improving our system every day. Unfortunately, we do still come across some legacy code from NetSet Software in India. Our hope is that within a few months, all of that legacy code will be removed.
After my experience in starting a tech company as a non-technical founder I highly recommend that you do not outsource your software development work. In order to start a successful tech company you will need at least two distinct skill sets: engineering and sales. When starting a tech company one person should be an expert software engineer and the other should be a sales or marketing expert. If you have these two key ingredients you are much more likely to be successful.
It’s important to understand that in a software company, the development of the product can not stop. You must constantly be testing, iterating, and improving your software. There is also a good chance that you will need to raise money for your venture in order to grow. Investors will look at your team first. If the team includes you and an offshore software development agency you are going to have a hard time finding a good investor. Thanks and good luck on your venture!
Written By: Shaun Savage
You can read a more detailed review of my experience with NetSet Software