joseph at his desk in ArchLab

Joseph McMahan, PhD student in Electrical & Computer Engineering

In his own words – interviewed in 2019

About Joseph:

  • Hometown: Petaluma, CA
  • Degree: B.A. in Physics from Princeton University
  • Degree Sought from UCSB: M.S. / Ph.D. 6th year
  • Graduate Study Area: Computer Architecture
  • Advisor / Lab: Tim Sherwood / ArchLab
  • Research Interests: Architecture, Formal Methods, Security, Side Channels
  • Master's Thesis or Dissertation Title or Topic: The Zarf Architecture
  • Joseph's Publication List: http://cs.ucsb.edu/~jmcmahan/research.html
  • Important Conferences Attended: International Symposium on Computer Architecture (ISCA); International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) – presentation; IEEE/ACM International Symposium on Microarchitecture (MICRO); IEEE International Symposium on Hardware Oriented Security and Trust (HOST) – presentation
  • What types of Financial Assistance have you received? Teaching Assistant (TA) and Graduate Student Researcher (GSR)
  • Awards & Honors Received: National Science Foundation (NSF) Graduate Research Fellowship Program (GRFP) honorable mention; UCSB Computer Science Summit 2017 Distinguished Graduate Student Presentation; IEEE Micro Top Pick 2018
  • Professional Memberships: Association for Computing Machinery (ACM), Institute of Electrical and Electronics Engineers (IEEE)
  • Hobbies: Coffee, music, video games, 3D printing, and poetry
  • Interesting Aside about You: I recognize every song on modern rock radio stations

Favorite things about

  • Electrical and Computer Engineering Department: Culture of collaboration! It's so easy to reach out to other labs and get their expertise on your projects.
  • UCSB: Ocean views – very calming during stressful research
  • Santa Barbara: Quaint downtown

Joseph and his research

Tell us about your research: My research has been in the intersection of formal methods and hardware design, with occasional security thrown in --- essentially, I want to build hardware systems that we can be sure about. This manifests both in new techniques for analyzing circuits and designs, and well as new architectures supporting software level reasoning.

How and why did you get into your area of research?: I loved computer science as an undergraduate, but in particular I was drawn to systems and architecture. Once I was a grad student, I fell into my main project almost by accident: I attended a meeting with my advisor and a few others about a project they were starting up, and I offered my hand in helping out. Soon enough, I was the main contributor and the topic would become my PhD thesis. I've enjoyed the casual approach to research in my lab; falling into new projects is exciting and fun!

Why did you select UCSB and your department in regards to your research?: It was the right combination of a highly regarded program, quality faculty, and good environment.

What do you find rewarding about your research?: Knowing that we're breaking ground now on things that will have impact much farther down the line. It can be hard to take motivation from short-term results, but good research is often new and strange at first; I find it rewarding to know that what we do now will have increasing influence as concerns of security and correctness become more and more important.

UCSB prides itself on its collaborative atmosphere, give some examples of how you collaborate: I'm in touch with my advisor a few times a week. He's not afraid to get down into details and get his own hands dirty with research. This makes for a really productive environment, because we have constant feedback and encouragement. We fail a lot – that's just part of research – but Tim teaches us to fail quickly and move on.

Other faculty have been very receptive to all kinds of collaboration. I've worked most closely with the Programming Languages lab; several students there have been instrumental to the research I've done so far. My PhD wouldn't have progressed like it did without them. The Verification Lab has also had overlapping research interests, and been open to collaboration. We've worked with them on a couple papers now.

Kicking off research with another group is remarkably easy. It's been as simple as an email saying, “Hey I've got this interesting project; can we talk about it?” We've worked with groups in security, cryptography, software systems, and others. It takes a lot of pressure off of the work you do when you have access to so much expertise in other people!

I've also collaborated with students outside of UCSB. It was a great, successful experience; we wrote an ISCA paper together. In addition, our lab has worked with some folks from Cisco Systems on software and circuit analysis.

Thoughts on working in a group research environment and your experience working with an advisor: I've had a great time in my research group, and I owe a lot to my advisor. Having lab-mates to bounce ideas off of is crucial, I feel, in making progress in what you're doing. I don't think I could have done over half of what I've accomplished if I'd been working alone. Tim has been a great and hands-on advisor, while also avoiding putting too much pressure on his students. It's made for a great and productive research environment. More than a good advisor, he's also a good person, which has been important too.

