Margo Seltzer

Margo Seltzer

Computer Engineer
Harvard University
Margo Seltzer
Ask a Question:
Required field
Please note
The engineers who take the time to respond to student questions on this forum are often very busy and may not respond to some questions, particularly those that have been answered elsewhere. Please be sure to review previous questions and answers to see if your question may have already been addressed.
Enter the code shown: (only upper case)


I am now an associate professor of computer science at Harvard University, in our division of engineering and applied sciences. However, the road I took to get here was hardly a straight and planned one! I grew up in a small town in rural, upstate, N.Y., I like to describe it as a place with more cows than people. I was always a good student in math and science, but I had no idea whether that would continue when I left my safe, protected environment. In an effort to figure that out, I went to college at Harvard College, where I studied Applied Mathematics (Harvard did not yet offer an undergraduate degree in Computer Science then). After graduating in 1983, one of my professors encouraged me to go work for a start-up computer company that was building a new computer. This was the beginning of a real career for me and a friendship and mentoring relationship with my former professor that has lasted to this day. I rarely make major career decisions without talking with him and we constantly find our careers interleaving. We both left that first start-up after a couple of years and went to different companies, but were reunited again a year later when he founded yet another company. I learned a tremendous amount in a very short time, and after almost five years working in industry, I decided to go back to school and pursue a Ph.D. I did not have a clear idea of what obtaining a Ph.D. really entailed, but I thought it might be rewarding to teach at a college or university level. I attended the University of California, Berkeley, earned my degree, and returned to Harvard as a Professor. What a surprise to return to my own undergraduate institution as a faculty member! My main areas of interest are operating systems and databases, although my research at Harvard has been primarily in operating systems (I fulfill my database interests by having started a small database company with my husband). As operating systems are an infrastructure component, research in operating systems can produce one of two types of results: it can enable applications to do things that were not possible or it can enable applications to do things better. My research group makes strides in both areas. We conduct a lot of detailed performance analysis to understand why systems are slow and how we can speed them up, and we've also built a new operating system that allows applications flexibility without jeopardizing the reliability of the overall operating system. In a University environment, teaching and research go hand in hand. This has worked out wonderfully for me as I teach both our undergraduate and graduate operating systems courses. Some of the best students in those courses then come to work in my research group, developing code and conducting research. Computer Science is the ultimate combination of Engineering and Science. It provides the tangible satisfaction that comes from building things and seeing them run with the thrill of discovery that is the hallmark of scientific exploration. Practicing this combination in an academic environment provides the social interaction that rounds out the ideals of a perfect job for me. As a result, my short and long-term goals are largely similar. I want to continue to do interesting technical work, work with people, and help young people become skilled computer scientists and engineers. While I try to take pride in all my accomplishments, I think the biggest thrill still comes when someone tells me how wonderful my students are. In my mind, the greatest challenge in any career is balancing one's work life with one's private life. I have always maintained an active life outside work, playing soccer, studying karate, spending time with my family, and socializing as much as my schedule allows. When you have a job, you have plenty of time for these activities, but when you have a career, you have to make the time, and it's an effort well worth making. If you would like more information about my research, please check out my web site:

Answers by Margo Seltzer

Hi Courtney -- thanks for writing!

Without knowing the details of the programs at your University, it's difficult to offer specific advice, but I'm happy to suggest ways to think about this.  I believe that your major should reflect your interests and be the best representation of the courses you want to take.  So the first thing to do is go through your school's course catalog and identify all the courses that you would really love to take.

Having done that, do the analysis: how many of those will help you finish your math degree?  How many would be appropriate for a computer engineering degree?  In other words, in the absence of requirements -- would your passion take you deeper into math or more into computer engineering?

Then look at the other side -- given the requirements of the two majors, how many courses that don't make your "courses I want to take" list would you have to take?  The last thing you want to do is spend your final two years in college taking classes that you don't want to take.

So, depending on how that analysis goes, you will either decide to stay in math and pursue CE on your own, or you'll switch to CE. I'm assuming that if you switch to CE, you'll not have a lot of flexibility in what you do, so let's talk about what it might look like to continue in Math but learn some CE. How many course slots do you have open to take classes you want?  Are you allowed to cross register in the school of engineering to take the classes you want?  Do you have the prerequisites to do so?  If you can take a lot of the classes you want while finishing your math degree, excellent!  If not, then you might explore possibilities for online courses that help you develop the skills/background you need.

I hope this is useful!

- margo