Working at startups vs large companies
Working at a large company like Apple or Google is such a common goal in the tech industry that there's even a market for selling courses and books designed to help people achieve this goal.
But one thing that I've learned in my career is that working at such companies is not for everyone. The experience of working at a large company is extremely different from that of a startup, so if you're not aware of those differences, you can end up having a big (negative) surprise down the road that can make you regret your choices.
In this article, I'd like to show you the difference between companies of different sizes so that you can determine which one better fits your personal style and interests.
Disclaimer: I haven't worked at every company to ever exist in this planet, so this is obviously not a 100% perfect model for every company out there. There are always exceptions, this is just a basic description of the average case.
Working at a startup
Pros:
- Great to get experience in a wide variety of topics and areas
- Growth potential is huge
- Little to no bureaucracy or politics
- Generally a great community / vibe overall
Cons:
- Generally crap pay
- Highly unstable
- Little to no engineering challenges (startups often prioritize speed)
- Work is complete chaos
- Most likely going to work with a product that nobody cares about
Working at a startup is the most fun I've had in my career, but I think it takes a special kind of person to thrive in this environment.
I feel that working at a startup is ideal if you have an entrepreneurship mindset, because you not only get to be constantly exposed to the organizational side of things, you are likely also involved in it. This allows you to build a lot of experience with how companies work under the hood, which I've found to be really handy overall.
Another thing I like about startups is that the vibe is generally very positive. Since there aren't a lot of people in the company, there's basically no bureaucracy and chances are that everyone gets along well. This also makes it so that you can grow quite fast in the company, provided that the company itself is doing well in the first place.
In general, startups are a high-risk high-reward situation. While you can win big fast, you can lose big just as fast because any minor setback can destroy the entire company. This is another reason why I find them best for those with an entrepreneurship itch. The work itself also tends to be very chaotic and thus not something that someone looking for stability would enjoy.
Another important downside to mention is that the engineering side of things tends to be a bit dull. Since startups often prioritize speed, building things tends to be down-prioritized in favor of going for easy out-of-the-box and / or plug-and-play open-source solutions, making a software engineering job feel more like assembling LEGO than anything else. Every work I had as a mobile engineer at a startup was basically 100% building UI, which became really boring to me after a while.
Working at a mid-level company
Pros:
- Generally good pay and benefits
- Better engineering challenges than the startups
- Opportunity to work with popular products
- Mostly stable
Cons:
- Growth potential is not as great when compared to a startup
- Some bureaucracy / politics
- Despite the presence of interesting challenges, there aren't many sufficiently skilled engineers to tackle them / the engineering culture is not strong enough
The mid-level company is the company that is big enough to overcome the downsides attributed to startups, but nowhere as big enough to have the pros attributed to large companies. In general, the pros/cons of a mid-level company are essentially the averages of the other two cases in this article.
The primary problem with mid-level companies is that they try to mimic the processes and objectives of large companies, but have nowhere near as many resources as they do. This results for example in the team being tasked to solve massive engineering infrastructure challenges, because that's what large companies do, even though almost no one in the team is skilled enough to pull it off (likely because most who did have such skills ended up getting poached by the large companies). This puts giant pressure on these select few, which on one side can be seen as a great growth opportunity, but on the other side puts the company into a difficult position, as said people are likely to either burn out or leave in favor of an actual large company.
With that said, I find that mid-level companies still offer great growth opportunities. I think they are good choices for people who like the vibe and stability of large companies but can't stand the downsides of working at actual large companies.
Working at a large company
Pros:
- Life-changing pay and benefits
- World-class engineering challenges
- Opportunity to work with some of the smartest people on the planet
- In some cases, opportunity to pioneer / define tech trends for the entire planet
- Opportunity to work with products that are used / loved on the entire planet
- Apart from potential layoffs, they are extremely stable / too big to fail
Cons:
- Unbearable politics
- Growth is extremely hard
By "large company", we're talking about tech giants like Google, Apple, Meta, and so on. Looking at the pros, it's easy to see why people dream of working at such places. But what a lot of people don't know is that there are strong downsides attached to working at such companies, and being able to tolerate them is critical to succeed there. I've met many folks who couldn't and ended up leaving.
The first and most critical downside is that everything is covered by a thousand layers of bureaucracy and politics. I cannot overstate how unbearable this is, but it's how things at companies of this size.
When you work at a startup, if you want to do something, you just go there and do it. For a mid-level company, it might be slightly more annoying, but still doable. But when you work at a large company, if you want to do something, you're going to have to have a meeting about having a meeting about drafting a document about a meeting about drafting another document, which hopefully will be picked up by the planning season several months later, leading to more meetings and documents until hopefully you get to do some actual work around a year later, unless the company re-orgs sometime during this process, in which case you'll have to drop everything and start from scratch.
This boundless bureaucracy extends everywhere, including the promotion process. Growing at such companies can be extremely hard as the process involves considerable amounts of bureaucracy and things that are outside of your control, especially for Staff+ positions. Which team you're part of also plays a big role as some teams are bound to have more opportunities to drive impact than others in a company of this size.
I think that thriving at a large company is directly correlated to how much you can tolerate such politics. No one would look at this description and be happy, but if you look at it and feel that you could take it, then working at a large company might be for you.
Conclusion
As I mentioned in the beginning, this is just a basic description of the average case. There are thousands of exceptions who surely don't fit into these descriptions. But the idea is just to present that the concept of trade-offs also applies to companies and cultural fit. Just because one company is larger than the other doesn't necessarily mean it's best you; depending on what you value, you might find that smaller companies are a better fit for you.