1. Why this program? Why Imperial?
I picked Imperial because I was looking for a well-reputed engineering university that could offer a “catch-up” program in computer science, teaching fundamentals and practicals together, targeted at people who have perhaps taught themselves some things, who have worked in the technology industry, or who have some relevant academic background.
I didn’t find anything quite like this in my country, and I had been exploring moving to the UK anyway. Most masters programs in computer science look for an academic engineering background, which I didn’t have. By contrast, Imperial and UCL were open to candidates like me, and they were the best two options I found.
I was and still am particularly interested in game development. Imperial began its teaching with a focus on C++, while UCL’s program focused on Java. Game development’s memory requirements are such that C++ is a more common language of the industry. All things equal, Imperial seemed like a better place to go.
2. What did you do before the program?
Unlike the majority of people in my class, I was a bit older and had worked for a number of years before coming to this program. Immediately before Imperial, I had completed an MBA at Oxford. Prior to that, I had worked as a technology advisor to a secondary school in Johannesburg, I had served as a regulator in the Obama Administration’s Federal Communications Commission, and I had spent time as a Product Specialist at Google in California.
My background was quite varied, but the linking thread was that I worked in and around technology. At this stage in my career, I was increasingly motivated by creating things myself, rather than just selling or regulating or integrating technology others had done. I also wanted to move more directly into the games or other creative industries. So that’s why I thought this program was a good next step for me.
3. What coding experience did you have when you started?
I had taken Python courses through learning and development functions at previous employers, I had taken online classes, and I had tinkered with my own set of game development. Within our first week at Imperial, we had gotten about as far as I had in the past… I really enjoyed the speed and momentum with which we progressed into and through the basics of development.
4. What did you like best about the program?
I really liked that we got to go to a very deep level to understand how computing works. I wanted to build my mental model of computing from the ground up, and having courses that included topics as basic as CPU adders to memory management to binary translations to operating systems helped de-mystify a significant amount of computing for me.
5. What did you find most challenging about the program?
Like almost any academic subject, the more you dive in, the more you realise just how vast the body of knowledge there is that remains for you to learn. We had just one year! To go from the basics in one semester into some of the most cutting edge computer science in the next semester meant there wasn’t always enough time to practice and internalise methodically.
In simpler terms, that meant that class content was, frankly, hard! That’s a good thing—I felt I got a real intellectual challenge here. But I could have easily (and happily) spent many more years in this department marinating in computer science to really improve my skills in a demonstrable way.
6. What did you learn or do that you are most proud of?
Ah! There is no doubt in my mind that my group project gave me my most successful project in some time. We worked on a robotics task. Given a humanoid robot from a Design Engineering Lab, we taught it to play fetch, incorporating a wide array of features from audio input, voice output, navigation, localisation, object recognition, and grasping and manipulation intelligence. This was an incredibly difficult task—especially since amongst us we had zero robotics experience—but we are very proud of our success here.
We presented our work to the Department of Computing in this video.
Let me know what you think!
7. What was your ideal next step as the program was completing and what are you doing now?
My ideal next step was to join the games industry as a game developer or a games product manager. I really wanted to be part of building and designing products where I could have a deeper involvement in the computing choices being made.
Currently, I am, in fact, a product manager for a games-focused company! So from the top-level view, this has been a success.
I work for a company, Imbellus, that makes game-based assessments. The goal is to provide an alternative to traditional multiple-choice tests (that usually test for mathematics skills, let’s say, as a heuristic for testing for problem-solving ability). We hire learning scientists and psychometricians, with the goal of measuring more abstract skills in a demonstrably better way. I work closely with and prioritise tasks for our backend platform teams, and I design internal tools, APIs, and user experiences that meet our goals. It’s been a wonderful experience.
My ultimate interest is in working on more narrative-driven games. I’ve only become more interested in the creative parts of the game development process, and I am very motivated by using games to tell stories that no other medium can, in ways that revolve around player agency. I’m very excited to see what my next projects might be.
8. Anything else you would like to tell people who are considering this program?
Yes! The Imperial program for an MSc in Computing is fantastic. Like any quality academic program, it will give you the tools and knowledge to go in an explosion of different directions. What it can’t do is decide what you should do with your life, and how you want to spend your time.
If you are interested in diving deep into computing without having to sacrifice too much time, I personally feel it would be hard to beat this program. But if you can take a couple of weekends to put some thought and work into the subject before you come, you will reap tremendous rewards. You’ll be able to target the professors, courses, and research topics ahead of time, and when people are wondering about what to do for group projects and the like, you’ll be a beacon for them.
Nothing stops you from picking up an Introduction to Computer Science textbook and getting a head start. Heck, go directly to https://www.doc.ic.ac.uk/~wjk/C++Intro/index.html and start working through our legendary Professor Knottenbelt’s An Introduction to the Imperative Part of C++ self-paced course.
If you’re not sure whether this is right for you, please reach out to any of us who have provided these alumni interviews. We probably struggled with some of the same questions you’re struggling with, and we would love to help you make the choice that’s best for you. As for me, find me (and my recent projects) at https://www.hellosagar.com/. Best of luck!