Oral-History:Susan Graham

From ETHW
Revision as of 16:40, 30 June 2014 by Administrator1 (talk | contribs) (Text replace - "New Brunswick, NJ" to "Hoboken, NJ")
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

About Susan Graham

Susan Graham is the Pehong Chen Distinguished Professor of Electrical Engineering and Computer Science Emerita at the University of California, Berkeley. She received her A.B in Mathematics from Harvard University and her Ph.D. in Computer Science from Stanford University. Graham's research focuses on computer programming language implementation and other types of software tools. Her most recent projects include the Titanium system and Harmonia framework. In 2009, Graham received the IEEE von Neumann Medal.

In this interview, Graham talks about her educational experiences at Harvard and Stanford Universities, FORTRAN, and how she became interested in computer programming. Graham explains in detail her work as a software engineer. She also reflects on her time as the first full woman faculty member at University of California at Berkeley. Graham shares her thoughts on the field of computer science and the role of women within the field.

About the Interview

SUSAN GRAHAM: An Interview Conducted by Janet Abbate for the IEEE History Center, 10 July 2002

Interview # 596 for the IEEE History Center, The Institute of Electrical and Electronics Engineers, Inc.

Copyright Statement

This manuscript is being made available for research purposes only. All literary rights in the manuscript, including the right to publish, are reserved to the IEEE History Center. No part of the manuscript may be quoted for publication without the written permission of the Director of IEEE History Center.

Request for permission to quote for publication should be addressed to the IEEE History Center Oral History Program, IEEE History Center at Stevens Institute of Technology, Castle Point on Hudson, Hoboken, NJ 07030 USA. It should include identification of the specific passages to be quoted, anticipated use of the passages, and identification of the user.

It is recommended that this oral history be cited as follows:

Susan Graham, an oral history conducted in 2002 by Janet Abbate, IEEE History Center, Hoboken, NJ, USA.

Interview

INTERVIEW: Susan Graham
INTERVIEWER: Janet Abbate
DATE: 10 July 2002
PLACE: Susan Graham's Office, University of California at Berkeley

Background and Education

Abbate:

I’m speaking with Susan Graham.

I’m going to start right at the beginning. Can you tell me where you were born, and where did you grow up?

Graham:

I was born in Cleveland [in 1942], and my family left there when I was three. They came from New York, and they moved back East. So I grew up in New Jersey, in a town called West Orange, and I lived there until I went to college.

Abbate:

What did your parents do for a living?

Graham:

My mother taught third grade, and my father was an engineer. He worked for some companies, and then he had his own company for a while, and then he was a consultant for the last part of his career.

Abbate:

What type of engineering was that?

Graham:

Mechanical.

Abbate:

Do you have any brothers and sisters?

Graham:

I have a brother who is a year younger than I am. He’s got a combined technical and business background and has worked in industry. He worked for a long time for a company that does professional seminars and workshops and so on, and he was the technical guy there, and he also helped run that business. He wasn’t the person out in front of the public; he was the back-room person.

Abbate:

What kind of schools did you go to?

Graham:

I went to public schools until I went to college. Then I went to Radcliffe, which is a part of Harvard, as an undergraduate, and I went to Stanford for graduate school.

Abbate:

Did you know at an early age that you were interested in math or science?

Graham:

Yes. I was always good in math, and I was a math concentrator at Harvard. It was just something I liked and something I did. When I was in high school I used to get up at six in the morning to watch atomic physics on television. There used to be—I can’t remember the name of it; there was a course that was on every morning, and for a while there was a discussion group in my high school afterwards. I did that for about two years, when I was in high school—and I’m not a morning person! [both laugh.]

Abbate:

Did your parents encourage you to pursue that?

Graham:

They did—especially my father. He was always very proud of the things I did and encouraged me to do things I was interested in.

Abbate:

How did you end up at Radcliffe?

Graham:

I don’t know. I mean, I applied to a bunch of schools. Apparently—I don’t remember this as well as my mother does—but apparently, the guidance counselor in my high school was used to having anybody who went to college go to college in New Jersey; and if you think about it, New Jersey—at that time particularly—didn’t have particularly good schools except for Princeton, which didn’t admit women. So there was a bit of a go-round, apparently, when I told her I was applying to these schools that were out of state and were top schools. Other girls didn’t do that! I insisted, and of course my parents were right behind me; and of the schools that I applied to and that I got into, Radcliffe was the one I liked the best.

Abbate:

So you got a degree in math there, right?

Graham:

Yes. There was, of course, no computer science degree.

Abbate:

This was in ‘64?

Graham:

I graduated in ‘64. I think when I was a junior—maybe I was a senior already—they introduced an applied math concentration, and by then I had just about finished the math concentration, so there was no point in switching.

