| I've been at two FAANGs. They're all different and it varies by company and team. Some the more general reasons to not work at one are - The tech stack is idiosyncratic - You won't necessarily be exposed to the same breadth of experience - You won't know most people at the company - Less agency as an engineer - More organizational overhead - You're not good at leetcode or don't want to put in the time - Your work is often less connected to a tangible problem - You're a cog Reasons to work at one - The pay - It lends credibility to your resume - Higher ceiling for star performers - Stability - Learn how things work at scale - Better perks Oh, one huge one: different people are better at different stages of a product's lifecycle. No time for tests, monitoring, alterting, or code reviews? An early startup might be a better place because they don't have time for those, either. |