I have been working with C# and .NET since I graduated from the University of Surrey and started working at Streeva in 2018, currently my day-to-day are primarily in .NET 6.0 and C# 10. All of the services I have worked on over the past 5 years have primarily been written using these tools and aim to achieve a Test-first programming approach using popular packages such as XUnit, FluentAssertions, and NSubstitute. Over the past year I have also been increasingly using Go in the workplace, re-working internal tooling from the ground up using Go 1.20.
I've been working with Cloud Services for 5 years now. At Streeva, I developed Azure Functions to form our API, backed by Azure Storage. At Mythical UK (formerly Polystream) I work with GCP and Kubernetes to manage our Platform Services across multiple Nodes, as well as Azure, primarily for Storage, Functions, and in the past DevOps, and AWS to deploy EC2 instances to host and serve command-streamed games. At Mythical UK we aim to provide a 'cloud-agnostic' streaming service as an alternative to traditional streaming services, so I have had experience architecting, deploying and managing Platform Services on a global scale. In March 2021 a team of four Polystreamers including myself took part in the AWS Game Day event and came third place out of eleven teams! 🥉 I am a certified AWS Cloud Practitioner (Jan 2022 - Jan 2025).
At Mythical UK I use a combination of Kubernetes and Docker to deploy and manage multiple Nodes of containerised Platform Services, and Lens for observation. Recently I have worked on a customised OCI compliant image-spec with the addition specifically for containerised Games, along with our own internal tool written in Go for managing application artefacts based on the Docker CLI.
At Mythical UK I used and developed Azure DevOps pipelines for deployment of Platform Services, we have since moved over to using CodeFresh.
Lens, Helm, Powershell, Python, JQuery & React, Terraform, JIRA, Kibana, Istio
At Mythical UK I've not only had the chance to be a part of an amazing and tight-knit group of skilled Platform Engineers, but I've also had the chance to work on some of the most interesting, cutting-edge technology in the world of streaming. I've been building .NET based services in C# and deploying them to GCP to provide the backbone which allows us to deploy and run hundreds of our servers across the globe to provide people with an optimal streaming experience. I've also helped build, define, and manage the systems and tools which allow us to deploy servers globally, but also the core tools aimed at allowing developers to package and publish their applications to the cloud for streaming. Some of my responsibilities include
I spent a year as a Core Engineer at Streeva working on the Swiftaid application's core API services built on top of Microsoft Azure Functions. This gave me a great introduction to the world of C# and allowed me to start dipping my toes into Cloud Services.
As part of my BsC work experience I spent one and a half years at NoteMachine. I led the testing and quality assurance of new ATM software and machinery before it was deployed to NoteMachine's full estate.
I worked as a Technical Support Consultant at a WDS call centre helping Tescos Mobile customers with their technical issues on their mobile phones.
I volunteered at 3 Sided Cube for seven months which gave me my introduction to development work in the mobile environment.
I spent three years of Computer Science study at the University of Surrey and spent a year doing work experience with NoteMachine. With one year as a Student Ambassador and as the IT and Marketing officer for a student society. My final project investigated and compared Machine Learning techniques for dating language samples.
I spent two years doing an extended BTEC diploma in Web and Games technology at Bournemouth and Poole College.
At Mythical UK I've been lucky enough to see and work on the development of what we call 'Command Streaming', you can hear more about that and how it is a major improvement on regular streaming technologies and how we leverage cloud technologies here. As a Platform Engineer I have been working on the global infrastructure that enables Command Streaming to be available to customers and developers, rather than the core technology.
We recently completely overhauled the way we deliver the Polystream streaming experience to use a container based approach, not only did this mean re-working our Platform Services, it also meant re-designing how developers publish their applications onto our platform. Because we are going with a container based approach we decided to use OCI artefacts as application packages and develop a tool, mythctl in Go, based on the Docker CLI that would use our OCI compliant asset-spec to build and push artefacts to compatible registries for streaming.
While at Mythical UK one of the major challenges that faced us was how to easily get an Application such as Unity Editor or Alien Isolation from a developer to the Polystream platform so that it could be streamed globally. In 2021 I took the lead in developing a CLI tool called PPU (Polystream Packaging Utility) aimed at making the process of packaging and publishing an application to Polystream simple and recognisable for developers. You can read about some of the challenges I faced and the outcomes here.
Templum is a hobby-project of mine that I work on to improve some of my web skills while indulging my interests in History and Archaeology. Templum is a searchable catalogue of Temple sites from Britain and Ireland between 100 BCE and 600 CE. I'm currently overhauling it to use a .NET based backend that will use Github as a no-SQL database based on the Gitrows project. You can check it out here.
At Mythical UK we held regular 'Fantom Jams', a hackathon type event where in small teams we were able to experiment with our streaming technologies to our heart's content over a 48 hour period and attempt to 'do something amazing'. In Spring 2021 myself and a team of 3 other Polystreamers re-created a virtual museum space in the Unity Editor to show off some of Polystream's history and show that these virtual spaces aren't limited to traditional games experiences, but more social and even educational experiences too. We came in first place! You can read more about it here. 🥇