Pros
* Unbeatable perks * Excellent coworkers who will go out of their way to help you * Culture of open communication and authenticity that values differing opinions * Great opportunities to travel abroad for work * Lots of work events and social activities * The decaf coffee actually tastes good - seriously, I miss Facebook coffee so much
Cons
* Your job satisfaction (and your salary) can change greatly depending on where you are in the company. My technical title was substituted with a non-technical "specialist" equivalent that paid less, resulting in a 20% bump in my salary when left, despite downgrading from a "lead" level position at Facebook to a "senior" level position at my current job. * Management is often promoted based on seniority rather than competence. * "Most fast" mentality leads to duplicated work, lack of documentation, and general confusion. Senior ICs are expected to spend much of their time project managing to make up for the failure in organization. I often found during requirements gathering for a project that part or all of it had already been done elsewhere and everyone had simply forgotten about it. * The culture of open communication makes it seem like employee feedback is valued and encouraged, but actions are rarely taken on that feedback. The above issues weren't as bad when I first joined, but my last year there was a nightmare filled with so much toxic stress and bad politics that I regularly broke down crying when I got home from work. On the other hand, I have friends elsewhere at Facebook who do the same job and love every minute of it. It all comes down who your managers and directors are. Personally, you couldn't pay me to go back.