Welcome to EM Talks, a newsletter of value with no fluffy content.
EM Talks provides resources, templates, and frameworks for those who ❤️ software engineering management. This bi-weekly newsletter features tips, tweets, posts, jobs, and thoughts on a variety of Software Engineering Management topics.
If your goal is to become 10x better at managing software engineers or a software engineer who wants to know about engineering management, continue reading.
I got a call from one of my friends. He was interested in moving from a big company to a startup and had lined up multiple interviews with various startups. He wanted to get my thoughts on what to expect in startup interviews.
I have seen some people in my network move successfully to a startup and I have also seen people who hated moving to a startup. I moved from a big company to the startup world a few years back. I have worked at multiple startups and am currently a co-founder of one. Looking back at my own experience as an engineer I can see there are pros and cons to moving from a big company to a startup.
So instead of talking to my friend about startup interviews, I gave him all the reasons why he should not join a startup. I hoped that if none of these reasons apply to him then he is going to be successful in a startup.
Here are the reasons I shared with him. Let me know if I missed anything. Before any of the reasons, a huge disclaimer. I am not a lawyer, not an investor, not an expert in startups. These are just my perceptions about startups based on my own experiences.
What is a startup?
The first startup I joined had 4 engineers, including myself, and a high-level idea. No product, no team, no code review, no processes. It was the wild wild west. The next startup I joined was a unicorn startup with more than 250 employees. Last time I checked, Stripe, which calls itself a startup is valued at $95 Billion and has more than 4000 employees.
They are all called startups. The first thing I learned is that there is a huge spectrum of companies that call themselves a startup. At a high level, there are bootstrapped startups that you don’t hear much about and there are venture-backed startups. For now, let us restrict ourselves to what engineers should consider when they join venture-backed startups.
Venture-backed startups can be grouped based on their funding status.
At a high level, you can categorize them as
Early-stage startups - Pre-seed, Seed, Series A
Growth stage startups - Series B+
Reasons not to join an early-stage startup
Early-stage startups (Pre-seed, Seed, Series A) are startups that are still figuring out a product-market fit. Most of the successful businesses today were once early-stage startups. This is a high risk, high reward category. More than 90% of the startups in the early stages fail to move on to the next stages.
No clear team definition
In a big company, you know mostly which team is responsible for what features but in an early-stage startup the definition of a team is very loose. If there is some work to be done it HAS to be done. Full stop. I went from managing 2 teams (of about 25 people) at Microsoft to being an individual contributor cranking out code in an unfamiliar language and environment. If having a clear team definition is important to you then an early-stage startup is not a good fit.
Manual work
Get ready to do some manual, boring work. As the startup is growing, there will be many gaps in automated workflows and product features. The manual work of engineers fills in these gaps. One of the products we worked on had a customization feature. When customers click on that feature, it will send an email to my inbox and I had to build it manually and light it up. If you hate doing any manual work then don’t even think about early-stage startups.
Product scale challenges are lesser
At this stage, there are not hundreds of customers using the product daily. Due to this, you will not encounter a lot of scale related engineering challenges. If you are an engineer who loves distributed computing, data center resiliency, etc. then it is better to avoid early-stage startups.
Time to market is more important than architectural correctness
From an architectural point of view, you will end up making different choices in early-stage startups. I have been involved in efforts to move away from a monolith to micro-services when I worked for big companies. I have seen firsthand how monolith affects developer productivity. Yet, when I started building the product for my company, I went with a monolith. Mainly because it is faster to build, release and maintain features in a monolith. Will it be a problem in the future? most likely yes but that is a good problem to have. If there is a future for the startup then it means we have more engineering help and we can solve it. If you care about architecture correctness from the start then avoid early-stage startups.
Change is the only constant
As much as this is a cliched statement, it is true for an early-stage startup. Early-stage startups are not afraid to completely pivot their product. Slack grew out of a successful pivot from the video game Glitch. The features I developed in my first startup ended up in the trash after the company decided to pivot to a different product. If you are a person who has an emotional attachment to your code and the features you develop then early-stage startups are not a good fit.
Financial benefits are uncertain
If you are extremely lucky joining an early-stage startup can bring a life-changing financial outcome for you. Typically, when you join an early-stage startup, the options are priced in cents. When the company has a big exit your options are hugely valuable. Imagine joining Uber or Pinterest when they were valued at less than 10M. Success stories like this happen only once in a blue moon. Most startups fail to graduate from an early stage status. There is a good chance your options are worthless.
The startups' growth curve is not linear. Some successful startups today were built after being almost bankrupt at one stage. It is not uncommon when startups cut employee compensation partially or fully for a certain duration.
If you prefer measurable, reliable financial benefits from your workplace then early-stage startups are not a good fit.
Reasons not to join a growth-stage startup
Growth stage startups (Series B and beyond) are startups that have figured out their market, product. They are mostly focused on scale and new experiments.
Changes in management
Be ready to embrace constant changes in leadership and employees. The first set of leaders and employees who built the company may not be the best people to scale it. Scale requires different expertise than building something from scratch. So expect to see a lot of leadership changes. One of the startups that I worked for had 3 different CTOs at various stages. If you are not comfortable seeing leadership changes then avoid growth-stage startups.
People Growth
Growth companies in these stages expand at breakneck speed. Every week you will see a new set of employees join. You will be pulled in to do a lot of interviews. At some point, I was doing 5 to 6 interviews a day. As new employees join, you will also be helping them with their onboarding and mentoring. If you feel overwhelmed by doing interviews, onboarding new employees then think twice about joining a growth-stage startup.
New Processes and Documentation
Growth stage companies transition from being the wild wild west startups to mature companies. As a result, lots of efforts are made toward documenting the current processes and creating new ones going forward. Growth stage startups are not for people who cringe at writing multiple documents and creating new processes.
New Teams and New Initiatives
As companies try to grow fast you will see new initiatives being created along with new teams formed to support them. There will be changes to existing team structures to support new initiatives. This happens in big companies too but it will happen much more often in growth-stage startups. If you are not a fan of constant reorganizations of teams then avoid growth-stage startups.
Find Your WHY
Startups are hard. Leaving a well-paid job in a big company for a startup is a big decision. Irrespective of whether the startup is at the early stage or the growth stage, you are going to be surprised. Having a clear reason about why you want to move away from a big company to a startup prepares you mentally to embrace the startup life. So figure out your “WHY” before lining up your startup interviews.
Contribute to this newsletter
Startup EM Jobs
Angel list is a great resource if you are looking for an engineering/engineering manager role in an early/growth-stage startups Angel List Talent
If you like this post from EM Talks, why not subscribe to it?