Experience
Policy Expert
2023 - Present
Senior fullstack role involving greenfield development of front-end solutions, and integration of existing backend systems with those of external vendors.
- Creating a CRM system to handle new products being rolled out to market.
- Integrating our policy lifecycle management system with new third-party vendors.
- Writing tooling to improve developer workflows.
10x Banking
2021 - 2022
Maintaining and developing a set of microservices responsible for storing and publishing customer data through restful HTTP endpoints or Kafka topics.
- Maintaining legacy APIs used by clients.
- Designing and implementing new APIs.
- Out of hours support.
- Improving code quality by addressing technical debt.
CMC Markets
2020 - 2021
Working within the Java Core Services team to maintain and upgrade microservices responsible for payments, compliance and internationalisation of the main Trading Application.
- Integrating with an external provider of PRIIPs financial analysis data for compliance purposes.
- Overhauling trading platform's onboarding process and creating an application form management tool.
- Integrating with an external provider of Address and Identity Verification services.
- Maintaining and improving the payments system used by clients to deposit and withdraw trading account funds.
- Various changes to administration tools used by non-technical employees to manage and configure services relevant to their work.
Caplin Systems
2017 - 2020
I joined Caplin Systems to participate in their graduate developer program, during which I spent time rotating several teams in the company undertaking tasks such as
- Integrating functionality from external providers of trading data/services into the Caplin stack.
- Improving and maintaining the main mock trading platform used by the front-end teams.
- Maintaining and creating new JavaScript components for BladeRunnerJS, a proprietary library for creating FX trading platforms.
- Contributing to the DevOps effort by creating new Chef recipes, Packer templates, Docker containers, and slack bots.
Education
University of Nottingham
MSc Computer Science (Distinction)
For my thesis I explored the role of a chatbot as an assistant to first year students in their daily lives. I built a simple web-based service which could scrape information from several University web-pages to provide information relating to bus schedules, contact information and office hours for lecturers, library computer availability, and campus shop opening times.
- Modules Taken:
- Mobile Device Programming (Android).
- Linear and Discrete Optimisation.
- Fuzzy Logic and Fuzzy Systems.
- Advanced Computer Networks.
- Game Design Theory.
University of Leicester
BSc Computing (2:1)
In my dissertation I was tasked with creating an algorithm which could solve levels of a ‘Candy Crush’-like game while maximising the player score. After creating my own clone of the game in Java, I used dynamic programming to reduce the NP-Hard problem of solving a Candy Crush board to a series of smaller subproblems which were solved in tractable time.
- Modules Taken:
- Internet Computing and Web Technologies.
- Multimedia and Computer Graphics.
- Operating Systems, Networking, and Distributed Systems.
- Communication and Concurrency.
- Analysis and Design of Algorithms.
- Cryptography and Information Security.