I've been informally approached by a few non-technical entrepreneurs about how to start tech companies, so I thought it would be helpful to formalize my response in a post.
First of all, I applaud anyone brave enough to start a company, whether they are technical or not. Startups are a tough grind, as we all know, and I never want my response to detract from the admiration I have for people taking this step. Well done. You are awesome.
Now, enough of the praise, it's time to get technical. Seriously. Unless you are adding immense value in other areas of the business then you should learn how to build your own product. Here are the reasons why:
- You are an entrepreneur, a creator. You should build your own product. Simple.
- It may set you back 6 months to a year but, as your coding skills improve, your product iterations will get quicker. I bet that you'll save time in the long run.
- Your first step is to get yourself a working prototype with as little spent as possible. Teaching yourself for 6 months will cost you relatively nothing compared to paying a freelancer. Also, it's impressive to investors.
- There are many online resources to learn how to code and modern high level languages (Python, Ruby) are easier than older languages (C++, Java). Don't be afraid.
There are caveats around this: I recently met an entrepreneur who was considering to start a business in a highly specialized industry. His idea had no competitors yet his model was proven, and his vision strong. He worked in the business, and knew it inside and out. He wasn't technical.
Not many people are in such a position so I see this as an exception to the rule. It would make sense for him to look for a technical partner, and my guess is that it wouldn't be too hard for him to find one. Engineers are looking for entreprenuers with ideas. They know that this type of an entrepreneur would be able to take care of everything, except for the technology. I told him to start looking for a technical co-founder, and the following are a few ways to go about it:
- Universities: find ones with strong CS degrees and post on their job boards.
- Programming Meetup Groups. Be strategic and don't just look for a developer. Look for a Python or Ruby developer (unless you have a good reason to choose another language) as there are more of them!
- Bootcamps: You may not find someone who is "junior engineer" level but my hunch is they'll be dangerous enough to prototype.
I don't want people to get discouraged - startups are awesome but, trust me, they are even more awesome when you can build one yourself!