Located in Central London (Spitalfields), UK, 20 minutes’ walk from the centre of the City of London.
Dual British/Irish citizen. Right to work in the UK and throughout the EU.
Work experience
Senior Software Engineer (Casci.ai)
[January 2026 to September 2026]
Full stack DevOps with AWS on a small startup team delivering an MVP recruitment platform for client Fairlink, developed from scratch.
- Full stack with backend focus developing microservices with Java 21, Spring Boot, DocumentDB, AuroraDB and Cognito with frontend work using React+Next.js.
- Owned full DevOps, CI/CD workflow from build/test to deploy on AWS (via Helm and Terraform) containerised and orchestrated using Docker/Kubernetes.
- Wrote bespoke autogenerator for PDF CVs from worker profile data using OpenPDF, with HTTP API.
Full Stack Developer (IBM)
[October 2022 to June 2024]
Worked within Finance & Operations division, helping to develop and modernise the quote and ordering systems essential for clients to purchase products, services and parts from IBM, assisting the ongoing migration of these essential services from a legacy on-prem monolithic codebase to a modern cloud-native microservice-based application.
- Contributed bug fixes to both new and legacy system (Java, Spring Boot) as part of an international team.
- Managed open source supply chain issues to identify and upgrade components and build files affected by known CVE security issues.
- Engaged in DevOps practices working with IBM Cloud instances containerised with Docker/Kubernetes.
- Followed a CI/CD development model within an agile, Scrum framework supported by Jenkins, Jira and GitHub Enterprise.
- Some frontend work with Vue.js and core JavaScript.
Software Engineer (IBM)
[February 2021 to October 2022]
Responsibilities centred around improving the reliability of the Java components of the CICS Transaction Server, used by most large financial institutions and governments worldwide, as part of an agile team.
- Contributed fixes to CICS’s OpenLiberty integration in response to customer requirements.
- Contributed improvements to the Java-based automation testing framework used internally to enable testers to be more productive by reducing boilerplate and copy-paste changes in response to timing issues, leading to over 99.7% of tests passing in a single run for the first time.
- Wrote JavaCICS programs suitable for exercising dynamic link/multi-region operation CICS capabilities for use by automated tests to detect regressions in critical functionality.
Consultant (Auticon UK)
[January 2018 to November 2020]
Worked on projects for company clients, including:
- As part of a three-person team, developing tools for data deduplication and matching at Linklaters, reconciling two dirty datasets of approximately 40,000 records of legal matters using Python, Pandas and Numpy.
- Developing an HTTP API responder for Farming Online (digital services provider to the agricultural industry) enabling farmers in Thailand to manage their fields, check weather conditions and select appropriate pest control agents using Python, Flask and TDD with Python unittest.
- Automating the auditing process for a Switzerland-based non-profit loan provider’s accounting system using programmatic Excel macros and VBA learned from scratch on the job.
- Marking applicants’ aptitude tests and checking German-English translations of web copy.
Web Developer/Webmaster (GRUB NZ)
[November 2017 to date]
Designed, host and maintain website for successful New Zealand mobile food business. Frontend device-agnostic, mobile-first design using modern HTML5 and CSS3 using Hugo. Practical Linux/Unix systems administration, formerly on a homelab BSD server, now on a cloud-based VPS running Ubuntu Server.
Business Intelligence Analyst (Metro Bank Plc)
[May 2016 to July 2016]
Developed high-level views for bank’s Transact-SQL frontend to simplify data request retrieval. Worked on fraud detection and call centre monitoring projects. Developed dashboard using MS Power BI to aid fraud monitoring and investigation. Enriched data processing capabilities using transformation and reporting implemented in R.
Technologies
Programming languages
Java (8+), Python, Lisp/Clojure, JavaScript (ES6+), COBOL, C, assembly (MIPS, ARM etc.)
Data
SQL (Postgres/AuroraDB, MongoDB/DocumentDB, Transact, Sqlite), Pandas, R
Libraries
Spring Boot, Jakarta Persistence (JAXB), JUnit 5, Flask, Pandas, Numpy, SQLAlchemy, Liquibase etc.
Tools
Claude Code, Git, GitHub Enterprise, Jira, Jenkins, Docker, Hugo, SSH, rsync
Substantial Linux (Debian, Ubuntu, Red Hat/Fedora) and Unix (FreeBSD etc.) experience, as well as mainframe work.
Open source projects
Isobel/Sofia
Java backend library for translating Super Mario Bros. area data from game bytecode format to intermediate Java object format suitable for editing, with XML de/serialization (complete) and accompanying desktop-based frontend application implemented in Kotlin with JavaFX (in progress).
Effable
A document preparation system implemented in Common Lisp designed to emit output to multiple formats (HTML, ODT…) with autogeneration of semantic data, from a single source format which is itself a valid Common Lisp program.
Steele
A simple Java Virtual Machine implemented in Rust (in progress).
For more examples of my work please see my Codeberg.
Education
Degrees
- PGCert Computer Science (University of Bath 2023)
- BSc Combined STEM (The Open University 2021)
- BSc Computing (University of Leicester 2012).
Professional
- ISTQB Level 1 (2018)
- AWS Developer Xseries (2020)
MOOCs
Massively open online courses via edX and Coursera, subjects including functional programming, computer architecture, Android development and algorithms for bioinformatics. See my LinkedIn.
Natural languages
- English (native)
- Spanish (C1)
- German (B2)
- Portuguese (B1-2)
- Romanian (B1-2)