MSc in Computer Science

Software engineering, algorithms, systems design, and applied research.

My MSc in Computer Science gave me a stronger technical foundation for understanding how modern software systems are designed, built, integrated, secured and managed. The course was not narrowly focused on programming. It covered a broad range of computer science disciplines, including software engineering, operating systems, data analytics, enterprise systems, emerging technologies, and project management.

That breadth was important because real software products rarely sit inside one neat technical category. A commercial system may involve user interfaces, APIs, databases, infrastructure, security controls, reporting, integrations, deployment environments, operational workflows and long-term maintainability. The MSc helped me understand how those areas connect, and how decisions made in one part of a system can create consequences elsewhere.

The course included core study in software engineering principles and practices, which focused on the management of the full software development process. This included exposure to contemporary industry practices such as Agile software development and quality-driven development. For me, this was directly relevant to product management because it strengthened my understanding of how requirements, design, implementation, testing and delivery need to work together rather than being treated as disconnected stages.

It also covered computing and operating systems, which provided a deeper understanding of the technical environments that software runs on. That included core operating system concepts and the practical implications of designing, commissioning and working with Windows and Unix-derived systems. This helped reinforce that software does not exist in isolation. It runs on infrastructure, depends on environments and is constrained by the capabilities and limitations of the platforms beneath it.

The MSc also included research methods and a dissertation, which required a more structured approach to investigation, evidence, argument and technical evaluation. That has been useful in product work because good product decisions should not be based purely on opinion or stakeholder pressure. They need evidence, analysis, structured reasoning and a clear understanding of the problem being solved.

The advanced project management and entrepreneurship content also connected strongly with my professional work. Software initiatives fail not only because of poor code, but because of weak governance, unclear objectives, poor communication, unmanaged risk and a lack of commercial discipline. Studying project management alongside technical subjects helped reinforce the need to connect delivery methods with business outcomes.

For me, the main value of the MSc was that it improved the quality of the questions I can ask. It gave me a stronger basis for discussing feasibility, complexity, architecture, data, infrastructure, security, delivery risk and technical trade-offs with engineering teams. It also helped me avoid treating software as a black box. I do not need to be the engineer in the room to understand the shape of the technical problem.

That matters in product management because a product manager often acts as the bridge between business intent and technical implementation. The role requires enough technical understanding to translate customer problems into workable product decisions, challenge weak assumptions and recognise when a simple-sounding requirement may have significant architectural or operational consequences.

This is particularly relevant in transport management software, where features often involve planning logic, customer configuration, order data, allocation rules, mobile workflows, integrations, invoicing processes, reporting and operational exceptions. A small change to a screen can have consequences for data models, downstream systems, permissions, support processes and customer behaviour. The MSc helped strengthen my ability to think about those changes as part of a wider software system.

It has also supported my personal technical development. My own projects involving Spring Boot, simulation, data analysis, AI-assisted specification and microservice-style architecture are partly a way of applying that learning in practice. They help me stay close to the realities of software delivery and keep my product thinking grounded in how systems are actually built.

Overall, the MSc in Computer Science gave me a broader and deeper technical lens. It strengthened my ability to connect software engineering, data, cloud infrastructure, security, research, project delivery and product thinking. That combination is valuable because modern product management is not just about deciding what should be built. It is about understanding what can be built, what should be built, how it might be delivered, and what trade-offs are being made along the way.

Back to Education