Go to Google Research Home
 Research Scientists and Engineers

Jeffrey Dean
Google Senior Fellow

I joined Google in mid-1999, and I'm currently a Google Senior Fellow in the Knowledge Group. My areas of interest include large-scale distributed systems, performance monitoring, compression techniques, information retrieval, microprocessor architecture, compiler optimizations, the development of new products that organize existing information in new and interesting ways, and the application of machine learning to search, speech recognition, computer vision and other related problems. While at Google, I've worked on the following projects:

  • The design and implementation of the initial version of Google's advertising serving system.

  • The design and implementation of five generations of our crawling, indexing, and query serving systems, covering two and three orders of magnitude growth in number of documents searched, number of queries handled per second, and five orders of magnitude improvement in frequency of updates to the system. I gave a talk at WSDM'09 about some of the issues involved in building large-scale retrieval systems (slides).

  • The initial development of Google's AdSense for Content product (involving both the production serving system design and implementation as well as work on developing and improving the quality of ad selection based on the contents of pages).

  • The development of Protocol Buffers, a way of encoding structured data in an efficient yet extensible format, and a compiler that generates convenient wrappers for manipulating the objects in a variety of languages. Protocol Buffers are used extensively at Google for almost all RPC protocols, and for storing structured information in a variety of persistent storage systems. A version of the protocol buffer implementation has been open-sourced and is available at http://code.google.com/p/protobuf/.

  • Some of the initial production serving system work for the Google News product, working with Krishna Bharat to move the prototype system he put together into a deployed system.

  • Some aspects of our search ranking algorithms, notably improved handling for dealing with off-page signals such as anchortext.

  • The design and implementation of the first generation of our automated job scheduling system for managing a cluster of machines.

  • The design and implementation of prototyping infrastructure for rapid development and experimentation with new ranking algorithms.

  • The design and implementation of MapReduce, a system for simplifying the development of large-scale data processing applications. A paper about MapReduce appeared in OSDI'04.

  • The design and implementation of BigTable, a large-scale semi-structured storage system used underneath a number of Google products. A paper about BigTable appeared in OSDI'06 (best paper award).

  • The design and implementation of Spanner, a globally-distributed database system supporting consistent operations and dynamically-configurable cross-datacenter replication of data. Spanner is used as the primary storage system for Google's advertising system, among other products. A paper about Spanner appeared in OSDI'12 (best paper award).

  • The design and implementation of DistBelief, a system for large-scale distributed training of deep neural network models. The system has been used for both unsupervised training and supervised training in a variety of image recognition, speech recognition, natural language modeling and other tasks. A paper about the use of DistBelief for training a large-scale image recognition model appeared in ICML'12. John Markoff of the New York Times wrote an article about this work in June, 2012.

  • Some of the production system design for Google Translate, our statistical machine translation system. In particular, I designed and implemented a system for distributed high-speed access to very large language models (too large to fit in memory on a single machine).

  • Some internal tools to make it easy to rapidly search our internal source code repository. Many of the ideas from this internal tool were incorporated into our Google Code Search product, including the ability to use regular expressions for searching large corpora of source code.
I enjoy developing software with great colleagues, and I've been fortunate to have worked with many wonderful and talented people on all of my work here at Google. To help ensure that Google continues to hire people with excellent technical skills, I've also been fairly involved in our engineering hiring process.

I received a Ph.D. in Computer Science from the University of Washington, working with Craig Chambers on whole-program optimization techniques for object-oriented languages in 1996. I received a B.S., summa cum laude from the University of Minnesota in Computer Science & Economics in 1990. From 1996 to 1999, I worked for Digital Equipment Corporation's Western Research Lab in Palo Alto, where I worked on low-overhead profiling tools, design of profiling hardware for out-of-order microprocessors, and web-based information retrieval. From 1990 to 1991, I worked for the World Health Organization's Global Programme on AIDS, developing software to do statistical modelling, forecasting, and analysis of the HIV pandemic.

In 2009, I was elected to the National Academy of Engineering, and I was also named a Fellow of the Association for Computing Machinery (ACM). In 2012, I received the ACM SIGOPS Mark Weiser Award along with my long-time colleague Sanjay Ghemawat. In 2012, I also received the ACM Infosys Foundation Award in the Computing Sciences Award, also with Sanjay Ghemawat.

Selected Slides from Talks:

Selected Publications:

Personal:

I've lived in lots of places in my life: Honolulu, HI; Manila, The Phillipines; Boston, MA; West Nile District, Uganda; Boston (again); Little Rock, AR; Hawaii (again); Minneapolis, MN; Mogadishu, Somalia; Atlanta, GA; Minneapolis (again); Geneva, Switzerland; Seattle, WA; and (currently) Palo Alto, CA. I'm hard-pressed to pick a favorite, though: each place has its plusses and minuses.

One of my life goals is to play soccer and basketball on every continent. So far, I've done so in North America, South America, Europe, Asia, and Africa. I'm worried that Antarctica might be tough, though.


Jeffrey Dean