He completed his Ph.D. at Carnegie Mellon University. His advisor was Ryan O'Donnell. He was subsequently a Simons Foundation Postdoctoral Fellow in the Theory of Computation group at MIT.