There are blog posts that you can write without doing any prior work (he says, looking meaningfully at himself in the mirror), and then there are blog posts that require real work. This very interesting post about how the Facebook development organization operates is in the latter category. Instead of pointlessly summarizing the author's findings, compiled from sources who know Facebook from the inside, I'll add a few reactions:
- If, as reported, the development team comprises about a quarter of the company's employees (and operations another quarter), that's an unusually high ratio for any tech vendor, whether or not it's in the software-as-a-service (SaaS) business. At salesforce.com, R&D comprises 15% of the company, which is high for the tech industry. Facebook's 25% R&D is staggeringly high.
- Even though Facebook regularly confuses the heck out of the people with changes to security features, the company does pilot features before shipping them.
- Facebook developers bear a lot of responsibility for their own code, across many dimensions of quality (design, testing, justification, etc.).
- The ops team has a more gradual approach to deploying new code than it might appear.
- There is very little central authority for justifying projects. I have a wee bit of skepticism about this part of the Facebook story as presented in this post. I'm sure that there are some initiatives or directives that come from a central authority (Zuckerberg or some other executive). For example, it's hard to believe that someone had to shop around the notion of a mobile application framework before it became an official project. There might be a lot of latitude for initiating projects inside Facebook's marketplace of ideas, but I'm sure that it's not quite as free a market as depicted.
- It's not clear from the post exactly what the criteria are for projects. It may not have been the ultimate point of the post, which is more the development and operations process, not the business justifications behind projects. Still, it would have been helpful to hear more about those criteria and how they get socialized or enforced within the company.
- It's also not clear if Facebook's own users have any role in suggesting or justifying projects. Weird, perhaps, for the most successful social networking app to have no input from its own community. Many, if not most, other SaaS vendors have a much more inclusive view of their community as a source of ideas and priorities.
What does it all mean? Assuming we can take everything in this post at face value, it's a picture of Facebook's future potential and limitations. This model is a good way to continue shipping lots of new code, within the definition of what Facebook does today. It does not, however, show how Facebook might move into a different market or a different business model.
Let's say, for sake of argument, that Facebook wants to increase its footprint within the business world. While Facebook is now a place for cultivating business connections and managing brands, it's not a platform for business applications. (Neither is LinkedIn, for that matter, for a different set of reasons.) Employees may compulsively check Facebook throughout working hours, to the point where it makes some employers uncomfortable. Facebook is not, however, the page from which employees launch business applications.
If Facebook made a lunge for greater corporate acceptability, its current strengths might easily become its chief liabilities. Marketing, sales, and channel relationships would quickly outstrip the capacity of a company this heavily invested in R&D. Major changes might be needed to build new capabilities into the Facebook platform to host business applications, or integrate with other business systems, or build greater confidence in Facebook's security policies and capabilities. Those changes will take the form of mandates to the development team, not friendly suggestions about their next projects.
That's assuming, again, that we have an accurate picture of Facebook's development and operations teams. If the truth turns out to be slightly different, that might be a very good thing for Facebook's long-term prospects.