Is code the best part of your product to outsource?

Is code the best part of your product to outsource?

If you’re building a world class restaurant, you’ll not bring caterers to do the food — you’ll bring world class chefs to build and experiment with the first version of the menu.

In this snapstorm, Mark Suster discusses why Startups shouldn’t outsource the development of their product. His arguments seem to be based on previous bad experiences with some of his startups. But being a startup with a team of a few, you’ll have many fire fronts to tackle and not bandwidth for all:

  • Market Research
  • Sales & Marketing
  • Customer Support
  • Code

So if you need to outsource some part of your product, and can’t outsource development, what part should you outsource?

Market Research

In Market Research you’ll be understanding what you customers want, and thus the problem that you’re trying to solve.

When Adora Cheung started Homejoy, she went cleaning houses. She did it to understand every inefficiency and bottleneck. She didn’t ask a 3rd party to do all the research for them — she did it herself.

Because, if you don’t know your customers, you’ll not be able to build the product they want. As simple as that. You’ll be doomed even before you start.

Marketing & Sales

Marketing & Sales doesn’t have one-size-fits-all recipes. You’ll need to experiment with various strategies and tactics before knowing which ones work for you. For example, if you’re a marketplace for stores online (read Shopify), you may start by looking at marketplaces as Craiglist, and engage with who are selling various products.

You’ll also be trying different communication channels, as Email, Twitter, Snapchat, etc. Maybe try with a referral program too.

With a set of metrics, you’ll be evaluating the different approaches and see which ones you should eliminate and which you should keep improving. Rinse and repeat.

Only after you make a few experiments to understand what results best, and you have your processes well established, you should be outsourcing. Otherwise, you’ll probably be wasting money scaling something you shouldn’t scale yet.

Customer Support

In Customer Support, you’ll be listening carefully to your customers to understand every single one of their pain points.

In part because you want to make sure they’re very happy using your product. But most of all, because you want to better understand how they use it, which is critical to know the direction your product development should be sailing towards.

Customer Support, when done in-house, makes you able to prevent problems, instead of quick-fixing them as they appear. Customer Support makes you understand what you product needs.

Stellar agencies tend to win over inexperienced startup teams.


We’re now left with code. Code, from all the components that make part of building a product, is the best one to be outsourced.

In his snapstorm, Mark Suster mentions that many Startups have to throw all their code once they move the development back in house being that a waste of money. But:

  • With or without agency, it’s actually very frequent for startups to want to rewrite their product once the MVP is launched. That’s partly because, by the time you ramp up your business, your product is going to be quite different from the one you defined at the beginning — this will also affect how your codebase is structured. On another hand, that’s partly because of inexperience from the dev team which should, through the right processes, be continuously refactoring to avoid technical debt. In this case, stellar agencies tend to win over inexperienced startup teams.
  • Even if you have to throw all the code in the recycle bin, it’s not a waste of money. Because of, either way, your MVP served its purpose — to validate your idea and put your business up and running.
  • As much as I love Mark’s insights, in this case, he’s overgeneralising the quality of dev agencies. As in everything in life, there are the bad and there are the stellar agencies — you need to avoid the “go for the cheapest” mentality, and look for the best instead. If you’re building a world class restaurant, you’ll not bring caterers to do the food — you’ll bring world class chefs to build and experiment with the first version of the menu. There are fantastic agencies who helped startups — as Slack, AppSumo, and — build their product in the early days.

Outsourcing is a low commitment way to build out parts of your product you aren’t yet sure if critical to your business. Only after that validation, you know better what key profiles to hire according to the success factors/components/features discovered while outsourcing.

In other words, outsourcing is much about validating and aligning the tech necessary to address the market, instead of hiring various engineers of a given profile (say back end) until later finding that the key role is UX, leading to a management debt problem.

Only once you’ve got that product validation, your Sales & Marketing channels established, and your first paying customers in, should you be looking to bring development back in house. That’s when you should be hiring the best, which is a tough job by itself. Until then, outsource your code to the best chefs.

#the-forge #product-development

Daniel F Lopes

More posts

Share This Post

Right Talent, Right Time

Turnkey technical teams and solo specialists
when you need them for greatest impact.

Work with us