Abbate:

They didn’t have a computer science major until I was there in the eighties, so they were behind the curve! [laughs.]

Graham:

Yes.

Abbate:

So you did math; you enjoyed that.

Graham:

Well, I enjoyed it; but one of the things about Harvard is that there were world-class mathematicians—I mean, even students—and so one of the things that I learned was that I wasn’t one of them.

Abbate:

In theoretical mathematics?

Graham:

Yes: I mean, in “real” mathematics—not applied mathematics. I realized that I was good enough to be a self-respecting math major, but I wasn’t someone who was going to be a star—and I wasn’t, in fact, enjoying it as much as I started to like computing, when I got some experience with it.

Abbate:

How did that happen?

Graham:

I had—[laughs]—a patronage job in Washington. It was the summer between my junior and senior year [in 1963]. I had an uncle who worked at the Federal Power Commission, which would now be DOE, and he got me a job as a programmer, on the basis of some course I had taken that had a little bit of programming in it and the fact that I was his niece. I did do some good stuff for them, so it was a job that was not only good experience for me, but was also good for my employer; but I wouldn’t have gotten it if my uncle hadn’t worked there.

Abbate:

So you were living in Washington?

Graham:

I lived in Washington that summer.

Abbate:

And that was programming in FORTRAN or something?

Graham:

Well, FORTRAN had just come along, so they handed me the manual and said, “See if you can do something with this.” I wrote a program that calculated electric power rates when you had water that came down from a height and went through dams and so on: how they could figure out [the cost of] the power and therefore what to charge for it. They were very impressed with the fact that I could do that without being sent to a class to learn FORTRAN. That was interesting; the whole experience was interesting for me. Of course, at the end of the summer I discovered that the guy who was also a summer student was at a higher step and was getting more money than I was. But that was typical of that time.

Abbate:

Even in the government jobs? That was before they had non-discrimination rules?

Graham:

Right. Oh, it was way before. And I found it out by accident, that he was at a higher step, or whatever they’re called.

Abbate:

Was that work fun? Did you think, “Ah! Computers: I want to do more”?

Graham:

Yes; I enjoyed that. Of course, when I went back for my senior year, there wasn’t much going on in computing at Harvard. Then, when I was planning to graduate, I interviewed for some jobs and I applied to graduate school; and what I discovered was that you couldn’t get a very interesting job without a graduate degree—or at least, the interviews I had were not particularly interesting. So I went to graduate school in computer science to get a Master’s Degree, so that I could get a more interesting job.

Abbate:

So the entry level to an interesting job was a Master’s?

Graham:

Well, it seemed to be, yes.

I drifted into a Ph.D. program. I mean, I didn’t go to graduate school to get a Ph.D.

Abbate:

You went to Stanford because it just seemed like the best place?

Graham:

It seemed like the best place, and I’d never been to California, and I thought it would be fun to live in California. I mean, it seemed like the best place from what I knew—and of course, being at a university that didn’t have a real computer science program, there were places that wouldn’t have even been on the radar screen for me. So it never occurred to me to apply to MIT, even though I was living in Cambridge.

Abbate:

Wow.

Graham:

Probably, if one looked in the catalog, they didn’t advertise computer science.

Abbate:

That’s a good question.

Graham:

Yes. I don’t remember anymore. But it wasn’t one of the places to which I applied.

Abbate:

So you came out to Stanford.

Graham:

So I came out to Stanford, and I was in the right place at the right time. Stanford, during the time I was there, introduced a Ph.D. program and made some really good hires and just got better and better. What happened to me was that in the second year I was there, they started their Ph.D. exams. It was the first year of the program. I think there were a couple of people who might have been grandfathered, because they had been graduate students for a number of years, had some accomplishments, and they were sort of put into the program without going through the hurdles you go through when you start. But they gave these exams, and a whole bunch of us took them, and only a small fraction passed. I was one of the people that passed—so there I was in the Ph.D. program! And that was it. Stanford was wonderful for me. It was a very good experience, a very good education. I was just lucky.

Abbate:

Who were you working with?

Graham:

I started out working for Niklaus Wirth, who was subsequently the designer of Pascal. He was there as an Assistant Professor. Near the end of my stay there, he got a wonderful offer from Switzerland—he’s Swiss—and he went back to Switzerland; so I finished with David Gries, who, shortly after I left Stanford, went to Cornell and spent most of his career at Cornell.

Abbate:

When did you get interested in programming languages?

Graham:

Well, it turns out that that’s in my Statement of Purpose [from my application to the graduate program], which I went back and read over again! [laughs.] So I was always interested in programming languages. Part of that was that FORTRAN experience, of having learned it on my own; and when I was at Harvard, one of the courses I took in computing was a course in which part of the time was spent on APL, which was a very different sort of programming language; so I was intrigued by that. Then, when I was at Stanford, there was lots of stuff going on in programming languages, so I just kept doing it.

