Thoughts on building startup technology
About 3-4 times a week I get the privilege of talking with soon-to-be or first time entrepreneurs, most of them still in school. It’s a great thing to see and support, as I agree with others that many of the great new companies are founded by younger folks. As I’ve written about before, it’s not surprising given that starting an innovative new company often requires fresh thinking, lots of time, and the ability to focus with few life obstacles getting in the way.
However, in a large percentage of these chats, the question is asked “I have an idea, but how do I build it?” Generally this question comes from founding teams who lack the technical ability to build what’s required to launch their startup idea. It’s a fact of business that it’s way easier to come up with an idea than to build one out, so it also shouldn’t really be that surprising to hear this question a lot. To be fair as well, this question isn’t exclusively asked by student entrepreneurs, and is probably just as common if not more so from older founders who didn’t grow up using Facebook. So, this post is about that next post-idea step on options you have to build your startup technology.
Outsourcing startup technology is risky, hard to manage, and should only be temporary.
One of the most common options a first-time entrepreneur will first explore when they think they have a great idea but can’t build it themselves is to look to outsource it to someone who knows how. You see this a lot from business school students with no technical background but lots of classes in classic management and case study analysis. In more than one of my early companies I tried this path, and learned a lot. I’m sure there are plenty of examples of this working out, but let me highlight the risks:
- Training and managing outsourced teams takes time. This is true for any project you have to outsource. First, you need to train the team who knows nothing about your idea (and potentially space) so they have the right context to build the right thing. Then, you have to manage the entire process (generally remotely) to make sure they do it correctly. Often this will take more time than it would have taken to look to find and bring on technical folks as either co-founders or employees in-house (which I’ll explain is the optimal path). In short, outsourced projects are huge time-sucks and are really hard to manage.
- It’s slower and takes longer to implement client feedback when your tech team isn’t right next to you. Without question you move slower if you outsource your tech. You simply cannot look over your shoulder to your co-founder to implement a product change or fix (or do it yourself) when your team is outsourced. Startups require speed of development to succeed, so this is a major risk. The product-feedback cycle needs to be as short and fast as possible.
- The quality of work may be sacrificed. Outsourced teams aren’t incentivized like you are. They’re typically project-based consultants, incentivized to get the job done, get paid, and then move on to the next project. You could always try and bridge this gap by giving equity to the development shop, but that doesn’t always work and the numbers may not make sense. Because of this, expect corners to be cut and general quality to be lower than had you done it yourself.
- It’s a red flag to potential acquirers. It’s no surprise that a large part of your company’s value will probably end up being its technology, especially in the software industry. Potential acquirers are also heavily buying teams these days, with a huge emphasis on engineering. As such, fostering your own engineering team and building your technology in-house will end up being a huge asset (and said conversely, a huge liability otherwise). I know first-hand that when we were being acquired, our potential acquirers were extremely interested in how our technology was built and who built it, and largely based their “who to buy” decision on that.
- It’s a red flag to potential investors, for the same reasons listed above.
- Spreading around your idea to people you don’t know. Ideas are cheap these days, but it generally is a risk to openly discuss your idea with people you don’t yet know or trust and who are also capable of building. Angels and VC’s who have a major reputation to upkeep and who likely cannot easily build your idea the next day are a different story (and often times are beneficial to openly discuss with), but a small development shop no one has heard of may be different. This may be overly paranoid, but I’m sure an entrepreneur has seen his/her idea built by a development shop he/she thought was building their prototype (Facebook anyone?).
- IP rights. Be sure that you own any IP that an outsourced firm may build for you. It may seem obvious, but you’d hate to see that development shop be able to claim one day that they own the code that you’re in the process of selling to a major company in an acquisition. Make sure you have rock-solid contracts protecting against this and defining who owns what.
- It costs money that you may not have. Outsourced firms are consultants, and consultants need to get paid. While hiring a firm to build your tech may seem like your only option available at first, many entrepreneurs (especially students) may need to raise angel money just to be able to afford to hire an outsourced tech firm. As mentioned in #1 above, I’d rather see that entrepreneur spend that money and their time finding and hiring someone to do this on their team in-house.
With all that said, I have seen hiring an outsourced tech team to build out a startup idea work in one scenario: to build out the initial demo and then eventually transition to a full-time team. Even then it’s highly ill-advised in my opinion, but if that’s the only option available and that’s what it takes to get a proof-of-concept, it’s better than not doing anything at all I suppose.
There will also be tons of things you then need to consider and questions to answer when you look to start transitioning the tech in-house, such as language compatibility with whoever you hire and potential service disruptions. Also, just like with needing to train an outsourced tech team on what to build, it’s going to be very costly for your full-time engineer(s) to learn and break-apart what is probably a lightly-documented and rushed codebase built by someone else. It’s very likely you’ll end up entirely scraping whatever tech was built by the outsourced team once you bring on full-time tech folks, which is often the case no matter what, so don’t get too attached to what you paid for.
In summary, my major recommendation is to only use outsourced tech teams to get a first demo/prototype done, and only work with outsourced teams who come heavily recommended. I cringe as an angel investor or adviser when I see a startup hiring someone off of rentacoder or elance.com to build out their startup idea, and with no solid plan on bringing things in-house.
Building your startup technology in-house
This is without question the path you should try your damnedest to go down if you’re starting a technology company. It may also seem like the least possible if you and your co-founders aren’t technical. It’s no surprise that many big name VC’s and incubators only invest in startup teams who are technical and can build things themselves, and there are plenty of reasons why. So, how do you do that if your team isn’t technical?
- Learn to do it. Probably not practical and will take a ton of time, but worth calling out. Malcome Gladwell famously said that it takes 10,000 hours to become a professional at something, and becoming technical enough to build out a startup is not something that happens overnight. It’s generally something that started when you were very young, went to school for it, etc… So, if you’re super young and reading this, start learning. If you’re not, read on. Stipulation: no matter what, if it’s a lost cause to become technical enough to build out your idea yourself, you will still need to constantly learn enough and as much as possible to understand how things are built, why they were built the way they are, etc… so that you can keep up in conversations and know your own product in and out.
- If you’re in school, use all methods to find a technical co-founder. When you’re still in school you have a HUGE advantage in finding a technical co-founder. Hopefully, your school has an engineering department, and if not there are always a few kids who aren’t majoring in engineering who are extremely technical (often because they don’t need to take those classes). Do everything you can to meet those people. Give equity to engineering professors as advisers and in return ask them to give you the names of their smartest and best students. Start an entrepreneurship club and encourage engineering students to join. Ask engineering professors if you can stand up in front of the class before it starts and give the elevator pitch of your startup and solicit help. Note: many business school students fail miserably at this with their approach and inability to realize their idea won’t get done without this person, so put away your suit and swallow your pride and get to work.
- If you’re not in school, work the hell out of your network to find a technical co-founder. If you work at a company, even an investment bank, that company probably has engineers working for it. Do your best to meet these folks and network. Obviously keep in mind things like non-solicit agreements. Go to local startup and tech meetups. Do whatever you can to put yourself in a position to run across someone who is technical and could be your co-founder. Serendipity is a word that could be used to describe how most co-founding teams find each other and come together.
- House-keeping, but make sure everything is legally tidy. In other words, just like with outsourced engineering teams, make sure things are well documented as to who owns what and company ownership. Companies these days are built around the principles of any IP and work done by employees is owned by the company, and employees (especially co-founders) own shares in that company. If that’s not the case, you are a contractor, and in that situation make sure you know who owns what in terms of the contracted work. In summary, as soon as its possible and makes sense, make sure you and your co-founders sign the right paperwork to clearly define and structure out the company and IP ownership (and related, establish things like stock vesting). Many startups explode when co-founder relationships dissolve, often creating issues of “dead equity” and worse, who owns what in terms of what has been built or discussed (and they’re not mutually exclusive).
In summary, do whatever it takes to find a technical co-founder(s) who can be in the trenches with you and can build out the startup idea with you together, and obviously make sure things are legally setup correctly. I have written before on best practices on hiring and recruiting which are also applicable here, and there are plenty of good startup lawyers out there such as Fenwick & West, Gunderson, Lowenstein & Sandler, etc…
I hope this helps somewhat answer the question on how to get started when you have a good idea but no technical ability to build it among your co-founder group.