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.