Article by Pho Vu
In the beginning of the fall 2022 semester, I had the opportunity to sit down with Professor Lilian Pentecost, the newest addition to Amherst College’s Computer Science Department, for The Amherst Student’s “Fresh Faculty” article.
After our initial interview, I asked to follow up with Professor Pentecost to delve deeper into her time finishing up her Ph.D. thesis and her internship experiences.
Before joining Amherst College’s faculty team, you recently wrote and presented your Ph.D. dissertations on how computer hardwares’ memory systems work. What was the experience like?
Pretty exhausting! As a Ph.D., I’ll say that, overall, I had a set of really collaborative projects, and I got a lot of energy and excitement about my research through working together with researchers from different domains. That’s the kind of work that I really enjoy.
And then sitting down to write that book — that’s my Ph.D. That’s a very different process actually. It’s like you are alone in your own thoughts, reflecting on your work and trying to write it all down. I found that part really, really challenging. It is also sort of the important part because that’s how you get the degree part.
The presentation was actually pretty fun because I got to give a talk about my research, and I had my family and friends there, not just my advisors. So the presentation part was a celebration. Sitting down to write it all down was the tiring and emotionally exhausting part. I don’t know if anyone has read it yet, but you can take a look at my thesis!
What piece of advice would you give to aspiring young researchers and senior thesis writers?
As much as I’m not good at following this advice myself, [trying] to be more in tune with taking notes and being reflective about a research project as I go has always made me a better researcher or better contributor to that project.
If I spend three hours working on a piece of code, what I should actually be doing is spending like two hours and 50 minutes on the piece of code and then taking 10 minutes to ask, “What did I just spend three hours doing?”
Otherwise, try to have fun, and try to lean into the bits that can make you excited!
Which research topics do you want to work on with Amherst College students in the future?
So I am really excited to bring on and collaborate with students on a wide variety of topics. There are subfields that I am familiar enough with, but aren’t super represented in the department like more traditional computer architecture, the memory systems specialty that I do, and more hands-on hardware projects.
I keep looking at my bookshelf because I have some little gadgets and embedded systems that I want to bring students on to do tests with. So, I’m really looking forward to having a combination of hands-on demonstration projects, as well as simulation-based projects.
And I think what’s really fun about the research is that a lot of it is breaking up a bowl into chunks. I actually think it’s possible to contribute to [my research] without having to understand either the deep mathematical models or the physics of the technology. You can isolate certain research questions in a way that I hope will be very fun for students to dive in.
You have completed research internships at places like IBM, Microsoft Research, and NVIDIA. What were the strengths of your application at that time? And could you share with us your research experience as an intern at these places?
As an undergraduate, I did a software engineering internship, which was at a much smaller company that did software consulting stuff for iOS apps.
I think the research internships that I did over the past six years really taught me a lot about how differently a group of people can work together. I feel like what I really got out of doing internships was trying to pay attention to [questions] like, “How does this team of people work together?” and “Do I like this culture and this environment?”
Being able to shop around at different companies was really helpful. If I could go back and talk to my younger self, I would definitely try to work in different places and understand what I like and don’t like about a workplace culture. But in terms of my application, I think I always try to convey my interest.
I hate coding interviews. I think they’re the worst thing and they’re not a good evaluation of you as a computer scientist, and even as a software engineer. It’s usually like, “Did you most recently finish a coding bootcamp or not?” That’s what the coding interview is evaluating, [rather than], “Can you solve an interesting problem?” I have, throughout my entire career, tried to avoid coding interviews whenever possible. And when I can’t avoid them, I am usually under-prepared for them.
The other thing I would say is that you can get really used to getting in your own head. Like you look at a job listing and you’re like, “Oh, you need five years of experience in this and you need familiarity with all these programming languages.” But most of the time, what they’re really looking for is if you have the ability to generalize and learn a new skill when you need to. What I’ve been seeing in Amherst students is that they do have that ability or eagerness to be like, “Oh, there’s a new context to learn this new skill.” Most of the time, an [interviewer] is going to expect you to need to learn things. But what they care about is whether you are going to communicate what you do and don’t understand, and if you are going to be able to pick up new skills when they are required.
Even in an interview setting, I think this applies: when you’re asked a question and you don’t know the answer, you can describe how you would go about finding the answer.
Did your experience as an undergraduate research intern differ from when you were working as a graduate-level research student?
As an undergraduate, the internship that I had was definitely not a research internship. It was a software engineering role. In that relationship, it was more like, “fix this code and implement this interface by this date,” which is very practical.
But that’s a very different relationship than I had with the people I worked with as a research intern in graduate school because that was more like, “Hey, we’re bringing you on, because you have your own research perspective that’s new to our team” and “We’re going to give you a project that we’re going to do together.”
There’s a big difference between being an intern and a graduate student. You might want to have a variety of those experiences, and [ask yourself], “What kind of job do I actually like?”
What do you recommend to an Amherst student who wants to follow a similar career path in computer science?
If you’re gonna have a career in STEM, then definitely spend your time at Amherst taking some random classes just for fun.
When I was an undergraduate, I spent time taking history classes, and I did quite a few philosophy classes. I had my music and things like that, and those are the things that stick with me from that time. I definitely think having a balance of how you spend your time is a good thing. I definitely don’t think back and be like, “Oh, I was so stressed that I hadn’t taken linear algebra when I graduated.” Like, guess what, once I was a graduate student, I taught myself linear algebra in six weeks over a summer.
I’m never going to regret not taking linear algebra, but I would have regretted not taking metaphysics or something that made me think in a different way. One of the courses that I’ve been working to develop [at Amherst] is about the history of computing and its representation.
I want to understand the work I do as a scientist, not just how to do the work as a scientist. There’s a reason why you’re at Amherst and not an engineering school, right?
Did you join any societies when you were an undergraduate student?
I was in an acapella group, and I did some student theater in college! I was more of a theater kid in high school.