What are the pros and cons of working at big vs small tech companies?
Around mid-2020 I was back at Microsoft after leaving Facebook and taking a break. I was leading the applied science team for Machine Teaching, working with a great group of people. But suddenly there was a big re-org. Teams were split, projects canceled, and I found myself under a different organization and charter. I spent the next few months looking for a project, but I couldn’t find a great fit for me and my team. At that point, I decided to expand my search outside of Microsoft.
To make a long story short, I found a great opportunity at Outeach.io, to help build Kaia. Not only was the project a great fit, but I found I knew several people on the team. I was also looking for the experience of working at a smaller company. Granted, at this time Outreach had about 600 employees, so it was no longer super small. But this was still two orders of magnitude smaller than the tech giants.
It’s now been about 18 months since I joined, so I figured it’s a good time to reflect on the journey and the difference between these two working environments.
The Work
I’ve observed differences in the work content from two perspectives:
Customer Value
The first is from the customer or business value perspective. At a large company, the customer and their needs can seem pretty distant. Oftentimes the teams working closer to the customers such as Sales, Support or Marketing are in different divisions and locations. My day-to-day at Microsoft and Facebook had me interacting with engineering 99% of the time. The requirements also tend to be a lot more generalized and abstract and understandably so. Most big company products have to cater to a large and often diverse customer base.
On the flip side, at a small company, the customer base is much more specific. And the smaller organization means that you can interact often with other disciplines outside of engineering. For example, I’ve interacted directly with sales and support to address issues for a specific customer. This also translates into a different type of impact. At a big company, you often get to make a small amount of impact but on a huge scale. For instance, when I was working in Messenger I made small accuracy improvements to one of the machine learning models, which then gets multiplied to billions of users. Conversely at Outreach, I’ve implemented entire new features that help us land new customers, and each one has a big impact on the company.
Technology
At a big company, you often get to leverage large investments in infrastructure. This allows you to focus on very specific areas. For instance, to build a Machine Learning model at Facebook you may have the data readily available in a Hive cluster, you can train and tune the model using FBLearner, and then deploy your model at scale using the Predictor service.
In contrast, at a startup, I’ve had to do a lot of infrastructure work. This means deciding on appropriate storage technologies, standing up your own GPU clusters, writing Kubernetes YAML for deployment, etc. Honestly, I’ve enjoyed this, and it has been a great learning experience. In the last year I’ve learned Go, k8s, Terraform, and even a little React.
And this points to another big difference. Most of the technologies we use at Outreach are either commercial solutions or open source. For example, we use GitHub, DataDog, LaunchDarkly, and AWS among many others. Tech giants often have a lot of these tools built in-house, which makes sense at their scale. In this case, I’d say that startups give you an advantage since the skills you pick up will be much more transferable.
Pay and Perks
The pay will likely vary quite a bit by startup and the stage that they are in. You are often trading the predictability of a very solid salary + RSUs package at a big company for the potential of a much higher reward from a startup. While both will depend to some degree on how the company and stock do, the startup compensation will have a much higher variance. When deciding on this axis you need to think about your life stage and financial position. Is this a good time to take a risk in return for a bigger upside? Or do you need more income predictability in the next few years?
When it comes to perks it’s hard to compete with big tech and I do miss some of them (free freshly squeezed orange juice at FB comes to mind :)). Many of the perks can be translated into a dollar amount, so you can lump them into the compensation discussion. But there are some conveniences that are just hard to replace, such as an onsite gym or company shuttles.
Career Progression
Last but not least is the impact on your career. There’s no denying that having a big name on your resume will open doors. The experience can be great and honestly, the name recognition can feel really good too (e.g. your parents can brag about you!). A startup offers a different set of experiences and challenges. A fast-growing company can give you the opportunity to take on roles and responsibilities that may not be as available at a large company. In the end, these experiences can be very complimentary, and having both will make you a more well-rounded engineer.
I hope this helps the next time you find some great opportunities and are trying to decide between big vs small tech companies. Feel free to post questions in the comments below.
Leave a Reply