Abbate:

What was your dissertation topic?

Graham:

My dissertation was about formal language theory. It’s related to compilers. In other words, it was a formal language theory thesis with theorems and proofs and all the rest of it—you couldn’t write a thesis in computer science without having that—but the reason the results were important then was because of the applications to compilers. None of it’s terribly important anymore.

Abbate:

Were you trying to prove that the compiler did what the language said it was going to do?

Graham:

No. Well, it’s partly what you said, but that’s the easy part. You can analyze the syntax of a language and automatically check whether a program is well formed (satisfies the syntax rules of the language), and you can do that from a description of the syntax, which is pretty easy to write. So instead of writing a program that does all this checking for you, you write a specification, and there’s a program that takes the specification and creates that part of the compiler, and then you can prove that it’s doing the right thing.

The hard part is what’s called the “semantics” of the language: checking whether types are used properly; checking whether the symbols that you’ve written down say the right thing. That’s still very, very hard, and there’s still not a whole lot of useful formal theory about it.

Abbate:

I’ve never thought about it. I mean, I just take it for granted that if you send something to the compiler—C is mostly what I know—that it tells you if there are mistakes. Did the early compilers just try and compile it and not check it?

Graham:

No, they did the same thing, and they did those checks; but the program that does the checking is written by hand, so it’s only as good as the person that wrote it. You can never be sure that you’re not letting invalid programs pass; you can never be sure that you’re not rejecting perfectly good ones, except that people complain if you reject the good ones. But it was a trial-and-error kind of process, and it’s still to a large extent a trial-and-error process. You write a compiler, and then you do a lot of testing against real programs, and you try to see whether the right thing happens!

Abbate:

I never realized that.

Graham:

And that’s why it’s engineering!

Abbate:

Because it’s not purely theoretical and . . .

Graham:

. . . and formal; that’s right. I mean, there’s wonderful theoretical work, but it’s not to the point where you can just use it in practice.

Abbate:

So you consider yourself a software engineer?

Graham:

Yes.

Abbate:

You got out of Stanford in ‘71, something like that?

Graham:

I made the classic mistake: I left Stanford in ‘69, without having filed my thesis, thinking I just had a little more to do. I went to the Courant Institute in New York to be a faculty member and to finish my thesis—and spent most of my time being a faculty member. In other words, I was teaching my courses for the first time, and I was working on my thesis; and I would send it to my advisor, and I wasn’t there to nag my advisor, and he wasn’t nagging me, and it took [a long time]. We now advise people never to do that! [both laugh.] But that’s what I did. So I filed my thesis in ‘71, but I had all my results in ‘69.

I went there: again, in part because I wanted to live in New York, and in part because I thought it would be an interesting place to be.

Abbate:

Now, the Courant Institute: for some reason I thought that was just math.

Graham:

It’s mostly math, and that was part of the reason I left. It was founded as an institute for mathematics, and it now has a very reasonable Computer Science Department, but at the time, the Computer Science Department was very small, and was treated very paternalistically by the mathematicians.

Abbate:

The “real” mathematicians.

Graham:

Yes; right! And yet, at the time—again, because I was lucky—there were some terrific computer science people there.

Abbate:

Well, the students were probably thrilled to have someone teaching that.

Graham:

The teaching part was actually very interesting, because there were a lot of part-time students who were working in industry in New York. When I had been at Stanford, the students were all full-time students, and none of them had any industrial experience. It wasn’t like now. So it was a lot of fun to have these people who would come in and say, “Well, when we had this problem at work, here’s what we did.” That was fun. But after a year or so, I started to look around, and I came back to California to take a job at Berkeley.

Arriving at Berkeley

Abbate:

And you’d been here ever since.

Graham:

I’ve been here since ‘71, yes.

Abbate:

Was coming to Berkeley unproblematic? I mean, were there other offers that you seriously considered?

Graham:

Oh, yes! I had other offers, and in fact, I turned down MIT to come to Berkeley; I had an offer from MIT. But I had some personal reasons that tipped the balance for me. The man I subsequently married was on the faculty here, until he retired.

Abbate:

So you’ve been here thirty . . .

Graham:

I’ve been thirty-one years.

Abbate:

What was the program like when you came?

Graham:

When I came, there was a Computer Science Department that was in the College of Letters and Science; and there was an Electrical Engineering Department in [the School of] Engineering, which the year before became Electrical Engineering and Computer Sciences; and there was competition between the two. Most of this I learned after I was here.

Abbate:

So there were actually two separate . . .

Graham:

There were two separate Computer Science programs, one in Letters and Science and one in Engineering.

Abbate:

