When a mentor first suggested looking into UC Irvine for graduate school because of its strong program in software engineering, Nenad Medvidović still wasn’t sure what he wanted to study — and he had no idea where Irvine was. Originally from the former Yugoslavia (now Montenegro), Medvidović had only been in the United States for a few years. Fast forward to today, and Medvidović is an internationally recognized leader in software engineering. He serves as chair of the Thomas Lord Department of Computer Science within the Viterbi School of Engineering at USC, where he has taught since 1999. He joined USC after earning his master’s and Ph.D. degrees from UCI’s Donald Bren School of Information and Computer Sciences (ICS). Earlier this month, he was inducted into the ICS Hall of Fame in recognition of his contributions to the field of software development, including his landmark paper with Yuriy Brun, “An Architectural Style for Solving Computationally Intensive Problems on Large Networks.” Here, Medvidović talks about what brought him to the U.S., his original career goal and why he’s often up at 4:30 a.m., and what he loves best about working in academia.
Can you talk a bit about your background and what first sparked your interest in computer science?
Not long before I came to the U.S., I got my first computer. It was a Commodore 128. It was a very new thing, and everybody was talking about this stuff. It was an exciting time. Then I came to the U.S. as an exchange student and I had the opportunity to take a programming class here. The family I was placed with had two IBM PCs, which were like straight out of The Jetsons for me! So I got a chance to learn a little bit more about programming and to gain some more practical experience.
I came to the U.S. to learn the language and to experience what it’s like to be a high school student in the U.S., but then I liked it enough to make an effort to return. After going back home and serving in the military, which was compulsory at the time, I found a way of reconnecting with the same family I was with [as an exchange student], and I went to Arizona State [University], because they lived in the Phoenix area. And that’s how I got started.
Studying computer science was definitely something that I had already decided [before I came to the U.S.]. I was a pretty decent mathematician, but something told me even back then that just studying math wasn’t going to be in my future. I was looking for something more applied.
What led you to UC Irvine for your master’s and Ph.D. degrees?
That’s an interesting question. I wasn’t sure what I wanted to study as a Ph.D. student. I was torn between software engineering and computer graphics. I hadn’t figured out what I wanted to do with my life, which is why I am pretty sure several of my Ph.D. applications were not successful. Then a professor at ASU, who had become sort of a mentor to me, suggested looking into UC Irvine and Davis, which both had strong software engineering groups.
Back in those days, I had to go to a library and look up these places on a map, because I had no idea where they were. It wasn’t like I could Google them. I eventually applied to UCI because I wanted to work with Nancy Leveson and Lee Osterweil. But, between the time I applied and the time I arrived in Irvine, they had both left, so it was back to the drawing board. But it actually worked out just fine, because I really loved working with my eventual advisor, Dick Taylor.
Now you’re an internationally recognized leader in software engineering. How did your ICS education contribute to your research?
That’s still hard for me to fathom but I’ll take it! The thing that I really liked upfront was the way the incoming cohort at ICS was organized and led through the process; it was very cool. There were not that many of us, only 18, and we were put together in a couple of classes where we learned about the research happening in ICS, and I also had a class about the realities of grad student life and what we could expect in the various stages of the program. This gave us a sense of belonging.
By that time I knew I wanted to work in software engineering, and it happened that Dick Taylor was teaching a class on this new idea that they had been kicking around. It was the winter quarter of 1994, and it introduced me to some new ideas and this notion of software architecture. I did a project for the class, and after that, Dick and I spoke, and we agreed that I would work in his lab. That’s when this whole other phase of my life at UCI began.
I moved into this large office with a bunch of supersmart Ph.D. students, and it was a very humbling experience, because I realized that I had so much to learn. I felt constantly challenged because I was always surrounded by people who I thought were smarter than I was, which wasn’t necessarily a bad spot to be in. It forced me to pull my weight.
Can you talk about your landmark work on architectural style for solving computationally intensive problems on large networks?
This is another example of a serendipitous set of circumstances that may never have happened if a whole bunch of things didn’t work out in a particular way. Some 15 years ago, one of my Ph.D. students came to me and said, “I have a friend who’s been trying to find another advisor in the theory group.” This was Yuriy Brun, a third-year Ph.D. student whose advisor had decided suddenly that he no longer wanted to work on biologically inspired computing. So Yuriy was trying to figure out if there was any way that he could continue and finish with the topic that he had already made a lot of progress on.
I decided to sit down with Yuriy because I hate to see a student drop through the cracks because of somebody else’s decision. Long story short, Yuriy and I started talking. We were using the same English words but could not understand each other at all! He knew little about software engineering, and I knew almost nothing about computational models of molecular growth. We met two or three times a week for about six months, and often I would walk away very frustrated because it felt like we were talking past each other. But eventually we started understanding each other a little bit and figuring things out.
We got to a point where we realized that you could actually build a distributed computing system that implements his model and that allows you to place everything on a fully public network, where your computer and my computer might be on that network. You could then compute certain functions using his model without ever being able to realistically figure out what the data is. In other words, I could, for example, give you my DNA information and ask you to compute something on it, and using his model, you would never be able to figure out that this was my DNA — which has all kinds of interesting applications and implications. Yuriy built a software platform to prove that this could be done and demonstrated it. And it might not have happened, but he believed in his idea and spoke with a lot of passion, and I was just curious and we persevered. In the end it worked out really well. Yuriy is now a very successful academic in his own right.
What was your reaction to learning you were being inducted into the ICS Hall of Fame?
That was 100% unexpected. I had no idea I was nominated. I thought it was something typically extended to people in industry, not in academia, so it came out of left field completely. I already knew several of the people who had been inducted, and they’re incredibly well-known people — like Roy Fielding, who basically invented the modern World Wide Web as we know it — so I was pretty blown away.
Any words of advice for students studying software engineering or considering a career in academia?
For students studying software engineering, I think that one very cool thing is that of all the different computing disciplines, ours is the one where we don’t have to worry about ChatGPT replacing us just yet. Software engineers work on very large problems that depend on multiple groups of human beings coming together and figuring out costs and risks, and requirements for security, for safety, reliability, etc. That’s still very much a human-driven activity, and it requires a lot of thinking before you get to the point where somebody can code it. So I feel that, for the foreseeable future, we’re going to be safe.
And the other thing that’s very cool about academia is that we actually get to investigate whatever parts of these problems we feel are fun and relevant and challenging. That’s not to downplay the wonderful workplaces where you can be a practicing software engineer, but it’s a little bit less driven by immediate financial concerns and project deadlines, where you’re contractually obligated to deliver things and so on. I think there is a lot of freedom in being an academic and being able to pursue problems that you find interesting. The flip side, of course, is that we don’t get paid as well as people do in industry, but there’s always going to be a tradeoff.
What’s something most people don’t know about you?
I originally wanted to be a sportscaster. I felt like, “hey, I love sports, and I could actually get to watch sports for a living, right?”
And by sheer happenstance, my best friend, Maksim Zivaljevic, became a sportscaster in Montenegro, and the job is not always what it’s cracked up to be. No job out there is perfect. It’s a job, right? It’s not like grabbing a beer and sitting in front of a TV, yelling at the ref or whatever. It is an actual profession, and it has its own stresses and challenges. My friend is a trained mathematician, but he worked his way through a radio station and eventually a TV station to become a well-known TV sports personality, but it was a huge time investment. He had to dedicate his life to this.
I never really invested the time, so being a sportscaster wasn’t in the cards for me. But I’m still a huge soccer fan. It’s not uncommon for me to be up at 4:30 a.m. to watch the English Premier League games!
Since you’re not a sportscaster, what do you like best about working in academia?
Until I became department chair, my answer would have been “freedom.” I keep coming back to this notion of freedom of doing what you want and working on your own schedule — which is usually actually packed and very merciless — but at least you are your own boss. You set your own agenda and you have a lot more flexibility and a lot more ability and agency in determining what you want to do.
And on top of that huge benefit, I keep getting older but my students stay the same age. I’m constantly surrounded by 22- and 23-year-olds, who are just starting on this path of becoming Ph.D. students in their own right, and not to mention 19- and 20-year-olds who are taking my classes, and they perpetually keep me engaged and energized! Just like anything else, it’s not perfect, but it’s definitely a job that has afforded me so much in my life that I’m incredibly thankful for.
— Shani Murray