Like many young entrepreneurs, when I started my first company I was basically flying by the seat of my pants. Not only had I never started a business before, but I had no background in tech at all…and the company I was starting was an e-commerce marketplace. One of the first pieces of advice I ever received was “find a CTO”, and that became a bit of a refrain from advisors. If but it were so easy! Unfortunately, finding a CTO can be a lengthy and difficult process. I spent the better part of two years looking for a CTO, only finding a fraud (who luckily only cost me about $1000 and a couple months of wasted time) and a waste of time (who cost the business a spot in an accelerator program, along with a good chunk of seed capital). It was only when I stopped looking for one that I found one almost by accident. But of course, I couldn’t wait around two full years before I even got started building the company, so I had to hire someone in the interim.
In my experience, there are four attributes you have to consider when thinking about options for building a tech business: expense, time, quality, and accessibility. Across all four attributes, there is a wide range of possibilities. When I asked for quotes to build the beta of my first company, I received bids ranging from a few thousand dollars, to well in excess of one hundred thousand. Some expected to be finished in a few months, others in two or three times as long. While these individual attributes can vary quite a bit, I also found that different kinds of solutions, such as contractors versus firms, were often quite similar to each other.
Expense: Low to moderate. Typically the cheapest option for “hiring”.
Time: Moderate. While the actual time to build your product may not be as long as some options, outsourced labor requires very specific scopes and deliverables, which can take time.
Quality: Low to Moderate. Outsourced labor can do high quality work. Unfortunately, if you have no background in tech, your chances of getting that aren’t good. There are a lot of bad outsourced firms around, and getting a high quality return requires a strong set of specifications, criteria about documenting code, and any number of other things someone without a background in tech would never think of.
Accessibility: High. If you ever put up an ad looking for development help, these guys will probably be the first and loudest to respond.
Overall: If you’re just starting a company, hiring outsourced labor is a huge risk. You probably won’t be able to adequately draw up a scope to get exactly what you want, and you won’t be able to run quality control either, so any new developer you bring aboard is going to have to do a lot of work just to figure out what the outsourced guys did, and why. Outsourced labor is better suited for when you have a CTO and need additional help, or in a space like the mobile app industry, where once the product is done and released, it only requires minor upkeep.
US-based Development Firm
Expense: High. Typically the highest priced option.
Time: Low to Moderate. You’re not the first client these guys have dealt with that didn’t have any background in tech, so getting specifications across won’t be as hard.
Quality: Moderate to High. You get what you pay for.
Accessibility: Moderate. Typically, you will have to approach these firms, not vice versa. Luckily, there’s tons of them, and it’s not hard to do your homework on them as they’ll usually have a portfolio of some kind available online.
Overall: US Development firms are a mixed bag. On the one hand, they’re incredibly expensive. On the other, their work is high quality, they finish on deadline, and most of the time, another developer can take over from what they’ve started without a lot of trouble. Still, you probably don’t want to have to use them forever.
US-based Independent Contractor
Expense: Low to Moderate. An independent contractor is almost always cheaper than a firm…
Time: Moderate to High. But they’ll take longer because they’re only one person, and…
Quality: Low to High. Their quality varies enormously from option to option.
Accessibility: Moderate to High. This is really location specific. If you’re in San Francisco, you won’t have any problem. Topeka? More problems.
Overall: When it comes to contractors, learn how to understand their resume. Do they have a degree in computer science, maybe even a Masters, from a good program? Have they been working at startups or maybe even a technology company you’ve heard of? Ask for examples of past work, and if possible, ask for code samples. If you ask around on Hacker News, stackoverflow, and other online resources for help in evaluating it, you’d be surprised how helpful people will be.
Expense: Low. It doesn’t cost you cash, although it will cost you equity.
Time: Low to Moderate. A true CTO will put in more time than any other option, but they’re still only a single person.
Quality: Low to High. Hopefully you’ll find a high quality person…but you have to be careful.
Accessibility: Low. While anyone “could” be a CTO, finding the right person can be an uphill battle.
Overall: The needle in a haystack. The best way to find a CTO is not to look for one. I find mine initially through hiring him as an independent contractor (in a more senior role, basically reviewing the work of a different independent contractor I’d brought on to actually write the code), and working together in that capacity for over a year. Engaging in places like Hacker News, stackoverflow, and your local developer community (be it meetups, hackathons, etc), and talking about what you’re doing, and where you need help, is another potential option.
While everyone will tell you, with good reason, that you should find a CTO, sometimes you can’t wait to find that right person. But in the meantime, there’s work to be done, and you still need someone to do the code work. Hopefully this has given you a better idea of the pros and cons of some of the potential options available to you.