Pros
- Internal tooling: Coming from Microsoft, the internal tooling here is nothing short of incredible. Everything just *works*, and it's mostly consistent throughout the entire company. Everyone uses the same code review process. Everyone uses the same build tools. Everyone uses the same check in process (per repository). Everyone uses the same employee feedback process. etc... There are also lots of internal services that are really helpful. Services for deployment, managing configuration, a/b testing, etc. Because everyone uses the same tools, everyone invests in them and they're well-documented, easy to learn, etc.
- People: everyone I've worked with is really smart and happy to lend a helping hand. Haven't had any issues so far.
- Work: I've enjoyed the kind of problems that I get to solve at Facebook much more than the kind of problems I got to solve at Microsoft. I worked on four different teams at Microsoft. The problems here are more challenging and require scalable, efficient solutions.
- Culture: The culture here is fantastic. Internally, there is a lot of transparency. There isn't too much politics. You can make improvements on part of the codebase. There isn't much process to slow you down. There is a lot of individual freedom in what your prioritize and work on.
- Work life balance: I've had great work life balance here. I typically work 35-40 hours a week, and I've not once stayed late for dinner. On-call is pretty light--much easier than on-call at Microsoft. This might vary by team.
- Food: Really good food. Lots of healthy options (and unhealthy options if you want a cheat day).
- Benefits: Pretty happy with the benefits. The transportation options are really good. The baby benefits are great.
Cons
- 401k matching is capped at 50% match up to 7% of base salary
- No matching contributions for charitable giving