OCTOBER 25 TO 29, 2009
Robert Johnson is Director of Engineering at Facebook, where he leads the software development efforts to cost-effectively scale Facebook's infrastructure and optimize performance for its many millions of users. During his time with the company, the number of users has expanded by more than thirty-fold and Facebook now handles billions of page views a day.
Robert was previously at ActiveVideo Networks where he led the distributed systems and set-top software development teams. He has worked in a wide variety of engineering roles from robotics to embedded systems to web software. He received a B.S. In Engineering and Applied Science from Caltech.
In just five years Facebook has grown from an idea in a dorm room to one of the most visited sites on the Internet. This has required scaling across many dimensions: more machines, more features, more code, more people developing code, more users and use cases, and more diversity among users. Two of the largest contributors to this popularity have been the performance of the website and the ability to develop new products very quickly. This talk will describe the techniques used at various stages of growth to maintain performance and developer effectiveness through orders of magnitude of growth in each of these dimensions. These techniques range from the release process and tools to code structure and conventions to modifications of the language runtime.