Chapter 1: How successful startups built their product in the early stages?
Updated: May 25, 2019
To me, startup is a scalable, profitable business that solves a problem. Once the problem/solution has been identified for which customers are ready to pay, the key to scaling is identifying the common steps it would have to take to solve the problem for the all customers. This ensure that it takes same amount of work to satisfy the customers - either one or one million.
For a technology based startup, this is where the need to build a software product comes. In my experience, building a software product is hard - Why? There are many reasons from designing the system, to building the experience, development, testing and many others. To me, it is essentially assembling a team of as passionate smart individuals who can help execute on the vision. This becomes harder when you do not have a personal brand pull.
In this blog, I looked at some of the successful startups and how did they approach software development. In the early stages, different founders chose different approaches to build their team and product. It can easily be divided into three main categories:
1. In house technical team: This is the most preferred approach, particularly when the startup is launched with someone in the team who comes from a solid engineering background. This helps keep the cost low, move faster and ensure better communication between business and product team. Above all, the product team is equally motivated and invested as the rest of the team. However, building an in-house team by hiring has a lot of its own challenges, some of which are:
It's super time consuming to build a tech team - finding relevant people, interviewing, offering and then waiting them to finish their notice period. Often, it takes hundred's of hours to hire one technical person. This means higher turn around time to build your team which leads to missed business opportunity.
It can get pretty expensive to hire in terms of cost. Often you end up hiring consultants, or subscriptions on various sites and others. There is a retention cost as well as overhead expenses such as office expenses, medical, 401K and many others.
Managing and leading the technical team and the product (especially for non-technical founders).
2. Freelancing team: In order to mitigate some of the above issues, startups often augment their team with freelancers. This approach solves a lot of problem that building an in-house team faces such as limitation of local quality talent, budget constraints and team size flexibility. However, this approach often see following setbacks:
Commitment issues - A lot of freelancer that are available on sites like Upwork, Freelancer etc. are moonlighters i.e. they have a full time job and then freelance in the night or they are taking up multiple jobs at the same time. This often shows up meeting timelines consistently and/or poor code quality in final product.
Lack of passion - One of the advantage of a full time person is they often proactively keep thinking of ways to make things better because of their passion and/or emotional attachment to the product. This is often missing with freelancers.
Coordinating and filling communication gaps among different freelancers (especially for non-technical founders)
3. Technology partner: This often solves the issues that are generally faced by assembling a team of freelancers. However, this is often perceived as a bit more expensive route monetarily compared to assembling a team via freelancers. This also often faces issue around lack of passion towards building the product.
Armed with pros and cons of above approaches, I looked at 5 successful startups and their early stage product development approaches:
1. Zomato: Online Indian restaurant search and discovery platform Zomato with more than 1 billion dollar market valuation never outsourced their technology development. Being a non technical founder Deepinder Goyal designed initial framework of the product himself and hired an intern Gunjan Patidar (later became CTO) from IIT Delhi for the development. In one of the interview, Deepinder mentioned that he doesn't believe in outsourcing the initial product development. He also added that with in-house development it's easy to deliver the vision to your team which helps in future expansion.
2. Slack: Slack founder Stewart Butterfield always knew that he has a brilliant tech idea but don't have expertise and resources to convert his idea into the product. So, he chose to go with outsourcing development. Today slack (3 billion dollar market valuation) serving more than 8 million customers daily through their platform.
3. Github: In the early days, the technical founders of Github Tom Preston-Werner and Chris Wanstrath realized that they need extra helping hands for developing their technology and hired a freelancer Scott Chacon for developing backend of the application. Later on they utilized more freelancers to work on their platform and merged with Microsoft.
4. Skype: The name "Skype" speaks for itself and it's success story. But when we look back in early days, the founders Dane Janus Friis and Niklas Zennström came up with an unique idea to call anyone from computer but due to lack of technical background they decided to partner with a team of developers for initial application development.
5. Fab: It's well known to everyone that how Fab founder Jason Goldberg utilized outsourcing for developing their initial website with limited budget and time constraint.
There are often both good and bad stories associated with anything. At the end, I think the key is to identify and assemble a team that can help you achieve your vision. And how to judge people? For me, I equally weigh my gut as much as I weigh logical reasons when judging people.
If you are a startup founder, do share what worked best for you.