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.
Paul Roales, Class of 2013, is a Software Engineer at Google. Paul shares a typical day at the Google offices, discusses the global impact of his work and shares his three favorite MPCS courses.
Did you come to MPCS with a computer science background?
No, my undergraduate degree was in manufacturing and I had worked for most of my career in finance. I had written some small programs mostly on my calculator when I was in high school, but that was more than a decade before I started at the University of Chicago. When I applied, I had some familiarity with very basic stuff like how to change the font color on a webpage or how to work with formulas in Excel, but my formal computer science background was really quite limited.
What motivated you to apply and enroll in MPCS?
I was at a crossroads in my career. I had spent 6 years in finance and I knew I wanted to leave the field. I had fond memories working with computers and writing small programs when I was in high school and was encouraged by a lot of the opportunities I was seeing in the industry. Honestly, my undergraduate academic record was pretty mixed. So when I applied to MPCS I thought it would be quite a stretch--but fantastic if it worked out-- and ever since starting in the program it has been.
What was your favorite MPCS course? Why?
Three courses really made an impact on me and stand out today. First, the immersion programming course that I started day one in the program really gave me the fundamentals of programming. I started to get what it was all about, and the skills I learned in this class are the ones I still use all day, every day. The algorithms course I took the next semester was an absolute gem. It gave me a lot of the core computer science fundamentals that are at the center of working on big software projects at Google like scale. One of the last courses I took in the program was Object Oriented Design, which to me felt like a intellectual capstone to the entire program. That course helped me bring my new skills and experiences into perspective and really spurred a lot of thinking about how these things were going to be applied to solve problems and build real world software.
What is your favorite memory from your time spent as a MPCS student?
I don’t have a specific memory, but I have lots of good memories of the times I spent with fellow students in our programs computer lab and work space. We had a diverse group of people in my kind of informal cohort that came into the program together, and we spent a lot of fun times together designing compilers, in the pub and discussing everything from technology trends to the Bears.
How has your MPCS education helped you achieve your professional goals?
MPCS was the absolute cornerstone to helping me get to where I am today. It was not an insignificant commitment of time and tuition, but it has paid off in a huge way. It is not overstating it to say that MPCS changed the trajectory of my career. From before I started the MPCS program to today, my salary has nearly tripled. I went from submitting hundreds of resumes to find a lead on a job to having my inbox be filled every day with recruiters eager to talk to me about hot new opportunities.
Going forward, it just sets an entirely different tone for the types of opportunities that are now open to me. It is a big luxury to have some choices now in how I move forward in my career. From here, I can stick with writing code and continue to develop technically or there are a lot of different tracks from management, to sales, to product strategy that are now open to me that were not before the MPCS program.
What does a typical work day look like for you?
When I get into the office, I catch some quick breakfast in one of the Google cafes before heading to my desk to catch up on any email that has come in overnight. Google is a very open company and is continuously pushing the boundaries of computer science; so I will often spend the first half hour or so of each day just keeping on top of new tools that are being rolled out across the company or important changes to frameworks or systems that I am currently working with.
After I get caught up on the day, I start working on active software development. Sometimes this can be helping with the planning or architecture of new systems, or more often it is writing code--either the development of new features or the fixing of bugs. One of the things that I really enjoy about Google is that as a developer I have expansive time to really dig into development without being interrupted by meetings. In a typical week, I may only spend two or three hours in meetings which is probably as much time as I spend in the office game room with my team or at TGIF type happy hours.
At the end of the day I catch a quick workout, and then will meet up with friends around the office for dinner. We have some great chefs at Google and a beautiful building so catching a good meal on a balcony overlooking the New York skyline with friends is a great way to finish the day and wind down before heading home.
What do you enjoy most about your profession?
Code is almost infinitely scalable. Once code is written it can be run over and over again; and this allows a developer's work to reach out and positively impact a large number of people all around the world. It sounds crazy when I stop to think about it, but over 200 million people used code that I helped write in the last month. Even if I spent most of a morning tweaking a footer or fixing a small bug; as a developer, I know that I am making a small contribution to a large product that will help someone stay in touch with their parents or help someone keep up on the news of the day; or make sure that the special memories we all have saved in our photos are backed up and safe.
Would you recommend MPCS to others? If so, why?
For me, the rigor of the academics in the program was important. I was making a big commitment time and tuition wise. So I was pleased when we really dug into subjects, had thorough homework and teachers that were serious about the quality of their instruction. The University of Chicago community has been a big benefit I did not account for when I started looking at the MPCS program. I live away from Chicago now, and the quality of fellow alumni I meet and the amount of interesting programs the University puts on here in New York City is something I never expected to gain from a Masters degree.
I would also add that I really appreciated how focused everyone in the program was on helping me move through the program and put my degree to use in the working world. Class schedules and professors were flexible to help make sure my fellow students and I got the classes we wanted without having gaps between semesters or summers off without progress. Just that extra effort by the staff and administrators to help fit the program to student needs really made a big difference.
What is a piece of advice you’d give someone considering applying to UChicago’s Masters Program in Computer Science?
Think about if you want to write code and if that is something that you would enjoy. Do some online courses or take some one day bootcamps. These programs won't take you far enough to make you a developer, but they will help you see if you enjoy the process of tackling a problem, breaking it down, getting stuck, and pushing through to create something. It can be a beautiful process; and a magical thing to sit down and create a site, program or piece of software from nothing. But make sure it is something that fits you and that you enjoy.
When you get there and want to receive the training to continue to build bigger and better things, there is no better place to prepare yourself with the theoretical fundamentals of computer science and practical system development experience then the University of Chicago's Masters Program in Computer Science.