Current Position: HPC Engineer at Lloyd's in London
I originally studied physics (with a bit of computer science) and then worked as a scientific software developer for seven years. I wrote protein analysis and DNA sequencing software for a biotechnology company and then worked on seismic data-processing software for a geology company.
Before pursuing a PhD, I thought maybe it would be better to do a Master's to see how I liked being a student again.I knew I wanted to do some kind of hybrid course between physics and computer science, having had the opportunity to work on a couple of large-scale simulation projects as an undergraduate. In particular, I wanted to learn more about the languages and tools people use to run large-scale simulations of physical systems on supercomputers.
My favorite part of the MSc was all the projects we got to work on. In particular I really enjoyed Performance Programming and working on my dissertation. But I enjoyed almost all of the coursework, even where I didn't think I would (ie lots of paper writing). I was a student volunteer for the ISC13 in Leipzig, which was a blast! I met lots of other HPC students from around Europe and got a chance to go to interesting talks, talk with vendors and researchers from around the globe. Not to mention all the parties and free food...
Edinburgh is hands down the best city in the UK. A few examples: every pub has an excellent selection of whisky, hill-walking possibilities are within walking distance (I got a great view of the Pentlands from my flat), the best cycling trails of any town in Britain, the people are really friendly, the Fringe, Hogmanay, etc. Starting to wonder how I could manage to leave now. If I was a little younger, I would have taken more advantage of all the amazing clubs the University has to offer. I did learn how to rock-climb outdoors with the mountaineering club in the Lake District, which was pretty fun and I spent a lot of time at the climbing wall in the student gym, which has one of the best climbing facilities I've seen at a university.
I am currently working for Lloyd's of London as an HPC engineer. I'm currently working on optimising their risk model as well as liaising with actuaries to implement new functionality. Last week a change I implemented made a part of the model run 40% faster! Pretty exciting. The model itself was built to comply with the new financial regulations to ensure that Lloyd's has enough capital to provide for all the underwriting they do in a given year. It also allows for hundreds of thousands of different disaster scenarios to be run to determine what kind of effect certain situations would have on the market. I love that I am part of a new team working on creating and optimising a new model with a lot of room to grow and a lot of new things to learn.
Right now I think the biggest thing the MSc has given me is opening up a whole new world of computing that I only vaguely had a handle on previously. Certainly it helped me get interviews - and now a position - in an area of work closer to the large-scale simulations that I am interested in.
I'm keen to continue working in the HPC field. I think a lot of exciting things are going on right now and as the size of data throughput and data itself increases, more companies are going to be looking towards HPC solutions. Not to mention the new solutions to HPC problems that will need to be tackled. To anyone thinking of doing the MSc in HPC, I’d say if you are even a little bit interested in HPC and not sure what to do next, then do it! It's only a year long and you'll learn a lot about a field you have probably only scratched the surface of.
The MSc definitely opened my mind up to a whole realm of possible directions for me. It will also give you a niche edge in the job market. You're going to be competing with potentially hundreds or thousands of other developers for software jobs, but if you have skills in HPC you'll be a step ahead of the game. There is no doubt in my mind that many of the skills you'll learn on the programme are already becoming more and more important in ordinary software roles.