One of my favorite things to do is to help others who are at an earlier stage of the startup journey. I had a lot of false starts before Buffer. I enjoy sharing my lessons from those failed attempts, and I also enjoy getting my mind back into those early days challenges, now that Buffer is almost 5 years old.
In the past few weeks, I’ve had 5 sessions (typically around 30 minutes, in person or via Hangouts) where I’ve tried to help someone. I was surprised to hear the same challenge came up in 3 of the 5, so I thought it might be a worthwhile blog post topic, too.
The thought process of outsourcing your startup
If you’re not technical and can’t code, it’s very natural to think that you can’t progress much with your startup idea unless you find help. Often the first thought is to either find a technical co-founder, or to outsource building the minimum viable product to a firm or a freelancer.
In my experience, both these options are almost always the less optimal approach for succeeding with your startup as quickly as possible.
I honestly believe that building your product yourself is the most optimal and fastest path to creating a successful startup. Here are the 3 main reasons why I think you shouldn’t outsource your startup.
1. Startup goals and freelancers’ goals are misaligned
The goal of a freelancer or a creative agency or firm is to serve many different clients, and to ultimately make money. Your goal when you have a startup idea is to reach product/market fit and make something that can get traction.
The successful path for a freelancer to reach their goal is very different to the successful path for startup founders to reach product/market fit.
One of the easiest problems for a freelancer to encounter is scope creep of client projects. If the freelancer or agency is setting a fixed price for the project, they need to take many steps to ensure that the scope of the project doesn’t grow beyond what was initially budgeted for. This means that in the beginning, they are going to want to set down a very defined specification of what this project involves. A freelancer’s goal is to make money, and a key ‘tool’ for success is to be quite exhaustive with defining the initial specification for a project, and to avoid changes to the spec along the way.
As a startup, your goal is to reach product/market fit. There’s a great insight Matt Mullenweg once shared that really puts into perspective why as startup founders we should launch as early as possible:
“Usage is like oxygen for ideas. You can never fully anticipate how an audience is going to react to something you’ve created until it’s out there. That means every moment you’re working on something without it being in the public it’s actually dying, deprived of the oxygen of the real world.”
Therefore, the ideal approach for creating a successful startup is to put it out there as soon as possible and then iterate from there based on the new information that comes from usage and from doing customer development.
This is almost completely at odds with the approach most freelancers will want you to take. Not only that, but most freelancers or agencies are building websites for more established or more predictable businesses and they often don’t understand the nature of startups.
It’s not that a contractor or agency is doing it wrong, they’re just optimizing for their most common type of client project: to create a website.
For example, it might be a website for a restaurant, a coffee shop, or a golf club. In the words of Eric Ries, these are ‘known problem, known solution’ situations. We know what a restaurant website should do. It should have a menu, show you where the restaurant is, etc.
With startups, we live in a world of ‘unknown problem, unknown solution’ situations. We don’t know whether our new idea will work. It takes a whole different approach, and I think this is almost always misaligned with the way a freelancer will approach things.
2. It gets you into the wrong mindset of what it takes to get a product off the ground
Very much related to the first challenge, I believe that if you are thinking about outsourcing your startup, you likely already have the wrong mindset about how to create a successful startup.
I’m lucky to have been coding since I was around 12. When I got into startups, I was lucky to have that part of the equation taken care of. What I realized after a few years in the game was that my technical ability blinded me to what it takes to make a successful product. I just kept building, and that’s not the main part of succeeding with a startup.
I think that often if someone is thinking about outsourcing their startup, they’re under the false impression that the key to succeeding with their idea is to get it built.
The idea itself is often way off, and most likely won’t work once you put it out there.
What it takes to create a successful product is eliminating all the unvalidated aspects and finding something that users or customers truly want, that has product/market fit and can get traction. Coding is actually not at all required to achieve this.
Especially today, you can create a fully working (albeit potentially somewhat manual) version of your startup using tools such as Wufoo, Unbounce, WordPress, Google Forms, and other things and never have to code at all. You can fill in the gaps with hustling and manual work yourself. It won’t scale, but ironically that is the key to initially growth and understanding what is working and what isn’t.
Without coding at all, I think you can have an early (far from perfect) product and even start to get traction if you iterate and solve the unvalidated aspects of your idea. Once you start to get traction, so many doors will open up for getting help to code the product and make it much more beautiful.
Many decent coders might become wary of hearing “idea people” come along and try to get them to build their startup. On the other hand, a coder might be extremely interested in a startup put together with no code that is getting really good traction. That’s something they can have a big impact on that has already shown huge potential.
3. The founding team should wear every hat
The other belief I have for why you shouldn’t outsource your startup is: the founding team should wear every hat. Here’s why:
- It gives you the mindset that you can make anything happen, you just need to figure out the ways to do it with your current capabilities
- You retain full control over all parts of the process and can adapt and iterate super fast
- When you reach the point of hiring people, you’ll know the difference between someone great and someone not-so-good
- You’ll have a level of passion across many different areas of the startup. That can more easily help you be great at multiple things as you grow. (It’s hard to hire passion and hard for someone else to thrive in something the founder doesn’t get excited about.)
I highly recommend founders and co-founders do absolutely everything in the beginning. In the early days at Buffer, between the two of us Leo and I did development, design, database and sys admin work, customer support, marketing, and more. I even built the first version of the Android app before we invited Sunil to the team to take it over.
There’s almost nothing we do at Buffer now that myself or Leo haven’t done in the early days of the company. As a result, I get super excited about how far we can take things across all areas of the company, and I can speak on a deep level with anyone in any area.
What to do instead of outsourcing
It might seem counter-intuitive that building the product yourself could be the fastest way to success if you don’t have any coding ability. The thing is, I’m not talking about coding—I’m talking about building your product. In any way that you can. That could mean zero coding, or it could mean picking up things here and there (which is great, too).
I believe you’ll struggle to find a great technical co-founder if all you have is your idea. If you work with a freelancer or agency, it’s unlikely you’ll have a working relationship that lets you cycle through the build-measure-learn loop and iterate towards product/market fit.
My recommended approach is to hack it together yourself while you keep meeting technical people in your local startup community. I believe there’s an inflection point where what you have is attractive enough for a technical co-founder to jump on board. If you don’t have a technical co-founder (or someone technical willing to join as first employee), just keep hacking, doing customer development and validating your assumptions to create something that gets traction.
What are your thoughts on creating a startup if you’re not technical? I’d love to hear from you in the comments!