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.