The engineering culture is still very bottom-up: teams generally have a lot of power and responsibility to determine what they work on.
Internal developer tools are a huge focus. Anything which slows developers down is fixed if possible.
Very good internal mobility: bootcamp means you have a good deal of leeway in finding a team, and, after a year, internal mobility is encouraged.
Tons of opportunities to make millions of people's lives just a little bit better. Like it or not, Facebook's products are used by over a billion people worldwide. There are few places where improvements and fixes can have such a broad reach.
Lots of intellectual challenges: There are many types of challenges in building products for billions of people: technical (scaling and perf), product (how do you make it useful for everyone), regulatory (how to not fall afoul of privacy regulations), security (how to minimize badness that happens due to the products), and more.
The biggest challenge facing Facebook right now is that it is simultaneously too big to run the way it runs now (with teams trying to fight for impact and all hacking on the same products), and too small to fit with the well-intentioned goals that Mark has for all of the ways that Facebook can help people.
A company without any strong sense of unifying purpose tends toward bloat and stagnation. It feels like this is the direction Facebook is heading. The amount of infighting between teams around responsibility and ownership of new features is growing and will only keep accelerating.
Find a way to stop growing exponentially.
Start paying out dividends and focus on delivering value to users and advertisers alike.
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