Why I chose to study an online master’s degree in Computer Science at the University of Bath

Today marks the halfway point of my Master’s degree in Computer Science - I’ve received my most recent grade for Functional Programming and am happy to say that I’m averaging 80%! I thought it would be a good opportunity to discuss the reasons behind my choice to study a master’s, how it’s helped me, and my future plans.

I’ve wanted to study Computer Science for years. It all started when I was 14 and trying to follow along with a Harvard Python course (perhaps the precursor to CS50..), whilst having no idea what an IDE was, writing my code in Notepad! Luckily, I have come a long way since then. I finally completed Harvard CS50, I Learnt Python the Hard Way, even made a game in Python. I’ve always found a way to solve problems, no matter how much spaghetti code I end up writing.

I finally took the jump after leaving my cushy job in consulting, becoming a Junior Engineer. I wanted to be taken more seriously in the role, and found the theory of Computer Science fascinating. So, when I discovered the existence of a conversion MSc in Computer Science, it seemed like the ideal opportunity.

Why study a masters?

“Why PAY to do a master’s? Just learn for free online!”

I’ve learnt so much from online tutorials. I landed my first engineering role through self-study and creating projects, there’s a huge amount of material out there and it’s possible to learn anything. However, despite all this, a lot of companies would just automatically reject my CV given the lack of formal CS education. No matter how many Hackathons, MOOCs or projects I listed, this failed to demonstrate the key skills required.

As soon as I listed that I was a Master’s student in Computer Science, doors started opening. It led to questions, discussions during interviews. Finally, my passion and skills for technology were being recognised. Although I spent my spare time studying online courses in Computer Science or programming, apparently this wasn’t enough.

There are free online courses that “equate” to a degree in Computer Science. The Open Source Society University and Teach Yourself Computer Science offer fantastic options for those with time, discipline and the ability to self-study. Otherwise, I found that many courses lacked structure. Or, the content would overlap and I would be relearning Python lists over and over. I needed a structured program to learn the underlying theory, with deadlines and other students to hold me accountable.

Studying Computer Science for my undergraduate wasn’t an option for me. At the time, no one from my year of over 150 went on to study Computer Science, I didn’t even know it existed or the huge earning potential I could have. Fast forward to the present, my former school has one of the best computing departments in the country, sending students to computing competitions, scholarships and top universities to study Computer Science. I was just a decade too early!

MSc vs BSc and the magic of student finance

I already have a Bachelor’s degree, so I wouldn’t be able to afford to self fund for another one. Though universities such as UBC and SFU offer graduate BSc Computer Science, that are highly regarded and accelerated, student funding and time commitments would be an issue.

One of my coworkers told me that he was a MSc Computer Science graduate, but his BSc was in Neuroscience.

I’m sorry - what?!

The idea of a conversion Master’s hadn’t crossed my mind. I looked at courses at Oxford and Imperial that required top grades in undergraduate computer science courses, and was only really useful for those going into further study or AI/ML. However, courses from universities such as Bristol and UCL only admitted students who had not studied computer science or related fields at undergraduate level. This was a revelation for me. The ability to study a master’s without the background meant a lot of things -

  • I qualified for student finance
  • I would gain a graduate degree
  • I could have my education equally valued across the globe

However, these courses were still expensive. Student loans did not cover the full tuition fees, and I would lose a year’s worth of salary and career growth. It meant the true cost of study would be much higher than the course itself.

That’s where the magic of Google Ads came in. I never thought I’d be championing targeted results (what, you mean not everyone is getting adverts for cycling gear all the time? Ha, just me…), but during my search for MSc Computer Science conversion courses I stumbled across these courses from the University of York, University of London and University of Bath.

Why study part-time and online?

After all this research, why did a flexible part-time online degree seem like the best option? Post-covid, the demand and respect for distance and online learning has multiplied, and I don't feel like I'm being short-changed whatsoever.

Online learning is flexible and convenient.

Online learning is so convenient and fits around my schedule. I can study at my own pace, with consistent checkpoints to stay on course. The fact I have no live interactions means that it fits incredibly well around my full-time job and other commitments.

An online master's degree is affordable.

Similar options on offer would have cost over £15,000, such as from UCL or Bristol. This allowed me to work full-time and not lose out on my income, and the program itself is cheaper than in-person. I have no travel or accommodation costs, and my career isn’t falling behind.

An online master's degree in computer science helped me get a promotion.

I really want to further my career in software engineering, and this degree has helped me get a promotion. My employer has really valued the education, and this is reflected in my work output.

How has studying an online master's helped my career?

As well as being promoted, studying computer science has just all round made me a better software engineer. I've developed my foundations in the principles of computing, understand how computers work, and how to design effective and efficient software. Read on to see some examples!

Functional programming has improved my code

The ability to think in an entire new paradigm has made me a much more effective software engineer. My code has improved, for example, I tend to write more pure functions, which have no side effects and are much easier to debug.

Understanding data structures and algorithms helped with interviews

I know how to write better code, that runs faster. This has made me a much more efficient and effective programmer, who actually understands what’s going on under the hood. Those of you familiar with Cracking the Coding Interview will be delighted to hear I had entire weeks dedicated to depth-first and breadth-first search algorithms, allowing me to actually understand the why behind a lot of things that were being taught in that book.

Teaching others at work developed my knowledge

At work, I found myself leading lunch and learn sessions, coaching people through the principles of Software Engineering, Graph Data structures and UI/UX guidelines. I love lifting others up, and had great feedback from seniors on these sessions. Passing on knowledge requires a deep understanding of the topic itself, and this really pushed me to do even better with my studies. After teaching Software Engineering at work I even managed to get a grade of 100% in that unit!

Landing a new job as a more senior engineer

I knew that having the educational background would open up more opportunities at larger tech companies, and would eventually allow me to land more prestigious roles. That’s exactly what happened when I’ve been searching for that next step in my career. Having the formal education caught the attention of hiring managers, and gave something to discuss during interviews. This degree demonstrated that I am committed to improving myself, and getting better at what I do.

I found that I could answer more technical questions during interviews, and reference parts of my degree. Discussing graph search algorithms, applying the ethics of AI to different products or how to use graph databases to detect and predict fraud were some top examples.

Related Entries