He completed his Ph.D at the Department of Computer Science of Princeton University in 2006, under the supervision of Prof. Bernard Chazelle. He continued as a post-doc at the Institute for Advanced Study for one year, and then continued as a research scientist at Google Research in NY.