When Jeannette Wing joined Microsoft Research in January 2013 as a Microsoft vice president and head of Microsoft Research International, in charge of Microsoft Research’s non-U.S. labs, she brought with her a sterling set of credentials. She had served long and well as head of the Computer Science Department at Carnegie Mellon University and for three years as assistant director of the Computer and Information Science and Engineering Directorate at the U.S. National Science Foundation (NSF). A recipient of bachelor’s, master’s, and doctoral degrees at the Massachusetts Institute of Technology, Wing has a broad range of expertise, ranging from the foundations of trustworthy computing to software specification and verification to concurrent and distributed systems to programming languages and methodology. A month into her new job, she found time for a wide-ranging discussion about her new role and what she sees ahead.
Q: Why Microsoft Research, and why now?
Wing: I am no stranger to Microsoft, and vice versa.
Personally, I’ve had a longstanding relationship with Microsoft Research. I spent a sabbatical from 2002-2003 at Microsoft Research Redmond, hosted by Jim Larus. After reading Bill Gates’ 2001 Trustworthy Computing memo, I wanted to find out from the inside what Microsoft was doing in security, and during my sabbatical, I was fortunate to have made connections to key people working in Windows security. I actually sat in the group that included Tom Ball and Sriram Rajamani, who were working on the SLAM project. My research career started in formal methods, and the SLAM project is a stellar success story of applying formal methods to software.
I had a wonderful year on sabbatical, and because of my interest in security, I was asked to be on Microsoft’s Trustworthy Computing Academic Advisory Board. I was on this board since its inception, except for the three years I was at the National Science Foundation.
At an institutional level, when I first became department head at Carnegie Mellon University in 2004, I started having conversations with Rick [Rashid, Microsoft chief research officer] about setting up a joint center at Carnegie Mellon. Those conversations led to the Microsoft Research-Carnegie Mellon University Center for Computational Thinking. It’s in its sixth year, supporting basic research, much as Microsoft Research does, and fostering collaborations between Microsoft Research scientists and Carnegie Mellon faculty and students.
When Rick offered me the position to oversee Microsoft Research’s international labs to continue the charter of a basic, open research organization affiliated with Microsoft, it was a unique opportunity too good to pass up. The position gives me an opportunity to make a difference on an international scale and gives me valuable corporate experience.
Q: Please provide a brief summary of your career.
Wing: After I got my Ph.D. from MIT, I went to the University of Southern California for two years and then joined Carnegie Mellon University. Academically, I grew up at CMU. I spent three years at the National Science Foundation, and when I came back, I agreed to be department head again. Altogether, I was at Carnegie Mellon University for 27½ years, 5½ as department head.
At NSF, I oversaw federal funding for academic computer-science research in the United States. I got to see the breadth of the field; computing in context with all other science and engineering disciplines; the importance of federally funded basic research; and the global influence of a prestigious government agency. I also saw how a very small agency like the NSF has to make the argument continuously to Congress for why the nation should fund basic research at all and basic research in science and engineering specifically.
Wing: I have two main responsibilities. The first is to foster communication and collaboration across all Microsoft Research’s labs. I will be working closely with Peter Lee, who has the same position for the U.S. labs.
If you think of Microsoft Research as one huge research enterprise, with 850 brilliant researchers spread around the world, there are opportunities probably missed by people simply not knowing about each other’s work, especially when they’re in the same research area. Making connections can help people build on each other’s work and thus advance the field much more expeditiously.
Actually, I’ve already found that there’s more awareness, at least for people in the same research area, than I had thought. That’s good.
My second responsibility is to serve as an interface between Microsoft Research and the rest of the company. Here too, there are many more connections and collaborations between researchers and business groups than I had thought. I’m still learning about what’s working and what’s not, and how we can improve those relationships.
For both responsibilities, my goal is to increase the effectiveness of collaborations. I would like to see collaborations that will have a high impact on the company, on science, and on society.
My role is to represent the international labs, to make sure their voice is heard. I will make sure that people in Beijing, Bangalore, and Cambridge [U.K.] are tapped for their knowledge on a given topic or are invited to relevant meetings. They know they have someone in Redmond to speak up for them.
Q: Given your background, what does it mean for you to move into an industrial setting and have the opportunity to affect product development?
Wing: Moving from academia to industry is a huge change for me, but moving to Microsoft Research is not, since it supports a value system shared by academia.
Given the current portfolio of Microsoft products and services, any way in which research can have a positive impact on their future would be great. There’s already good stuff happening. I want to increase the opportunities and their potential impact and to make sure that both sides are happy.
I’m also thinking about strategic directions for the company. What new products, services, and devices might Microsoft be going into? What implications do they have for Microsoft Research?
At the same time, Microsoft Research has a wealth of expertise in areas that may not look like they’re directly related to any existing product, service, or device at Microsoft. These areas are fountains of innovation. Some of these cool ideas might be the start of whole new businesses for Microsoft.
Q: You’re known for your enthusiasm for computational thinking. Please provide a brief definition.
Wing: Roughly speaking, “computational thinking” is just shorthand for saying “using concepts in computer science”—it’s not much more mysterious than that.
But saying “using concepts of computer science” is not very helpful. What are the concepts of computer science? What is computer science? I define computational thinking as the thought processes for formulating a problem and expressing a solution in a way that a computer—human or machine—can effectively carry out.
That’s a loaded set of words. To a computer scientist, the definition makes perfect sense, because some of the words, such as “expressing” and “effective,” are quite technical. The main point is that computational thinking is not just about problem solving. It is also about formulating the problem itself. If you phrase the problem in a certain way, all of a sudden, an efficient computational solution pops out. If you don’t phrase it in that way, you could scratch your head and work for years trying to solve the problem.
To the public, my grand vision of “computational thinking for everyone” implies that what we should be teaching all students—regardless of major, future profession, or career goal—are some concepts in computer science, for example, what an algorithm is or what an interface is. The single most powerful concept in computer science is abstraction. Abstraction gives us the ability to build large, complex systems—through layering and composition. Having well-defined layers of abstraction, for example, means that at any one layer, you only have to worry about the layer above you and the layer below you. You don’t have to worry about the other layers. Abstraction teaches you to focus on relevant detail and ignore irrelevant detail.
Computational thinking helps people think abstractly. The way a computer scientist would say it is “write clean interfaces.”
Q: In what direction is computer science headed?
Wing: I like to talk about three drivers of computing: technology, societal, and science. Let’s start with a few technology trends.
One is in systems that interact between the physical world and the computational world. At NSF, we called them “cyber-physical systems.” Simple examples are smart sensors on bridges, embedded medical devices, and automotive control systems; more sophisticated examples are robots.
Then there’s social computing, where a network of humans and computers work together to solve problems that neither can solve alone. Social computing combines human intelligence with machine intelligence in complementary ways; humans are still better than machines at performing some tasks, and machines are better than humans at performing others. Crowdsourcing and image labeling are baby examples of how humans and computers work together effectively.
Another hot trend is big data. Years ago, while I was at NSF, we recognized that all sciences were going to be faced with the data-deluge problem. Now all fields of study are taking advantage of Internet-scale data and recognizing the opportunities—through advances in machine learning and data analytics—to ask new questions, gain new insights, and discover new knowledge.
With regard to societal drivers, advances in computer science can be potentially transformative in sectors that make up the fabric of society: health care, transportation, energy, agriculture, and education. I’m especially pleased to see young researchers who are courageous enough to bet their computer-science careers on addressing societal grand challenges. It’s exciting to be in computer science right now, because it’s not just computer science for computer science’s sake, but about helping society.
The third driver is foundational to the field, what I call science drivers: fundamental, outstanding, deep-science questions that remain unsolved. I wrote a three-page article in the Communications of the ACM entitled Five Deep Questions in Computing to start a dialogue in the computer-science community about our science drivers.
One longstanding science question is: What is computable? What problems can or cannot be solved by a computer? Theoretical computer scientists have been studying this question for decades.
There are other questions: What is intelligence? What is information? How do we build complex systems that we can understand?