3 ms·
I suppose the answer to your question depends on your definition of growth. Succeeding at a large company requires a certain set of skills; I've found the level
by fierro 8y ago
I suppose the answer to your question depends on your definition of growth. Succeeding at a large company requires a certain set of skills; I've found the level complexity to be higher, the scope of systems to be wider, and the codebases more difficult to quickly grok. Developing the skill to manage these challenges will help you grow as a "FAANG" engineer. This was my experience at Amazon and is my experience at Google; there are multiple systems managed by multiple teams that solve the same problem, there is generally a lack of authoritative information, and you have to develop a sense of calm in a chaotic, cluttered technical landscape.
At a smaller company, you will grow more as an engineer, in my opinion. The tech stack will be fresher and more modern, and while the quality of code may be significantly lower, the complexity of the systems will be lower, and thus you will be able to grasp much or all of the tech stack and how the systems/services work and relate. You will have a better sense of product. You'll learn how the industry operates and will have a better pulse on the state of the art.
Smaller companies are more fun. You learn more. But FAANG pays better, and that's what I'm currently optimizing for (so that I can retire earlier, or move to a smaller company later with a bigger safety net).
It's a personal choice.