Software Engineer at TwinStream Ltd (2024-08 – Present)
TwinStream is a cybersecurity company building secure data-handling platforms for government and enterprise clients, including cross-domain systems that move and govern sensitive data across security classification boundaries.
- Delivered secure, event-driven Java/Spring Boot services for cross-domain data-transfer workflows, standardising how sensitive data is ingested, validated, orchestrated and passed through notification workflows across multiple projects — validated end-to-end through BDD integration tests against live environments.
- Led dependency and CVE management across backend services and deployment artefacts, identifying vulnerable libraries, assessing upgrade impact, and coordinating safe remediation through build, test and deployment pipelines.
- Built and maintained shared Java service libraries covering HTTP client resilience, security, structured logging and database migrations — standardising cross-cutting concerns and enabling faster service bootstrapping and simpler upgrades across teams.
- Supported platform delivery across four secure client environments, improving repeatability and reducing manual effort across Kubernetes deployments, Terraform and Ansible automation, and certificate lifecycle management.
- Acted as a first point of contact for new engineers, introducing the platform's technology stack and monorepo workflow to get new starters contributing quickly.
Software Engineer (Consultant) at CGI (2023-10 – 2024-08)
- Built a messaging framework allowing a consumer service to pick up and process results from upstream algorithm services asynchronously, decoupling pipeline stages and improving resilience.
- Implemented compression and binary conversion strategies, reducing data storage overhead by 37% and improving database read/write performance.
- Built automation tools to speed up the integration test suite, improving developer experience and cutting time to production-ready builds.
Software Developer at Virgin Media O2 (2021-09 – 2023-10)
- Optimised the integration of Virgin Media and O2, giving new Virgin Media customers access to the O2 Priority app via an authorisation service built with Java 11, microservices, OIDC, and OAuth.
- Refactored legacy microservices, achieving a performance improvement of approximately 25%, measured via OpenSearch monitoring.
- Added API-level caching between microservices using DropWizard's built-in caching, handling high traffic spikes during peak usage and improving response times.
- Identified a security breach via OpenSearch monitoring and logging, preventing exposure of sensitive internal data.
Junior Developer at Virgin Media O2 (2019-09 – 2021-09)
- Maintained 92% test coverage across all microservices using Groovy, Spock, and Selenium for unit, integration, and acceptance tests, with coverage tracked via JaCoCo and SonarQube.
- Implemented an in-house API using RESTful design and AWS S3 to automate a marketing distribution process, cutting it from 3 days to 20 minutes.
- Wrote a Bash script to automate developer onboarding, integrating with GitHub to pull repositories and get new starters up and running quickly.
- Mentored junior developers and apprentices, including guiding development of an internal device-tracking system, through pairing and code reviews.
- Created developer documentation in Confluence to centralise information as a reference for the team.
Apprentice Developer at Virgin Media O2 (2017-09 – 2019-09)
- Selected from a pool of 1,500 candidates for an apprenticeship, progressing through four interview stages to secure one of two positions.
- Worked with fellow apprentices to build and maintain a tracking app for internal test devices using Java 8, Spring Boot, MySQL, JPA, Thymeleaf, HTML, CSS, JUnit, AWS Elastic Beanstalk, Git/GitHub, and Confluence, reducing time spent managing test devices.
- Chosen to represent the company in a tech talk at a local primary school, demonstrating virtual reality and future technology to students.