Where will your research take you next?: My goal is to become a professor at a research university. I love both research and teaching, so it seems like the ideal! The next step is a postdoctoral fellowship for a couple years before I go on to faculty applications.

Joseph's thoughts on the academics at UCSB

Strengths of the graduate program: In terms of courses, many of them take a research-first approach, reading original publications to learn about the field. It's a crucial experience to go through and discuss research published by others, especially when it's important to the field. You learn what makes good research and bad research, and you build your own confidence as a researcher.

Favorite courses: Graduate Operating Systems with Rich Wolski. Getting to build something large, with many moving parts, from the ground up was an awesome experience, and part of what I love about systems. Close runners-up are Architecture with Tim Sherwood and Modern Programming Languages with Chandra Krintz. Those three courses, together, shaped my skills and knowledge as a graduate student.

Experience with the screening exam, qualifying exam, defense exam, and working on your thesis / dissertation: I found the screening exam to be a relatively painless experience. I enjoy oral examinations (there's always the opportunity to turn it around and ask questions of your interviewer), and having a set of them was a good test of my knowledge. The qualifying exam stands out much more in my mind; it feels like a lot more is on the line, because it's your own original research you're proposing and defending. Despite the anxiety, the faculty on my committee were not only kind, but insightful in their criticisms. Their responses made me feel like I was doing impactful research.

Describe your experience as a Teaching Assistant (TA) and Graduate Student Researcher (GSR): My first year as a grad student, I didn't do any research. I was a TA and I took graduate courses. I taught ECE 154A for one term and ECE 152A for two. For the first I taught a section; for the second, a lab. Later on, I taught a section of CS 160 when my advisor taught it. I thoroughly enjoy teaching: passing on knowledge and instructing students in how to build and create is very rewarding. Running a lab section is a bit different; you don't have the opportunity to lecture in the same way, but it tends to be much easier to get involvement from students — there's much less pressure to talk to the TA in a lab versus a section. That extra student contact makes teaching a lab worthwhile as well. Since I worked as a TA my first year as a PhD student, I saw my former students go on to take other courses and graduate, and had the pleasure of watching some of them become grad students themselves!

Life as a graduate student

Quality of life as a graduate student and how you balance school, work, social, and family life: Grad school gets a bad reputation for being all-consuming, and I've heard first-hand from people at other schools that it can definitely be that way – but here, I found it acceptable to take time for myself and not work 24 hours a day. It could be unique to UCSB, or the department, or my advisor, or some combination; in any case, it hasn't been too difficult to balance my personal and work lives. I don't want to make it sound like it's easy, because it's always a challenge to find balance, but I was expecting something much worse than what I experienced. I stay focused during the day, and take most nights and weekends for myself.

What is your social life like and where have you lived while at UCSB?: I have a core group of friends, mostly other graduate students, that I see regularly. I live in a cottage downtown on Bath street; before that, I rented a bedroom in a house in Goleta. Though I miss being able to bike to campus from Goleta, living downtown has been a wonderful experience. I live with PhD student in the English department, who constantly has insightful and interesting things to say, and isn't afraid to challenge my notions about the world.

My boyfriend is not a grad student; he's my main social outlet. Having people in your life that are not academics is really important: it helps keep you grounded and reminds you of the world outside your bubble. It also helps remind you that you're here by choice, which is a great motivator as a grad student.

What do you do over the summers?: A couple years ago, I had an internship at AMD Research in Seattle. It was a good time; I liked Seattle, and I might try to head back there for my postdoc! This past summer, I stayed on campus and did research. The summer is a great time to get work done because everything calms down so much. Even when you're not teaching or taking classes, things are more hectic during the academic year. The blend of relaxation and focus of the summertime is a great change of pace.

Advice to prospective graduate students: Don't be afraid of failure. Failing fast is probably the most valuable skill I've learned as a grad student. As a researcher, most of what you do won't work. Learning how to not take those setback personally, how to pick yourself back up and try something new, is crucial. By failing quickly, you can cover more ground and find something that does work sooner --- the great trap is devoting months of research effort to something that turns out to be a dead end.