Hire me

I'm a software engineer with 25 years' experience building, maintaining, and improving websites and web applications, mostly in PHP using Laravel and Symfony.

A lot of my work has been on production systems that are already live: systems with history, complexity, business rules, edge cases, and real users depending on them. I'm good at getting inside those systems, understanding how they really work, and improving them carefully without causing unnecessary disruption.

My main strengths are backend architecture, API design, database-driven applications, and full-stack development. I'm strongest on the backend, but I'm comfortable working across the stack when the work calls for it.

I've worked with legacy codebases, monoliths, and distributed systems, including healthcare and financial platforms where correctness and stability matter. Much of my work involves modernising existing systems: reducing complexity, improving structure, reducing risk, improving performance, and making future changes easier.

I'm comfortable working in small teams, larger teams, or more isolated roles where communication takes a bit more effort. Whatever the setup, I find ways to keep people aligned, share context, and avoid surprises.

I like working in environments where constraints are real and trade-offs matter. I care about building systems that are reliable, maintainable, and easy to evolve without unnecessary rewrites or over-engineering.

What I do

  • Backend architecture and development
  • Full-stack web application development
  • Legacy system modernisation
  • Safe, incremental refactoring
  • API design and third-party integrations
  • Production performance optimisation
  • CI/CD and deployment-aware development
  • Technical leadership and mentoring

Tech stack

Backend

  • PHP: Laravel, Symfony
  • REST API design and development
  • Integration-heavy web applications

Frontend

  • Livewire, Alpine.js, Blade, Inertia.js
  • Vue.js, React, jQuery
  • Tailwind CSS, Bootstrap

Data and messaging

  • MySQL, MariaDB
  • Redis, RabbitMQ, Amazon SQS
  • Pub/sub systems and caching

Architecture

  • Monoliths, modular systems, and microservices
  • Domain modelling / DDD where useful
  • Event-driven systems
  • Legacy system refactoring

Testing and quality

  • PHPUnit
  • TDD where appropriate
  • PHPStan
  • Code reviews and static analysis

Infrastructure

  • Docker
  • AWS: S3, RDS, SQS, SES, CloudWatch
  • CI/CD: GitHub Actions, Jenkins, Bitbucket Pipelines

Development workflow

  • AI-assisted development: Claude Code, Codex
  • Codebase exploration, refactoring support, and developer tooling

Mobile and cross-platform

  • Flutter
  • SwiftUI
  • C#

Available for

  • Short or long-term contract roles, outside IR35, on an hourly or daily rate
  • Freelance PHP maintenance, bug fixing, refactoring, and improvement work through PHPFixer, my service for supporting existing PHP applications
  • I may be open to the right permanent Senior Engineer, Team Lead, or Principal Engineer role if the work, team, tech stack, and compensation make sense
  • Remote roles, or hybrid roles within reach of Cardiff, Bath, Bristol, Cheltenham, Swindon, Oxford, Reading, or London, with occasional office visits

Download my CV

Enter your email address to download — or contact me directly.