Since everything on the internet gets misunderstood, I will emphasize a few things (repeated from the slide because it should be):
- Google is an incredibly successful business and organization.
- Google was far more agile at 1500 people than most 200 person startups.
- At every point in its growth, Google was/is the best in its class as an employer for engineers.
- Many consider Google's #1 mistake to be having a tech ladder in the first place. I covered that topic in my post on Promotion Systems, so did not feel the need to belabor the point.
- Facebook has deliberately throttled its growth in the engineering organization. While Facebook could afford to double every year, its deliberately maintained its growth at well below that rate because of acculturation problems otherwise. In 2004, a senior manager at Google begged the founders to reconsider doubling every year. Google probably would be very different if that manager had successfully won that political battle.
- Every manager I talked to spoke about the need to balance different contributions to Facebook's engineering efforts. In particular, many people echoed Yishan Wong's statements on Quora:
There is a part of Facebook culture that is actually against the "we're only here to work on innovative, ground-breaking, glory-seeking projects" that grew out of a reaction against the perceived Google culture of the time (approx. 2006 - 2008), as well as a recognition that long-term, sustainable success is built far more on hard, thankless grinding than brilliant innovation.
As a result, Facebook actively respects people who do the "thankless, dirty work," like rewriting spaghetti code, making build systems, crushing annoying bugs, etc (obviously, it ends up being much less thankless in that case). High-profile projects at Facebook get respect from the press and the outside world, but "doing the dirty work" gets you respect from your peers and management. At least while I was there, we had a tendency to prefer engineers for advancement who had spent considerable time "grinding it out" and supporting their peers.
Lastly, the occasional notable innovation or well-executed project is made possible because one's peers have put in the time to ensure that all the mundane groundwork is done well (i.e so that critical subsystems do not fail on you when you are trying to launch something new and risky). This is appreciated on a peer-to-peer basis and, while I was there, most everyone took their turn doing "the dirty work."
- Facebook's engineering organization is much smaller than Google's. Even better, people are mostly compensated with stock. This makes it easier to ignore "what's best for me" and do "what's best for the organization."
- Sanjeev Singh (who has a deep knowledge of both organizations) said to me, "Facebook has done a far better job of promoting from within than Google did at the same size."
- Facebook is much more engineering constrained than Google was. Part of this is deliberate, but the other part of it is that Facebook had a much tougher time recruiting than Google did.