The most important reason to work at Facebook is the other people working at Facebook. Almost all of them are very, very good.
Down to about the 20th percentile of engineers, you can pretty much take their word as gold: if they say they'll do X in time Y, they will, and often a better X in a little less time than Y. This is a kind of superpower: it reduces the overhead of coordinating complex projects significantly.
Facebook is also a mission-focused organization, in the same sense that the military or a relief agency is. Most employees understand the goal of the company to be larger than just making its employees and shareholders materially successful.
You will enjoy a vertiginous amount of authority as a front-line employee at Facebook. For better and for worse, on your first day at Facebook, you're given the keys to the proverbial Ferrari; you can push code, fix bugs, implement features, and yes, crash the site as much as any other engineer. Many user-facing decisions end up getting made by individual engineers.
This also implies that your work will have impact. Almost everyone you meet in your daily life is a user of your software. If they are unhappy users, it is your fault and responsibility to make it better. If they are happy users, you can enjoy your share of the credit.
All the basics (salary, equity, career advancement, food, miscellaneous perks like shuttles from SF) are world-class as well.
A mission-oriented job is not for everybody. If you are looking for a paycheck and a ton of time to pursue your model railroading hobby, Facebook is going to be a weird fit for you. This is not to say that people don't have hobbies or that everybody works 70 hrs/wk. But if you are completely "checked out" from your job, this will not be a happy place for you, no matter how good you are at it.
The physical work environment (open plan office, graffiti on the walls, lots of free-form discussion and collaboration) can be jarring if you're coming from a more typical corporate engineering environment.
Pretty standard. Just grind LeetCode. They basically want you to make zero mistakes and solve problems like a robot. They don’t really care about your thought process, just that you find the most optimized solution ASAP.
The whole process took about two months. It started with a 30-minute recruiter call, then a 90-minute online assessment with four questions. I didn’t have time to finish all four, but somehow passed that round. The next step was a technical screenin
Technical Phone Screen A 45-minute coding interview where you will solve one or two coding problems, focusing on optimal solutions, edge cases, and complexity analysis. Usually, more than two problems will be asked, and there will be follow-ups to t
Pretty standard. Just grind LeetCode. They basically want you to make zero mistakes and solve problems like a robot. They don’t really care about your thought process, just that you find the most optimized solution ASAP.
The whole process took about two months. It started with a 30-minute recruiter call, then a 90-minute online assessment with four questions. I didn’t have time to finish all four, but somehow passed that round. The next step was a technical screenin
Technical Phone Screen A 45-minute coding interview where you will solve one or two coding problems, focusing on optimal solutions, edge cases, and complexity analysis. Usually, more than two problems will be asked, and there will be follow-ups to t