And which one were you in?

Graham:

I was in the Letters and Science one. As I said, it was a small department, but it was very good. I think I was the seventh person in the department, and of those seven people, two of them subsequently won the Turing Award, which is the prize in computer science; so that’s a pretty good fraction.

Abbate:

Were you the first woman there?

Graham:

I was the first woman in that department, but it was a very small department. Two years later, that department got merged into the one I’m in now, which is the one in Engineering; so I was transferred into the College of Engineering, and thereby became the first woman faculty member in the College of Engineering.

Abbate:

Ah!

Graham:

And it wasn’t because [they wanted a woman]; they inherited me rather than hiring me. That was the case for a long time, that I was the only woman in the college. There were periods when, in other departments, a woman would be hired, be here for a few years, and leave again or not get tenure. I think it was seventeen years before there was another tenured woman in the College of Engineering.

Abbate:

Really!

Graham:

Really.

Abbate:

How long was it before there was another woman in the Computer Science Department?

Graham:

Well, there are now three, but one of them was just hired last year. Kathy Yelick was hired about ten years ago, and she was the second one. So I’d been here around twenty years before there was another woman in Computer Science.

Abbate:

I hadn’t realized. Why is that?

Graham:

It’s a very male culture in the College. I think that’s a part of it. There were women in other departments before Kathy joined me, but it’s a cultural thing, I think. And there weren’t that many candidates. I mean, there aren’t that many women faculty in computer science in the country, even now. But there were others, and, for example, MIT managed to find a lot more of them than Berkeley did.

Abbate:

Yes. I think it’s ten percent or something, the average percentage of women in US computer science departments.

Graham:

Which is low.

Abbate:

But it sounds like it’s even less here.

Graham:

Before Kathy was hired, I think there was a woman hired on the double-E side, but only maybe a year before. I don’t remember exactly. So we’re probably now about ten percent in the [EECS] Department, nine or ten percent; and we’re three out of forty in Computer Science. But as I said, the third one was only hired last year.

Abbate:

Was that Ruzena Bajcsy? Or is she somewhere else?

Graham:

No, I wasn’t counting her, because she’s really the Head of this CITRIS program [Center for Information Technology Research in the Interest of Society], and she has a very fractional faculty appointment, just so that she’s sort of one of us.

Research Projects

Abbate:

I wasn’t sure how that worked.

Let me get back to your work. What were some of your major research projects?

Graham:

A lot of the stuff I did, up until the last ten years or so, was different areas of compilers. I’ve done research in just about every aspect of compilers there is, and I’ve done work in debugging and other kinds of programming tools. I did some work on some performance measurement tools.

Then I got involved in two things that were new for me. One was interactive programming environments, and the other was high-performance computing. The programming environment stuff happened, I guess, in the late eighties, so that’s about twelve or thirteen years ago. The high-performance computing research—which, again, is languages and compilers, but for different problem domains—is something I got involved in in the early nineties some time. A lot of times I got involved in new problems because there were students who were interested in them and said, “Hey, let’s see if we can do something here,” and that’s been wonderful. That’s one of the big differences in being in a university, as opposed to being in a research lab: that oftentimes I started doing new things because I had students who were interested in them.

Abbate:

You must have shaped the teaching the program somewhat.

Graham:

I did some. I introduced some courses that we still offer, except that their contents keep changing. I did a lot in the compiler courses, of course. Now, as we’ve hired new people in this area, the new people that come in typically are very enthusiastic about updating courses, because they’re recent graduates; so I haven’t been as involved in evolving these courses recently as the younger faculty have.

Abbate:

Do you have a vision of what computer science majors need to know? I mean, they’ll all have specialties, but is there some sort of core that you’re concerned they get?

Graham:

There is. It’s very difficult, because the field has broadened so much, and so one of the things one wants is that the students are equipped to deal with change. They need to learn to keep learning after they’re out of school, because the field keeps changing. There are a variety of courses that can give them those skills. I think there are some fundamental things about the nature of computation: both on the theory side and in terms of how you structure software, how you build software, how you know when it’s reliable, how you know when it’s secure. I think the notion of language translation is actually a very broad notion, because in addition to programming languages per se, people invent their own descriptions—human descriptions—of their problems and their problem solutions all the time, and are then needing to translate them into software that runs on a computer. And even if they do that by building a set of functions, or classes, or libraries, or whatever, they’re actually doing a form of language translation: translating from their conceptual notions to the computer version of those things.

Abbate:

So that’s a very broad concept.

Graham:

And that’s one of the reasons that compiler courses persist in curricula. It’s not that everybody’s going to be a compiler writer—that’s a small subset—but anybody who does programming is going to use compilers, so they need to know how they work, and some of the techniques you use for translation get used in other settings, other contexts.

