March ‘20

We’ve all had it - that eureka moment in the shower or the pub when we think “Hey, I’ve a great idea for a startup!”. Some of us even write out a lean canvas and register a domain. Some go further and quit their job to pursue the idea. Heck, some are even successful.

We get a similar email several times a week at CodeBase: “I’ve a great idea for a product, I just need someone to build it for me!”. It’s not a new problem, but it comes up regularly enough that I thought it worth dropping my two pence on. Loosely, the folks who write these emails fit into two camps - the dreamer (this is the next Facebook!) or the domain expert (I’ve uncovered some earned secrets in my field, and want to exploit them). This post is primarily for the latter.

I’ve seen the same advice trotted out over the years, and indeed I have been guilty of passing on these options. Someone needs something built, but they can’t build it themselves, what do they do? Broadly, they’re given four avenues to explore:

  1. Find a technical cofounder
  2. Outsource development
  3. Learn to code
  4. Hack something together themselves

(3 & 4 rather blur into each other)

I’m not sure any of these are necessarily the right thing to do. Jumping out of the shower to get building your idea straight away is not necessarily a good instinct, and generally more idea validation is required.

Let’s look at each of these methods of building.

Finding a technical cofounder

This is the golden ticket. Someone to graft with you, share your pain, your problems, and have your back when things are at their worst.

But how do you find a technical cofounder? You can network your arse off, go to every meetup, coffee morning, social, and hope you get lucky. But let’s be honest - finding a cofounder is like finding a life partner. You can try for years, regularly going to speed dating and scrolling through Bumble, but the odds of you finding the one are hard to predict, and the returns on your time aren’t immediately apparent.

We live in a time that people with technical abilities are in extremely high demand. They can get paid eye watering day rates to build stuff for corporations or well funded startups. Giving up regular income on the promise of some valueless equity might not be as appealing as you think. These people have bills to pay.

So, persuading a person to join you on your dream mission? Not impossible, but easier said than done.

Outsource development

This seems like the obvious solution, and can be a quick win. You pay an agency to build you something (an MVP, normally). These can be local, or international - often the latter is the cheaper option. You can even just hire a single freelancer, or get a student to do it.

This is expensive. If it’s not, you should be querying why. Two of my friends who run small agencies would never quote less than six figures to build a properly working product, even with basic functionality. If you’re paying less, in all likelihood you’re going to get an extremely unpolished version that is far below the M in MVP.

That feeling you wake up with to make your product absolutely perfect in every way? It’s worth noting that it’s extremely unlikely that anyone you outsource to will ever share that feeling. Even if they get skin in the game via an equity share, you are a client to them. This isn’t the learning and collaborative relationship you need at this stage. And what if you have a falling out with them, say if the quality or speed of their work isn’t up to scratch? You’re left with a codebase you don’t understand that you have to bring to a new agency, and in all likelihood will have to start from scratch.