Contact
About
Tech Lead and software engineer with 15+ years building scalable systems using DDD, event-sourcing, AWS (Serverless), and event-driven architectures. Full-stack skills include React, PHP, TypeScript, and Terraform. Passionate about solving business problems, continuous learning aided by side-projects, and sharing knowledge through writing and podcasting.
Work Experience
Instapro
Promoted to Tech Lead after the MyBuilder and Instapro merger, shaping technical direction and leading key greenfield projects in a larger organisation.
- Led a major retailer integration service, running event storming sessions and collaborating with stakeholders from design to rollout. Delivered using React, TypeScript, PHP, and AWS Serverless.
- Built a chat platform as a micro-frontend vertical-slice service, enabling rapid delivery and experimentation with custom markup, Slack-like features, and an internal 'Surface Builder' tooling.
- Drove architectural decisions and guided teams in breaking up the monolith, adopting vertical-slice service ownership, and designing around subdomains and bounded contexts.
MyBuilder
Transitioned to a Site Reliability Engineer role to focus on cloud-native infrastructure and platform enablement, supporting development teams and contributing to architectural decisions.
- Led the development of a greenfield insurance application and underwriting system (MyBuilder Plus), delivered in under six months using DDD, Event Sourcing, CQRS, Hexagonal Architecture, Terraform, and Serverless technologies.
- Migrated all services to Serverless (AWS Lambda), reducing operational overhead, empowering teams to focus on business value, and accelerating delivery.
- Created internal developer tooling, including a CLI to streamline service discovery and local development, significantly improving developer productivity.
MyBuilder
Promoted to Senior Software Engineer, leading major product features, mentoring junior engineers, and shaping infrastructure strategy.
- Led migration from on-premises to AWS using Terraform and many AWS services.
- Built an event-sourced Tradespeople shortlist billing bounded context within the modular monolith.
MyBuilder
Worked in a small, agile team applying modern engineering practices across the stack. Delivered both greenfield and brownfield projects, deepening my technical and business domain expertise.
- Drove key product features that contributed to MyBuilder's acquisition by IAC in 2017.
- Supported the migration to a modular monolith architecture, helping discover subdomains and architect bounded contexts.
- Built a greenfield RESTful microservice for Tradespeople trade assessments, ensuring qualification standards on the platform.
360 Software Solutions
Delivered tailored web solutions for diverse clients, balancing new and legacy projects while honing communication and problem-solving skills.
- Designed and implemented a modular MVC PHP content management platform, enabling rapid and efficient client website development.
- Led the end-to-end development of a large-scale, web-based mobile search engine start-up, overseeing architecture and delivery.
- Developed and launched a cross-platform mobile application for iOS and Android using Titanium, expanding client reach.
Education
Awards
Awarded the School Prize for Outstanding Achievement in the Undergraduate Computing programme, achieving 74%+ in every module across all three years.
Skills
- PHP
- JavaScript
- TypeScript
- Python
- Rust
- Swift
- SQL
- React
- Next.js
- Redux Toolkit
- Vite
- BEM
- Tailwind CSS
- Styled Components
- PWA (Service Workers, Workbox)
- WebAssembly
- Symfony
- Laravel
- AWS
- Terraform
- Serverless Framework
- CDK
- AWS Lambda
- S3
- EventBridge
- SQS
- SNS
- RDS
- ECS Fargate
- PostgreSQL
- MySQL
- Redis
- DynamoDB
- Domain-Driven Design
- Event Sourcing
- CQRS
- Hexagonal Architecture
- Event-driven Architecture
- Micro-frontends
- Microservices
- Git
- Unix
- Docker
- GitHub Actions
- Puppet
- Terraform Cloud
- Automated testing
- Continuous integration
- Continuous delivery
- AWS CloudWatch
- Datadog
- Grafana
- Sentry
Projects
A functional, C-like programming language for Advent of Code puzzles that blends the most effective features from languages I've worked with, featuring a tree-walking interpreter in TypeScript and Rust.
A SaaS that turns saved articles into narrated podcast episodes using LLMs for summarisation and text-to-speech, delivered directly to your podcast app.
A serverless PHP/Symfony project demonstrating DDD, Hexagonal Architecture, CQRS, and Event Sourcing, used at MyBuilder and Instapro to teach core architectural patterns with Terraform IaC and robust testing.
A Serverless Framework plugin for managing long-running Fargate ECS tasks, averaging over 8,000 weekly downloads on NPM.
A multi-engine chess analysis Progressive Web App with online (AWS Lambda) and local (WASM) chess engine support, plus an iOS app available in the App Store.
Completed (almost) every Advent of Code puzzle in multiple languages to deepen my skills and explore new programming paradigms.
Interests
- Host of Compiled Conversations, interviewing influential figures in software and technology.
- Co-hosted Three Devs and a Maybe (2013-2019), covering a broad range of software topics.
- Passionate long-distance runner with 20+ marathons and an ultra marathon completed; known for early morning runs and obsessively tracking stats on Strava.
- Learning PCB design by building a custom electronic chessboard using Chessmate APIs, and documenting the process on my site.
- Exploring AI's impact on software development through hands-on projects.
- Building predictive models (e.g., fantasy Formula 1 outcomes) to deepen ML expertise.
- Using CNNs to detect chessboard states, powering new Chessmate features.
References
Available upon request