I did a small project with a student and another faculty member a number of years ago, in which we used compiler technology on network protocols—which is a very low-level operating system kind of thing, in which the idea is that as this information goes by, there are certain things that the software observer wants to discover about them. For example, that’s used to do routing. So you need to look at the whole message and figure out whether it’s got this piece of information in it that you care about, and we used compiler technology to do that. So there are some underlying ideas that are there that turn out to be useful to people. The same is true of a lot of the other so-called “core areas” of computer science, that you’re not teaching them just so that people will do those specific things, but because there are general ideas embedded in those areas that have other applications.

Abbate:

Interesting.

Have you found yourself managing a lot of large projects?

Graham:

I’ve gone in and out of doing that; yes. But I have done it. For a while I was the PI of a big umbrella grant that we had, and some of my own projects have grown fairly large at times. Right now I’m cutting back on that.

Abbate:

What does it take to be a good manager of that kind of large research project, where you’ve got students and maybe other faculty members: trying to coordinate that?

Graham:

You have to have win-win situations. In other words, people have to be doing things because they’re getting something out of it. In the best of these situations, what they’re getting out is in part success for the group, but in part success for the individuals. So the graduate students need to be working on something that’s going to give them their degrees—that’s going to give them their Master’s Degree, going to give them their dissertation—not just that’s helping everybody else out and they’re not advancing their own goals. And the same is true for the faculty: faculty need psychic rewards; they need the papers that give them recognition, that cause their careers to flourish. And yet, when you have a large project, there’s a certain amount of grunt work that has to be done. So you have to figure out a way to see that it gets done, without overly imposing on the people who shouldn’t be doing it, because it’s not in line with their goals.

Abbate:

Plus you have to satisfy whoever’s got the money.

Graham:

You need to satisfy your funding agency, and all of that. And that, in fact, has gotten worse and worse, I think partly because of increased accountability. There’s more and more hassle about reporting and going to meetings and filling out forms.

Abbate:

Which agency does the money tend to come from?

Graham:

I think it’s true in general. DARPA has changed a lot. They take much less of a long-term view than they did in their heyday, when I was heading this DARPA project. Then, the notion was that you take important, hard problems, and you think about them in a long-term way; and you understand that if you’re really going to work on the long-term things, then you can’t predict in advance exactly where you’re going to have your big successes, and there are a certain number of things you’re going to try that aren’t going to work out. Because if you’re not doing that, there’s no risk; you’re not exploring, you’re just developing. I think a lot of that has disappeared from DARPA. They’re much more in the advanced development mode—even for really important problems. “Oh, give me your visionary picture, but then tell me what you’re going to have for me in a year.” What you’re going to have in a year is something that you pretty well understand right now. What you’re going to have in five years is much less predictable; something you’re going to work on, not something you already know.

Abbate:

That was high-performance computing that you were doing for DARPA?

Graham:

No, that wasn’t high-performance computing at all. That was actually UNIX. A lot of the UNIX work at Berkeley was done for DARPA. That’s where Berkeley UNIX came from, and I headed the Berkeley UNIX project for a while.

Abbate:

Okay. So that was earlier than the high-performance computing initiative.

Graham:

Yes. We had some DARPA money for high-performance computing as well, but it was after the umbrella grant was over. Yes, all the work that I was involved in in high-performance computing started out with DARPA. That was still when the idea was that it was really research: yes, we knew why this area of research was important, but we were trying to look at the future and not the near-present.

Professional Memberships and Publications

Abbate:

Now, you’ve also been very active in the ACM?

Graham:

I was for a while. Again, these things go in periods in one’s life, and I’m not terribly active there anymore, but there was a good chunk of time in which I was very active there. I was the first Editor-in-Chief of what became a very important journal on programming languages, and I was involved in SIGPLAN [the ACM Special Interest Group for Programming Languages] and various other communities. And then, I don’t know: that time passed.

Abbate:

What were you trying to accomplish?

Graham:

Part of it was really the health of the field: trying to have a literature in programming systems, show that it was a respectable academic field. At one time—this was probably when I was still an Assistant Professor, so it was probably in the seventies—someone said, “Well, you can’t have a respectable conference in programming languages that’s solely done by peer review.” In other words, where nobody’s invited just because he’s famous; where everybody submits their work, and there’s a committee that picks the best of the submissions.

Abbate:

And why not?

Graham:

I don’t know why he thought that. He just thought there wasn’t enough good stuff, or that people in the field wouldn’t submit their work to peer review—I don’t know! But in fact, we started a conference. I was involved in the conference—I wasn’t one of the people that started it, but close colleagues of mine were—and there were no invited speakers, and sure enough, it became a very strong conference, and even the best people in the field submitted their work for review. So it was important to establish things in that way. This was important for a lot of computer science at that time.

