But money isn't everything. Startup #2 was the place where I learned the most. I was senior enough to be single-handedly responsible for large projects like a distributed search engine and a logging and analytics service. Sure, my search engine was a POS compared to Google's, but at Google I would've worked on a part of a feature of a component of the search engine whereas at a startup I got to build the whole thing from scratch. I'm almost 40 now, and that search engine is still by far the most fun and educational engineering project I've ever worked on.
Aside from learning potential and financial comp, there are other factors like team camaraderie, independence, etc. I keep in touch with way more people from the two small startups than I do with Google colleagues. Google had a good culture, but the startups were much tighter knit.
Finally, I think articles advocating for startups vs. big companies are a little like trying to convert someone to atheism or Christianity with a blog post. It doesn't really work that way. Some people are wired for startups: they love them and spend their careers at small companies and don't understand why big companies are attractive. Other people are more drawn to big companies where the company itself has a huge impact, the teams are well-staffed and have lots of resources, and the employees get higher salaries and lots of other benefits. When these people try working at a startup, they often hate it and quickly go back to another large company.
Neither big nor small companies are objectively the best, but if you factor in personal happiness then often one type of company is the best for you.
But then I switched teams and stuck around for 5 more years before leaving out of boredom. I joined a startup, and learned far more in that first year than the last five years in Big Tech. In the span of two years I went from not really knowing how SSL worked to being the architect and primary coder for a couple kubernetes deployments with a few dozen services.
The thing about big tech is that you become super specialized. Sometimes that’s fine, like if you’re a kernel hacker earning $$$, but if you join the wrong team then your world just shrinks.
I don’t ever want to go back to working on a tiny piece of something, even if that something has millions of users. Even if nobody exists on purpose, nobody belongs anywhere, and everybody’s gonna die, I still like the feeling that the work I do somehow matters to the people using the product.
So a dev team of less than 10 is probably the sweet spot for me.
It’s pretty rare for this to actually happen in my experience. Generally an early engineer will grow and be ready to take up the role of VP Engineering or even CTO and instead the VC’s will parachute in one of their cronies once the hard work has already been done.
One very salient explanation of this that has stuck with me goes something like this:
A fast growing early stage startup is great for learning because you'll often end up with tasks that you're not qualified to do, which forces you to go out of your comfort zone and learn from the inevitable mistakes you'll make along the way, whereas in a large company they usually have plenty of more senior people to take care of the more challenging tasks outside of your current pay grade.
That's a very good point. Money isn't everything. Pretending that money is the ultimate goal of life can be off-putting in the startup world and in the American lifestyle in general.
Obsession with money is an easy way to envy, burnout, depression, and loneliness.
I'm going to be honest, I don't think this is the norm. I worked at a start up for years and never experienced that level of ownership or challenge. We basically built a glorified CRUD with VC money. Good for you! But I don't think this is the case for many? Or maybe it was just me.