From 1986 to 1990 he was a graduate research assistant at The Robotics Institute at Carnegie Mellon University. In the summer of 1989, he was a visiting researcher at Hitachi Ltd. in Yokohama, Japan. He joined the faculty of the Computer Science Department at Columbia University in 1991, and in 2009 he became chair of the department.