So that was part of the reason I was involved [in ACM]; and part of the reason I was involved was that I really needed to have some activities that were away from Berkeley.

Abbate:

In what sense?

Graham:

I got much more respect away from Berkeley than here.

Abbate:

Ah.

Graham:

And that was true for a long time. My peer group was not at Berkeley. My peer group was outside; my professional colleagues.

Abbate:

You didn’t get respect because in your particular area there weren’t like-minded people? Or was it a gender thing?

Graham:

I don’t know. I don’t know whether it was my area, whether it was my gender, whether it was other political things. This was a very political department, in which the center of power was not computer science; it was double-E.

Abbate:

Ah.

Graham:

So there are lots of reasons why it might have been going on.

Abbate:

Is this department still Computer Science and Electrical Engineering?

Graham:

Yes, still.

Abbate:

I know some of them have split their faculties.

Graham:

Right, right. No, this is still a joint department. It’s only very recently that we [Computer Science] have become roughly half the department. We used to be a much smaller fraction. Things are different now, but the whole history is such that it wasn’t terribly supportive for me.

Abbate:

So you were right in the midst of the whole struggle to make computer science a discipline and figure out what the boundaries were, in a very immediate way.

Graham:

Right! Well, here [at Berkeley]; but it was also going on nationally and internationally.

Abbate:

But it sounds like it was happening very viscerally here.

Graham:

Yes, right.

Abbate:

So you were able to find congenial people on a nationwide level through professional societies?

Graham:

Yes. I mean, it’s not that there weren’t congenial people here, but they were powerless, and there were not that many of them. So, yes: professionally, I think being out in the world like that was very good for me.

One of the reasons one gives time to professional organizations is that you learn a lot, if you pick the right roles in those things. For example, editing a journal is a very thankless, behind-the-scenes job—except that you get to see all these new papers; and you get to see what your peer group thinks about them, because you see the referee reports; and you learn a lot. That’s why it’s worth doing. It’s the same thing I said before: there’s altruism, there’s doing something for the world; but if you do it in a way that it’s also good for you, then that’s much better.

Abbate:

Was the ACM a pretty equitable place for women?

Graham:

The ACM was fine, as far as I could see. My experience there was always fine. When I was still quite junior, Jean Sammet was the President of the ACM, and so there didn’t seem to be any barriers at the top for women in that organization.

Abbate:

If I remember correctly, I think they had women right from the beginning.

Graham:

Yes.

Abbate:

I think it’s kind of unusual that way.

Graham:

Yes. So maybe that was another reason I felt comfortable there.

Abbate:

Did you have any professional mentors at any point: people who helped you out, encouraged you, showed you the ropes?

Graham:

When I came here, the people in that small department were all very supportive; so I started out well there. And there are people who did things for me behind the scenes, whom I’d just as soon not name, because it’s not clear that I should; but there were certainly a number of people, whom I’m still close to, who I know helped me out behind the scenes. That was very important, of course; and I’ve made an effort to try and do that for other people as well, because that was my role model.

Reflections as a Woman in Computing

Abbate:

Do you feel that, as a woman, you faced any discrimination in terms of salary or advancement—other than that first job you mentioned?

Graham:

Yes. Oh, I know I did. I once had somebody in the administration at Berkeley tell me that a raise for me wasn’t as important as for the men on the faculty, because I had a husband who had a good salary.

Abbate:

Really!

Graham:

He was foolish enough to say that to me!

Abbate:

How long ago was that?

Graham:

This was in the seventies, and I don’t remember whether I had tenure or not, because I got tenure in the middle there. I think that’s discrimination. I mean, you don’t get a salary as welfare; you get a salary because you’re doing a job.

Abbate:

Right.

Were you raising kids at the same time?

Graham:

Yes. I had a stepson who moved in with us when he was thirteen, which was two years after I came to Berkeley. So I was raising him when he was an adolescent and I was an untenured Assistant Professor.

Abbate:

That was your husband’s son?

Graham:

Yes.

Abbate:

I’m sure that was initially difficult, to raise a stepson. Was balancing work and raising a family also difficult?

Graham:

It was, except that I didn’t think about it; I mean, I just did what I had to do. In retrospect, it was very difficult, but at the time I didn’t view it that way. But I never had babies, and so there was never any issue of [parental] leaves or anything like that. And you know, lots of people have lots of demands in their personal lives that they have to juggle.

Abbate:

Could you be flexible about your schedule, if you needed to be home or something?

Graham:

Well, an academic job always has some flexibility. The absolute deadlines you have are when you’re in front of a class, and other than that, you can take time off during the day to do something else and then do your work at night or early in the morning or whatever.

Abbate:

Did you have to work at night to get computer time?

Graham:

