Kathleen Fisher is Professor in the Computer Science Department at Tufts. Previously, she was a Principal Member of the Technical Staff at AT&T Labs Research, a Consulting Faculty Member in the Computer Science Department at Stanford University, and a program manager at DARPA where she started and managed the High Assurance Cyber Military Systems and Probabilistic Programming for Advancing Machine Learning programs. Kathleen’s research focuses on advancing the theory and practice of programming languages and on applying ideas from the programming language community to the problem of ad hoc data management. The main thrust of her work has been in domain-specific languages to facilitate programming with massive amounts of ad hoc data, including the Hancock system for efficiently building signatures from massive transaction streams and the PADS system for managing ad hoc data.
Kathleen is an ACM Fellow. She has served as program chair for FOOL, ICFP, CUFP, and OOPSLA. Kathleen is past Chair of the ACM Special Interest Group in Programming Languages (SIGPLAN), past Co-Chair of CRA-W, and a for-mer editor of the Journal of Functional Programming.
Q: What made you choose computer science in the first place?
My career has been almost entirely accidental. I ended up taking a computer science class as a freshman at Stanford because I was embarrassed that I had a relatively powerful computer in my dorm room that I didn’t know how to use. I enjoyed the class so much that I took the next one. In that class, my instructor showed me the halting problem, and I was hooked. It was such a cool problem: something that was clearly useful and yet provably impossible and with such a simple proof! As for graduate school, I wasn’t sure what to do after graduation, so I decided to apply for a co-term master’s degree, which requires only another year of classes at Stanford. I was basically postponing making a decision for a year. But the first professor I approached about a letter of recommendation told me I should be getting a PhD, not a Master’s. I thought it over for an evening and then decided to go for it. I discovered in graduate school that I loved the academic environment: working with really smart people to advance the state of knowledge. I enjoyed both the day-to-day activities of a research career and the “grand-vision” of the job.
Q: Explain a bit about your technical interests and how your research has evolved over time.
I love doing research in programming languages because it involves so many different kinds of work. I get to talk to do-main experts who want to solve certain kinds of tasks but are struggling with their current tools. It’s fun learning about their domain and thinking about how to help them. I get to design languages and language features, prove theorems about formal models of them, and build implementations. I really enjoy working in an area where I can do design, theory, and implementation all in the service of a customer with an interesting problem area.
Q: What role has professional service played in your career?
I have done a lot of professional service as part of my career, probably more than most (all?) mentors would recommend. I do the service because I care about the communities I belong to and I want them to run smoothly and efficiently. Over the years, though, I’ve noticed that I get many personal benefits as a result of the service as well. These benefits include opportunities to learn and demonstrate skills, like managing large groups of people and large budgets, as well as opportunities to meet leaders and develop professional and technical networks. I’ve had several very productive technical collaborations grow out of service jobs.
Q: What contributions have you made through administrative roles?
With Stephanie Weirich and Ron Garcia, I started the Programming Languages Mentoring Workshop at POPL in 2012, which is focused on encouraging students to pursue research careers in programming language theory, quality child care each week. That meant that I had plenty of time to do my PhD work as long as I focused during the day. I ended up graduating in less than the average length of time. When I started my job at AT&T, Elaine was old enough to be in school and so I needed less flexibility. When family considerations meant that Elaine had to live on the opposite side of the country, I figured out how to work remotely for six years. When she went to college, I took advantage of the corresponding flexibility to take the job at DARPA and then Tufts.
Q: What activities do you pursue outside of work?
My husband and I take ballroom dancing lessons and compete. We’re not very good, but we have a lot of fun working together on our dancing. We also cook recreationally and like to go scuba diving. I also enjoy studying Italian in my free time. I find it relaxing and absorbing. It helps me clear my mind from all the things I have to do. I also like reading fantasy and science fiction, perhaps as another way to escape for a while from the real world.
Q: Do you have any advice for women at any stage of their careers?
Do what you are passionate about. The extra energy and insight that you get from the passion will let you advance faster and open the door to even more exciting opportunities. Have children when and if you want them. The logistics will sort themselves out if you are doing what you want to be doing.