As a software engineer in NYC, I get a few unsolicited emails from time to time from non-technical people regarding how to make their technical idea an internet reality. I usually take these meetings to meet new people and also to try to give back and help people out.

Unfortunately, almost every one of these meeting has the same basic structure: the person has an idea and a small budget (usually too small for what they want) to build a web service. Their plan is to hire a third party consulting firm to build the site, launch it, and stand back and watch users sign up and money roll in. It is at this point I usually stop them and always give the same advice: You can’t outsource your CTO.

I understand the appeal of thinking you just need to simply pay a one time fee up-front to get something built and the rest is marketing and customer service emails, but this strategy will almost always end badly for a few different reasons:

  1. The Blame Game

    If your idea fails miserably (and chances are it’s going to), it’s easy to blame the engineer(s) who built the site for any number of reasons. Usually a failed idea is a combination of both the business side and poor technical execution, but it is harder to come to this realization when you just paid thousands of dollars for a site that no one cares about.

  2. Zero Leverage + Scaling is Hard

    If your idea is wildly successful, you have zero leverage when it comes to hiring the same team to build new features and scale the site. Software engineers are also not plug-and-playable — even if you know common technologies, figuring out an existing codebase and underlying infrastructure takes time. Bringing engineers up to speed on your product takes time, and will cost you more money and probably equity if your idea looks promising. Also, the different skill sets are required for building a site rather than scaling a site. You’d be very lucky if the third party company you choose can do both.

  3. You can’t easily iterate

    Your first idea will almost never been the successful one. Building a successful product/company usually requires a lot of different iterations, and if you outsource the tech team, you will have to pay for each iteration. Having to pay for each iteration will cause you to iterate less, and this will decrease your chances of success.

  4. Money talks, and you might not be a priority

    Unless you are paying firm X the most, you will not be a priority. If you do not have a dedicated tech team (of even one) prioritizing your product, the chances of you being successful decrease (and the probabilities of you being successful are already small, believe me). Ideally everyone involved should be passionate about the product: This isn’t mandatory, but I can tell you from personal experience that is can be hard to build things you are not passionate about. As projects go on longer, and more (what appear to be) useless features are added, moral with start to drop. Passion is extremely important and underrated. So what can you do to avoid these problems? Well, if you’re not willing to put in your time, I’m not gonna lie, your options are very limited to none. Here are some things I think you can do that will help though:

    a. Research your idea and competitors: Spend a lot of time researching your idea. Unless you have researched your idea and competitors, it is going to be tough to convince someone to join you in your journey to change the world (or a specific industry). If you’re idea has been throughly vetted, it will be very obvious to whomever you are trying to get to build the thing. Feel free to share all of this information with the engineering team also.

    b. Be willing to give up a portion of your idea in the form of equity: Good engineers are hard to come by, and the ones that are good already most likely have great jobs and/or are doing their own thing. Even though the equity you are giving up is currently worth exactly zero dollars, if you did a good job on (1), convincing someone that it will be worth $0> shouldn’t be too hard. The amount of upside will probably depend on if you have raised any money or not, so you might want to think of two different offers: one that assumes you raise a round and one with zero pay.

    c. Learn to code: I know this is so cliche at this point but seriously, if you love this idea you should be willing to try to jump start it while you find someone to actually build it. I can tell you personally I would be much more interested in helping someone make an idea a reality if they were learning the tech side themselves because they loved it so much they wanted it to exist. If someone is not willing to learn, it’s a red flag that they will not follow through in other areas such as business, marketing, etc. (it’s a startup after all, so you’re going to have to wear many hats). A lot of great companies have started this way.

    d. Meet as many people as you can, and do not be afraid to go to great lengths to do so: I didn’t know my co-founder Troy before he cold-emailed me and we founded SocialQ. But what I quickly found out is how much time he spent finding me. He had spreadsheets of people from Quora, MeetUps, Blog Posts, etc. he had spent a shitload of time finding doing his researching find the right person. Taking the time to find the right person is important, and it shows you’re are probably capable of finding the right partners, acquirers, customers, business models in the future.

  5. Realize you only have an idea

    I hate to say it, but your idea is basically worthless, and ten other people probably have the same damn idea. NDAs are dumb. Ideas are worth nothing without a great team that knows how to execute, and the sooner you realize this, the easier it will be to find someone talented to join you. Share your idea with as many people as you can, get feedback. Tell people you are going to build the thing. (This can have the added benefit of providing pressure to actually follow through also).

  6. Starting a new business is never easy

    It takes courage, perseverance, the right idea, the right team, and a lot of luck to work. Some of these you can control, most of them you can’t — but having a right tech team in place when you start will go alone way to increases your chances to success.

If you are interested in content like this (or want to meet and talk in person) please follow me at @josephmisiti