When I was a graduate student I certainly did. I don’t remember how much I had to do that as a junior faculty member. Of course, once workstations came along it was much less of an issue, but in the beginning I must have. I just don’t remember anymore. I certainly remember doing it at Stanford, because I made a lot of good friends when we were all there in the middle of the night! [laughs.]


Recent Programming Projects

Abbate:

I’ll bet! [laughs.]

Now, more recently you’ve been working on programming environments, or cooperative programming?

Graham:

Right; and it’s this thread that I’ve followed for the last ten or twelve years. The issue there is that when people program, they’re always programming in an interactive system; [but] they’re following a model that has never let go of the punch cards and submitting your job—in the sense that every time you sit down to work on your program, it’s as if there were no history of it’s having been around for a while. You start out, and it’s a document; it’s text on the screen—it’s got color, it’s got fonts and so on, but it’s [just] a document. Somehow you should be able to have more help from the system than that. The system should have a lot of knowledge about the programming language you’re using, and it should be able to capture a lot of knowledge about what you’ve done when you’ve worked on it before, and of what happens when you run the program. In other words, there’s history there. Furthermore, there’s a huge amount of analysis that you can potentially do, because that’s what computers are good at. So what I’m interested in is trying to build systems that give people more help of that kind, so that people use their time doing things people are good at—designing software and figuring out how to solve a problem and so on. Reasoning is something people are good at; keeping track of stuff is something that computers are much better at than people.

Abbate:

So it could give you a map of the program, in a way?

Graham:

Sometimes that’s useful. There have been a number of people who have tried to do visualization: thinking about what the structure is by giving you a high-level view of some kind. But at different times you want different kinds of information, and it’s at very different granularity; sometimes you want details and sometimes you want the big picture. There’s been some work in psychology and cognitive science about some of these things. For example, if you need to work on a software system that somebody else created, then your big challenge is understanding that system, and it would be nice if cognitive psychology could help to tell us what facilitates human understanding. Some of it has to do with the way information is presented to you: with what it looks like, or whether you can browse in your own way.

One of the things we’re looking at at the moment: I have a student who’s working on the use of speech. Part of the motivation is [to help] people who have various kinds of motor disabilities like RSI [Repetitive Stress Injury], but part of the motivation is that when people talk about software, they talk about it in different terms than they interact with a computer. If you talk about it, you’re much more likely to talk at the conceptual level; whereas if you’re forced to type characters, then you’re thinking about which characters you’re typing. People use some natural language capabilities when they talk, not surprisingly; they paraphrase, and they’re sloppy about the order of things. My student did an experiment in which he had people read a Java program, and he told them to dictate it [exactly as it was written]; and yet they changed things around so that they sounded more natural when they were spoken. So the question is: without going into artificial intelligence, is a spoken interface something that might be more efficient for people? And does it give us some insight as to what a more understandable interface might be, even if you aren’t speaking? Because this is giving us insight into the human side of the human-computer interaction. So those are some of the things that my group is playing with at the moment.

Abbate:

That’s very interesting to me, because I’ve been hearing people talk about their experiences in programming from 1950 to 2002 and thinking about how the process has changed. In a way, at the beginning—when, of course, it was all offline, and computer time was so expensive—it was more abstract, because you had to think the whole thing out in your head, or write it out on paper, and only then would you get near the machine. And it almost sounds like you’re getting back to that, because they weren’t doing that character-by-character type of interaction.

Graham:

Right. That’s right. You had to really reason through your solution, because you’d submit it and maybe you’d wait 24 hours [for the results]. There’s a certain kind of experimentation you can do when you don’t have to worry about turnaround, but there’s also a certain amount of sloppiness you get into, and we went through a stage in which that was the issue.

The issue now is that the trade-off between computer time and human time has completely turned around. So the scarce resource is the human intellect, and computer time is, in effect, there as much as you need it when you’re doing software development. So the real question is, “How do you empower the people?”

Abbate:

“Why are we still learning the languages, instead of the computers learning how to interact with us?”

Graham:

“Why aren’t the languages more the servants of the people?” Yes.

And yet, at the same time, people are building larger and larger, more and more complicated software systems, much more than we used to do; so getting an intellectual grasp on those things has become extraordinarily difficult. Single people build tools; single people build components; but the systems we use in our daily lives are things that are beyond the grasp of a single person, by and large. So now you’ve got all the human communication issues, where the medium of communication is coming from the computer as well. So that’s why programming environments are interesting.

Reflections on the Field of Computer Science

Abbate:

Yes.

What do you think are the biggest changes in computer science, in the time you’ve been involved?

Graham:

