Sep 2020 – Present
At Sinara I've been working on software for financial organisations, usually
with the .NET frameworks, including ASP.NET and MSSQL.
I've gained experience using Visual Studio and other tools to develop for the Windows platform.
Projects involved in:
- Market data feed handler: a highly concurrent system that handles multicast
network traffic. I was involved in:
- Developing tools to support development and testing: a tool for debugging multicast connectivity, a market data visualisation tool, and a controllable emulator of the system the handler connects to.
- Designing, implementing and performing tests, including unit and integration tests, as well as manual testing.
- Implementing functionality, and correcting issues that arose during development.
Jun 2018 – Aug 2019
Game Programmer (Student Placement)
As a developer at Feral I worked on bringing more games to macOS and
iOS, including Total War: Shogun 2, Tropico, and Company of Heroes.
By working on several large codebases I've gained the ability to jump into new projects and rapidly understand them; a skill that allows me to quickly start fixing bugs and implement new features.
Using C++ throughout my placement has earned me an in-depth understanding of it, which I've used to solve problems effectively on top of fixing issues such as cross-platform bugs and undefined behaviour.
I've learnt how to use Xcode to develop for Apple platforms, and used LLDB extensively to debug large applications and fix obscure bugs.
Sep 2016 – Jul 2020
BSc Hons Computer Science with Year in Industry
Graduated: 24th July 2020, first class
Year averages: 1st: 88%, 2nd: 80.3%, 4th: 76.4%
Dissertation project: Mining and analysing public government data of investment into research & innovation, applying some network and data analysis techniques to explore relationships and collect statistics.
Some exam results I'm proud of:
- Programming Paradigms • 99% As an introduction to the object-oriented and functional programming paradigms, I used Java to make a simple card-matching game, and Haskell to make simple but expressive programs
- Programming & Algorithms • 94% I learnt the usage of pointers and manual memory management through learning C, as well as a variety of data structures and algorithms
– C++ (17), CMake
A C++ emulator library for the 6502 microprocessor, aiming to make the best use
of modern C++ and best practices.
(Work in progress).
– Lua, MySQL
An addon for the game Garry's Mod. It allows players to create, join, and manage groups within a game server. Players can set a bulletin, manage their members and the group's bank account.
I created a minimal website that a business could use to provide contact
information and show off their services, supporting content in multiple
PHP was used for routing and translating the website's content. An adaptive CSS stylesheet makes the website usable on both desktop and mobile devices. Page transitions are performed through AJAX requests.
In my spare time I also enjoy archery, baking, and fiddling with open-source
software. Some of my open-source contributions can be found on my GitHub
My personal computers and server run a distribution of GNU/Linux, so I've a good understanding of how to install, use, and maintain such systems.
I've completed some exercises on Root Me to test my knowledge of computer security and learn more about it.
I worked with CoderDojo at an event that introduced young people to technology
and software development.
I supported attendees who learned about programming with Scratch and the BBC micro:bit, as well as web design using HTML & CSS.
Dec 2015 – Jun 2016
Throughout the school year, I helped run a weekly Programming Club with about 30 attendees, aged 13–17.
I organised programming challenges for attendees to complete, and set up
Raspberry Pis for attendees to tinker with.
During the club, I taught the basics of programming & algorithms, helping attendees with the challenges and activities.
- Communication skills: Teaching attendees improved my ability to communicate clearly and concisely
- Teamwork: I and the other club organisers regularly collaborated to prepare activities & challenges and advertise the club
- Organisation: Planning and organising activities developed my ability to manage my time, as I worked around my studies to help keep the club running
Jan 2014 – Jun 2014
I worked weekends at a local Cancer Research UK retail shop with other volunteers. I performed several roles, including working at the till, organising the store, and managing stock.
- Communication skills: Working at the till boosted my communication and people skills while ensuring that customers had a good experience with the charity
- Teamwork & organisation: Working with other volunteers strengthened my team-working, as we shared multiple roles and performed different jobs, working together to meet sales goals