University of Chicago Masters Program in Computer Science alumni push boundaries and innovate across many facets of industry. Whether it’s developing seamless UX interfaces, engineering software at fortune 500 companies, working in big data or keeping networks secure; our esteemed alumni use their applied skills education from MPCS to problem-solve, create, and elevate the computer science field. Learn from their stories and discover how a CS background can prepare you for cutting edge careers and leadership roles.
Nathaniel Doromal, Class of 2005, is a Lead Launch Site Reliability Engineer at Google. Nathaniel reflects on how MPCS has prepared him for an energizing career at Google, shares his favorite MPCS course and what led him to apply.
Did you come to MPCS with a computer science background?
I came to MPCS with dual undergraduate degrees in computer science and telecommunications. I had been programming since the age of 8 and spent my childhood hacking away happily on BASIC games.
When I came to MPCS, I had just finished up a stint at Americorps Vista where I served a year working with Vietnamese refugees in Louisville.
What motivated you to apply and enroll in MPCS?
I applied to the MPCS because I wanted to expose myself to a wider breadth of computer science, and fulfill my insatiable need to learn more about the topic. I was attracted by University of Chicago's reputation for academic rigor and the chance to study with world-class faculty.
What was your favorite MPCS course? Why?
I enjoyed Mark Shacklette's Objected Oriented Design and Architecture course. At that point, I had absorbed a lot of programming knowledge; but I wasn't able to put it together in an architecture that would scale until I took the course. The material on design patterns and refactoring has proved invaluable.
What is your favorite memory from your time spent as a MPCS student?
There were many. I recall spirited discussions in my distributed systems class; working on an independent study with Andrew Siegel on a software project I came up with; and many a night of camaraderie with other MPCS students in the computer lab in pursuit of the perfection of our art.
How has your MPCS education helped you achieve your professional goals?
After MPCS, I joined the trading industry where the skills I learned in the program gave me the foundation to work on sophisticated trading systems. I was part of a startup where I architected a trading platform that we ultimately sold to a financial services institution. I was then involved on high-frequency trading systems in the equity space. I now apply my deep, technical knowledge and ability to think at a wider level to my role at Google.
What does a typical work day look like for you?
My role is to coordinate software and product launches between Google software engineering and Google SRE teams. SRE has been described as the "world's most intense pit crew" on a world-scale distributed production system. We make sure that Google's services meet our criterion for reliability, performance, and stability so that we can serve the informational needs of the world.
I serve as a gatekeeper for software engineering teams into the world of Google production. I review architectural designs and software processes to assure compliance with production standards, help developers navigate operational processes that span multiple groups, provide project management assistance, and recommend practices that lead to more stable, performance services in production--keeping in mind all the risks that could occur when you run a service on a world-scale.
What do you enjoy most about your profession?
I get to be at the forefront of new and upcoming Google services and offerings. I’m also able to see the myriad of architectural designs for well-architected systems. I enjoy being embedded in a giant firehose of information, and using my technical expertise in order to ultimately serve the millions of people consuming those services. I also enjoy the front-row seat learning about distributed systems and machine learning at perhaps arguably the world's foremost example of it.
Would you recommend MPCS to others? If so, why?
Most definitely. The MPCS afforded me flexibility in pursuing topics I was interested in and expanding the breadth of my experiences. I found the professors to be excellent and they conveyed their passion for the material that they taught. I found the material to be challenging and engaging. Overall, I enjoyed my experience at MPCS.
What is a piece of advice you’d give someone considering applying to UChicago’s Masters Program in Computer Science?
Take the hard classes. This includes the core disciplines of algorithms, operating systems, compilers, systems programming. Ultimately, what you want to get out of your graduate studies is the foundational ability to understand any technical system that gets thrown your way. While technologies change, the foundations remain the same. Learn the foundations deeply to stay ahead.