So you’re the non-technical founder of a promising software startup. You’ve recently been turned down for initial funding with the feedback that: “Your team just isn’t strong enough.” You’ve got a solid idea, great domain expertise and some keen pilot users lined up. But lack the development skills to turn the early concept into a meaningful product.
In response to the feedback, and in the spirit of ‘move fast and break things’ you go out and find a technical co-founder. Someone who can code and who seems pretty keen on the idea, but who you don’t know well and hadn’t worked with before. Things start off ok. You manage to get something built and launched. But in the quest for traction, it becomes clear you each have very different views about where to take the company. The friction escalates and within months, you go your separate ways, bringing the company to a grinding halt.
It happens. More often than you’d think.
“20% of YC funded startups have a founder leave.” – Paul Graham
So as a non-technical founder, what are your options for getting a product built… in a way that doesn’t screw up your future prospects?
Option 1: Build it yourself
- Skills – you learn some really practical new skills. And the knowledge helps you become a better project manager later when you need to hire developers.
- Cost – you’ll save some precious capital.
- Control – you get to build what you want, how you want it.
- Time – Getting proficient takes time, particularly if you’re starting from scratch.
- Technical debt – hacking something together yourself, especially on the fly, can often leave you with spaghetti code that requires a whole lot of rework later on.
- Opportunity cost – while you’re playing hacker, there’s less time for hipster and hustler. All three bring a different and important skill set. As a non-technical founder, the value you bring is in at least one of the other two.
If you’re aspiring for a high growth startup, rather than a lifestyle business, then this option probably isn’t for you. That said, learning to code is a useful thing to do if you’re still bouncing around ideas and haven’t quite worked out which one you want to pursue as a business. Codementor publishes some useful stats on which languages are in vogue, and there are a ton of learning resources out there like Codeacademy, Udacity and Udemy.
Before moving on, it’s worth pausing on what you need to build and why. From a lean startup perspective there’s usually an opportunity to deliver an MVP and attract customers before building a platform. Here’s a few examples:
- Buffer – started with a landing page to collect emails.
- Craigslist – literally started as an email list.
- Doordash (food deliveries) – started with a landing page hosting a PDF menu and phone number.
- Dropbox – started with a demo video to get the first pilot users.
- Sendwithus (SaaS) – started with a fake demo to collect email signups.
- SpaceX – ok so a 6-year $100 million effort to get the Falcon 1 rocket to orbit in 2008 doesn’t seem lean! But even in this case, orbit was a smaller goal to start with than getting to Mars, and “a lot of Falcon 9 contracts that were in negotiations were predicated on just getting Falcon 1 to orbit”. So the next stage had paying customers conditionally locked in.
In many cases it’s possible to get some traction with something far simpler than what you envision, and that might be enough to convince angel or early stage investors to provide enough funding for further development. This is where the multitude of landing page builders, explainer video makers and DIY app makers really come in handy.
Option 2: Hire a freelancer or contractor
- Ramp-up – quick to get started.
- Cost – generally cheaper than using an agency.
- Project management – you need to understand how to manage them to get the best result.
- Under-delivery – it’s pretty easy to be fooled into engaging someone who simply isn’t up to the task.
- Speed – the hire may not be able to iterate quickly enough, particularly if they’re doing multiple projects at once.
This option can be a good one, but there’s at least two pre-requisites:
- You’re 100% confident in their ability to deliver. Ideally someone you know or who comes personally recommended.
- You understand how to manage the developer to keep them on track. This is where hiring a known, proven contractor excels over a random freelancer. It also helps if you can co-locate and implement the communication protocols (e.g. daily stand-ups) to de-risk the project. Having a feedback loop to understand where things might get delayed – and collaborating to come up with a compromise – makes a huge difference.
Get this right and there’s also the added bonus that after working with a contractor, you may even find they’re suitable as a co-founder.
Option 3: Use a development agency
- Value adds – established agencies typically provide some value-added services to help you manage your schedule and budget. This might include descoping high-effort low-value features, or delivering the intended benefits of a feature without building the whole thing.
- Risk – you should end up with a better product overall, and don’t need to play project manager, in comparison to hiring a freelancer or contractor.
- Technical assets – with a good agency you’ll end up with better code, on a solid technical foundation, which is easily transferred in-house later on.
- Initial cost – more expensive up-front than a freelancer since you’re paying for additional quality measures and overheads that come with the agency (e.g. they fill the project manager role). However, the reduced technical debt may be cheaper in the long run.
- Flexibility – related to the above, an agency comes with their own processes and competing priorities. So things can be a bit more rigid about how things get done and when.
A well-established agency with experience doing the work you need can be a great option, albeit with a higher upfront cost. This is where using an experienced agency is critical, as they should give you a steer on how to get the most bang for your buck. Being able to get good quality code developed quickly, and easily brought back in-house when you need to, is a major benefit.
But as a non-technical founder how do you make sure you’re getting quality code and a good price? Getting a few quotes, as with any service, is important as you’ll see wild variations. I’ve personally had two agencies quote $20k and $100k for the same spec! This says a lot about whether they truly understand the work involved and have done it before. That’s why it’s really beneficial to get a friend or someone with experience to sanity check the price and look over their credentials before you commit.