He completed a B.S. in Symbolic Systems at Stanford University in 2000, and spent a year as an engineer at Google before entering the Ph.D. program in Computer Science at U.C. Berkeley. He received his Ph.D. in 2006. He then spent two years as a post-doctoral researcher at MIT before rejoining Google in 2008. His research interests are in machine learning and artificial intelligence, especially the combination of probabilistic and logical approaches. He was named one of the "10 to Watch in AI" by IEEE Intelligent Systems magazine in 2008.