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.
Colin Cross, Class of 2011, is a Senior Software Engineer at Backstop Solutions Group. Colin describes an exciting MPCS experience at Argonne National Lab, details the most rewarding aspects of his profession and shares his best advice for people with an interest in computer science.
Did you come to MPCS with a computer science background?
I had dabbled a bit in CS, but beyond taking an introductory course in undergrad and learning a bit here and there from physics courses and hobby development; I was pretty new to it.
Much of the programming I had done was with a very tenuous technical foundation, so I rarely truly understood the details of why my code worked--or more frequently, why it didn’t work.
What motivated you to apply and enroll in MPCS?
I studied physics in undergrad, but didn’t see myself pursuing the traditional physics careers of research or teaching. I’d dabbled in web development and computer science but wasn’t sure if that was the right career path for me. I decided to try to learn more, so I studied some C++ basics and wrote a very simple ray tracing graphics engine. After the third night of staying up way too late working on my project, it was clear that I was hooked. I wanted a comprehensive CS education and MPCS was an ideal option for me.
What was your favorite MPCS course? Why?
Definitely Algorithms with Professor Brady. I can’t say I grew to love inductive proofs, but gaining a real understanding of why the ubiquitous search, sorting, and graph algorithms work was extremely satisfying.
What is your favorite memory from your time spent as a MPCS student?
My favorite MPCS memory would have to be when my class got access to a multi-thousand-processor machine at Argonne National Lab to run the simulations we created for our parallel programming course. We could upload our program and simply add a job to a queue to run it on 2,000 processors simultaneously! To this day I haven’t had access to that much computing power.
How has your MPCS education helped you achieve your professional goals?
Being a good software engineer absolutely requires a strong foundation in the areas that the MPCS focuses on – things like algorithms, design, networking and systems. Having a strong foundation in these subject areas has helped immensely as I’ve continued my education on the job.
What does a typical work day look like for you?
I’m an early riser. I get to work a little before 8:00 a.m. which gives me a solid hour of quiet working time before the office starts buzzing with the rest of the engineering team. I use this time to try to think out technical problems and complete coding tasks from the day before. A good night’s sleep is the ultimate reset, and problems that seemed practically impossible sometimes magically become trivial the next morning.
By 9:20 a.m. my whole team is in the office or has started up a video chat from home and we can do our daily standup meeting. We coordinate the day’s work and 10 minutes later we’ve gotten right down to our chosen tasks, be it research, design, pair programming or a multitude of other things. As the team lead, I also block out time for coordinating our planning meetings and team retrospectives, as well as regular one-on-one meetings with my teammates. Overall, meetings are pretty rare; so each day mostly consists of technical work and checking in with my teammates to help solve problems and remove technical roadblocks.
What do you enjoy most about your profession?
Being a software engineer means solving technically and creatively rewarding problems with other smart, passionate people every day. As a major bonus, the constant need for engineers in practically every business domain means that excellent compensation, benefits, work environment, and freedom are extraordinarily easy to come by.
Would you recommend MPCS to others? If so, why?
I would. If you know you’re interested in software development but are far from having the skills and knowledge to get a job in the field, there are few faster ways to get a really rounded and useful education than the Masters Program in Computer Science.
What is a piece of advice you’d give someone considering applying to UChicago’s Masters Program in Computer Science?