Senior Software Engineer • Current Employee
Pros: The compensation is above market level, although this is starting to decline.
There's a chance to learn from some really awesome professionals.
The benefits are top-notch.
Remote possibilities exist.
Cons: The performance feedback process (called PSC) is extremely unfair; manager decisions are not debatable and they don't need to be factual.
That means it's very easy to be bullied or harassed by the manager if they don't like you (except for protected categories). The only way out is changing team (and risking losing your rating/setting back your goals).
Peers can also negatively affect your career with negative, undebatable feedback that the manager will be forced to take into account, lowering your ratings.
Whenever they start a new initiative, they simply put a bunch of senior engineers together and let them fight over the path to take. Most people are extremely ambitious and happy to work 80+ hours for a chance of earning promotions/high ratings (as these are so highly compensated). They would kill each other for the chance of leading the initiative.
This leads to a super stressful environment where the things that count the most are long hours, politics, and aggressive behaviors.
It took me a while to realize most people drank the Kool-Aid in this company.
Also, your mileage may vary. The company is huge, and I can only speak from my experience and that of my circle.
My advice: if you can pass the interview process without stressing too much, get in, get some money and the title on your resume, and get out. Then find a more sustainable job to settle with. My understanding is that most people are doing exactly that @ Meta. Personally, though, I don't feel it's worth it.