Startup context
In my previous post I tackled the importance of context in general. This time I would like to be more specific about some common denominators that could be seen in startups. Hopeful it will help people joining the startup world, as well as the seasoned ones, understand it better.
Money
Ultimate goal of any company should be to be profitable, or at least sustainable. Obviously a startup, especially at early stage, does not have the privilege of an enormous revenue stream, so it's priority is to build one. A metric that helps company monitor the financial situation is called runway. In short it tells how long a company can survive, considering current bank balance and actual (not wishful) spend and income, usually expressed in months. However runway by itself does not tell the full picture, as it does not incorporate the growth factor. Paul Graham introduced a concept of Default Alive or Default Dead companies that helps founders understand how much capital they need in their account in order to become profitable, with a use of a growth calculator. It takes into account expenses, revenue and growth rate, to forecast when a company will become profitable, break even. This is how the calculator looks like
I mention it on a blog dedicated to founding engineers, as these parameters have an actual impact on a day to day engineer job. What is more it can help understand rules of the game, so an appropriate strategy can be applied (plus it is a huge plus to know what others are talking about :)).
When we look at the Expenses common big factors are:
- Salaries - every new hire must be essential to the company success and must be a good cultural fit.
- IT Infrastructure (Cloud) - it is important to keep an eye on the costs here, as it is very easy to for example forget to turn off a service, used for PoC (speaking from experience). It is worth setting up a budget, or alerts and review costs on a regular basis.
Revenue and Growth are closely related. Basically what engineer's (and every employee's) goal is to enable business to sell more and better product, thus enabling growth. There are direct and indirect ways to achieve that. Sales people contribute directly, by reaching out to prospects, tending to customer needs and closing deals. On the other hand engineering team contributes indirectly by delivering the right product and maintaining the quality of service. Clean code, pure architecture, cool frameworks are just tools used to deliver in a sustainable way for a long period of time, not a goal on it's own.
In big companies, focus on the revenue tends to get blurred, as engineers get pre-digested requirements from product team and are often shielded from business. However in startups it is in a plain sight, due to more direct contact with and impact on customers. To visualize it let's assume a company building D2C product with subscription price $8 a month. The expenses are stable around $10,3k a month, with existing revenue of $165. To get profitable within 2 years the company has to grow 19% every month and will require at least $186k in bank account to stay alive by this time.
To break even, this hypothetical company would need to get around 1275 customers in 2 years, meaning in average 53 new customers a month. I am oversimplifying on a number of layers here, to highlight that to onboard 53 new customers a month, there is a need for smooth self checkout process. Either this, or there is a need for new sales person to guide users, but then the monthly expenses bar rises.
An opposite situation would be a company selling expensive products to businesses. For the sake of the example, let's use the same parameters, except price. The product is also subscription based with the price of $800 a month. In this case the company would require to grow "only" 5 customers a month to get to the break even point. In this case building a self-served on-boarding process might be secondary, to building the right tools to support the sales team. This might mean help in automating the CRM workflows, or delivering new features to close deals.
Both examples show how business model and financial situation understanding helps prioritize better.
Team
Growth rate can be associated with the funds the company has access to. Founders can decide to bootstrap the business, or seek investors. With the second approach growth is expected to be higher, including growth of the tech team. For now I will just highlight some common challenges related to growing tech teams, with the intent to cover it depth in following articles. The challenges are:
- What technologies to use? Imagine situation when there are 2 full stack engineers (using Type Script). A time has come to introduce Continuous Deployment to the system. There is no way this team can handle on-premise Jenkins installation, configuration and management as well as working on the business logic. Luckily there are other, more lightweight tools, like gitlab CI, therefore our hypothetical team is safe.
- How to deal with people leaving? If there is a team consisting of 3 engineers and one decides to leave, it is 1/3 of the whole team!
- How to build a production system that can be "fixed" by any engineer? Imagine what happens if there is a single person who has credentials to production environment and been hit by a bus?
- How to deal with constantly shifting priorities?
- Who and how to hire the right people?
- How to onboard them quickly?
- How to share knowledge in efficient way?
- How to organize work in a flat structure?
- How to work with C-level executives on a daily basis?
- What decision making framework to incorporate?
- How to encompass the remote organization challenges?
- How to deal with fires?
In a greenfield startup, most of those topics are not addressed day one. What is more solutions that worked well in a bigger company, might have disastrous effect on a small company.
Phase
The situation of a startup also varies depending on the phase. For the sake of the discussion it is worth mentioning Product Market Fit, in simple words: if a company reaches PMF it means the product is solving an actual problem that customers are willing to pay for. Prior to this phase company might pivot a lot. It means that there might be a lot of priority changes, custom client work, PoCs (Proof of Concept) going live. After that the main focus of the engineering department will be to productionize, scale and improve quality. It can be compared to a sprint in pre-PMF and a marathon post-PMF phase. It is hard to pin-point the exact moment when the switch should happen, although it is responsibility of the tech team to make it.
Statistics
Every startup is different and there is no golden mean to win. At the time of the writing there is around 1100 unicorns globally [1,2]. At the same time around 90% of all startups fail [3]. Although it does not mean that the remaining 10% will ever reach the unicorn status. I have high hopes for many startup endeavors, however it is hard to argue with statistics. For me this is both scary and liberating insight. Liberating as I had a number of ideas and side projects that I killed when I sensed that they have no chance to become profitable. Obviously is not that easy when there is a commitment to customers, or investors.
Summary
In the article we covered context and challenges that startups face, along with the impact on the engineering team. I intend to cover these topics in depth in following articles, so don't hesitate to hit the subscribe button!