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.
What if your friend has actually done something wrong though, for example, scammed multiple clients out of money? Giving them the ability to remove that information means future clients can't get a fair warning. I'm not knowledgeable about the concept as a whole to have a strong opinion yet but it seems like there's plenty of times I think something should remain public even if a person doesn't want it. If someone posts something false, we have legal systems to handle that complaint. It's not perfect but this seems more dangerous.
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.