I think the biggest change has been the huge broadening of the subject and broadening of the whole area. When I was a graduate student, all of us had to know something about all the areas of computer science at that time. When I took my Ph.D. exams, I don’t remember there being any choice: in other words, everybody in the department who was taking the exams took the same set of exams; whereas now, there’s sort of a menu, and there might be certain things everybody has to take, and then you pick your area according to your specialty. It’s no longer possible for everybody to have a grasp of all the areas, except at a much more partial level. So that’s been a huge change. I used to try to keep up with lots and lots of things—that’s why my office looks like this! [Gestures to stacks of books and journals.] I still try to keep up with things. But it’s very hard to keep up with everything that’s going on, even at the research level—or maybe especially at the research level.

Abbate:

So does it almost feel like it’s several different disciplines now?

Graham:

No. I don’t think it’s any [different from other mature disciplines]. I mean, from what I know of history, history’s like that: everybody knows something about the basic ways that historians work and what the methodologies are and so on, and yet everybody doesn’t know about all the different periods of time, all the different parts of the world, all the different ways in which one looks at historical issues. But it’s still all somehow history, because it all deals with understanding the past. So the same thing: computer science is all dealing with information technology and computation, but as the applications increase, the issues increase.

Abbate:

So it’s still a coherent . . .

Graham:

So I think it’s still a coherent discipline. There are probably other people who don’t think so.

Abbate:

Do you find that women end up in certain specialties rather than others?

Graham:

I think that’s less true now than it was, although I’m not sure. For a very long time, women were in software and not in hardware. You didn’t see women in hardware at all. Now there are women who work in hardware, or computer architecture; I don’t know what the percentages are, but they’re there. Women were channeled into programming jobs for a long time, and that’s less true now, I think. We certainly have very good women theoreticians in computer science—actually, that’s been true for a long time. My guess is that it’s uneven, but there aren’t areas in which women are just excluded.

Abbate:

Do you think the field has become more open to women, or more welcoming?

Graham:

Not necessarily, no. I mean, it became more open to women during the boom in the nineties: when there are enormous shortages of people, then there are opportunities for everybody, including women. And when things go to the extreme the other way—in other words, there are enormous shortages of opportunities—some fields also open up to women. For example, I think the reason we’re seeing more women in graduate math programs is that there are fewer men who want to go into math programs, because there are fewer academic jobs, graduate jobs. So now the openings are there that weren’t there before, and now the departments that want students are looking at women in a way that they didn’t before. I don’t know. That’s just a theory.

So: when there were lots of opportunities, there were lots of opportunities for women as well. But as the field has matured, my guess is it has become more like any other field, and all the societal issues that affect other fields affect us as well.

Abbate:

What do you find most satisfying about working with computers?

Graham:

I wouldn’t have described it as working with computers.

Abbate:

Or working in computer science?

Graham:

I think that one of the things that’s been so exciting in my career is that you could make a difference. You could see the effects of the things you invented—see the consequences, see the benefits—fairly readily. Because it’s a field in which there’s a lot of change, the field is more open to new ideas, because you can use them. I’ve really enjoyed being in a field that changes, in which there are new things coming along all the time, and you don’t keep drilling down and refining the same thing, even though you might be deepening your understanding. All of a sudden, things change, and your assumptions have to change, and the problems change—and I like that.

Abbate:

Have you seen your ideas go out into the world, in terms of: you come up with something, and then you find people using it, or maybe it becomes a product?

Graham:

Well, that was certainly true of a lot of the compiler work I did, that a lot of it did get used. I mean, it gets used for a while, and then somebody builds on your work, and they have a better way, and now it’s their stuff that’s used. But yes: I did see that kind of feedback, and that’s very satisfying.

Abbate:

That must be exciting, to see your brain-child . . .

Graham:

Yes, it is. All of a sudden somebody phones you out of the blue, or sends you email, and says, “Well, I was reading such-and-so, and can you tell me about something you said on page three?” And of course you had no idea that they were reading it; you don’t know who they are; and yet, the reward for a researcher is that somebody’s paying attention to what you do!

Abbate:

Do you have any advice for young women who are starting out in computer science, or thinking of doing it?

Graham:

I think it’s important to keep focusing on the positive things and not get all worried about the difficulties. If you get hung up on whether there’s discrimination against you and whether someone else is being treated better and so on, it’s a very negative experience. So I think it’s important to look at the excitement, the opportunity to do interesting and exciting things.

I think it’s important to reach out to the resources that are available, to look for mentors, to look for people who are going to give you advice—not to be a loner. And I think it’s important for people to try to understand what they’re good at and what they’re not good at. Sometimes people—women particularly—take on things that they don’t like, that they’re not good at, because they think it’s expected of them. You have to do a certain amount of that, but it’s important to try to build on your strengths.

Abbate:

Well, great! Thank you so much for talking with me.

Graham:

You’re welcome!