Q: How did you end up in Computer Science?
A: Long story short: As an undergraduate, I concentrated in math and I spent lots of time hanging out with grad students in Harvard’s math department, enough time to convince me that I did not want to be a math grad student. After I graduated, I found out about rent and had to get a job. I exaggerated my qualifications and got a minimum-wage job writing FORTRAN programs. I drifted through other programming jobs until one day the think-tank I worked for lost most of their funding. They were laying people off right and left, but the boss called me in and told me the good news: I'm not being laid off. Then the bad news: the guy who does the regular tape backups? He’s being laid off, and guess who’s got to fill in for him. So I applied to grad school in Computer Science.
Q: You won the 2004 Gödel Prize for your paper “The Topological Structure of Asynchronous Computation.” Tell us about the importance of this work.
A: The paper draws an unexpected connection between distributed computing and algebraic topology. Simplifying somewhat, we were able to demonstrate that certain problems were impossible to solve by showing that a solution would require mapping a solid geometric object around the boundary of a hole without tearing it, which can’t be done. I had loved algebraic topology as an undergraduate and it was very satisfying to discover the connection to distributed computing.
Q: Would you advise a gifted youngster to become a computer scientist today?
A: I would advise a gifted youngster to pursue whatever he or she finds appealing. Gifted youngsters can revolutionize vibrant fields and revive dormant fields. I know gifted people (not all youngsters) who have done very well in the most unlikely fields.
A more revealing question would be, “Would you advise an ambitious, but perhaps not-so-gifted youngster to become a computer scientist today?” I'll have to get back to you on that.
Q: How do you pick your research problems?
A: I’m opportunistic and I look for connections between different areas.
Q: What’s the “next big thing” in Distributed Computing?
A: In the near future, nearly all computers ranging from supercomputers to smoke detectors, will be shared-memory multiprocessors. This change will affect distributed computing in two ways. First, the experience of confronting real multiprocessors will force us to address problems obscured by many of today’s naive computational models. Second, perhaps for the first time ever, research in concurrency will matter to people who don’t do research in concurrency, so this is our chance to change the world.
Q: Do you have any words of advice for recent graduates or mid-career computer scientists?
A: Be opportunistic. Look for connections between different areas. Also be patient: transactional memory is a large, lively area today, but our 1993 paper that coined the term went mostly uncited for about ten years (then technological changes caught up).
Q: Among all your past research, what is your favorite piece of work?
A: My favorite piece of work is whatever I’m working on at the moment.
Q: If you had enough extra time to study one additional area, what would it be?
A: Classical Greek.