// Professional Summary
A software engineer of 15+ years of experience building scalable web applications and API's, as well as leading cross-functional teams. Strong experience in PHP, React and Typescript and DevOps practice, as well as gaining stronger knowledge with Go and little experience with Rust, with a proven track record of improving developer experience and delivering business value through lean methodologies.
// Employment
drivvn, 2020 - present
Lead Engineer
- Built a suite of tools to help people interested in electric or hybrid vehicles to compare against petrol and diesel engines which consumed API’s in order to surface the required data
- Promoted to Senior Software Engineer II
- Improved on boarding process enabling new team members to deploy code to production within first week
- Worked with the business to use a release train system, which was later optimised to batch delivery achieving 1.5-hour code-to-production cycle across all environments - Eliminated single points of dependency by ensuring team members could perform all day-to-day tasks autonomously without having to rely on a single person - Developed product value strategy in collaboration with Product & Technology Chief Office to improve business impact
- Collaborated with the team to create a skeleton framework for new Go services with automated setup via make commands to reduce ideation to production - Built a fuel price service in Go to display latest average petrol and diesel prices by surfacing the data from multiple resources
- Contributed to defining company culture, particularly around engineer on boarding
First Utility / Shell Energy, 2015 - 2020
Lead software engineer
- Maintained our main website functionality for meter reading submissions, tariff changes, and account management
- Delivered features serving over a million users on the monolithic PHP MVC application using a mix of Symfony/Zend components
- Built refer-a-friend system, smart awareness and booking portal, loyalty scheme, and weekly usage display
- Promoted twice in four years from Software Engineer to Lead Software Engineer - Led cross-functional team including software, UX, QA, and API engineers - Pioneered re-platforming from our monolithic to micro front ends - Ensured teams had the right tooling, support and information while planning well thought out MVPs
- Delivered applications providing immediate internal and external customers and business value with little and often releases through the lean methodology - Iterated on applications using analytics and User Experience [UX] data to drive multiple deployments
- Investigated building a bridge framework based on running SlimPHP inside React/HTTP
Presto Classical, 2014 - 2015
Senior Software Developer
- Promoted from Web Developer to Senior Software Developer and started to lead the team
- Built internal purchase order management application for supplier relationships using CQRS and Domain Driven Design with PHP 7
- Rewrote procedural website code into fully object-oriented application using Domain Driven Design and CQRS
- Implemented Jenkins, our git workflow, PHPUnit, and Test Driven Design - Established DokuWiki documentation covering code, hardware assets, and requirement specifications
- Designed the architecture and infrastructure of the new custom e-commerce platform in an iterative plan
- Implemented a custom web framework inspired by the StackPHP, along with a custom token generator, query bus and a League/Container plugin, an authentication library package, and packages from The PHP League. The custom-built solutions were a requirement from the business.
Resource Development International Ltd, 2012 - 2014
Web application developer
- Enhanced the internal system based on Symfony2 framework by utilising Domain Driven Design
- Created business web tools for data import/export functionality
- Converted Flash-based questionnaires to pure HTML using JavaScript - Modified Moodle platform including theming and API connector development between internal system and Moodle
- Created a Javascript library to to use the server time to help with questionnaire validation
Caroco Marketing Ltd, 2011 - 2012
Web Developer
- Managed projects and worked with first PHP framework (Symfony2)
- Planned large projects and prioritized tasks with immediate and higher-level managers
- Developed in-house Google PPC management system with keyword analytics
- Modified existing client websites and created new ones using TYPO3 micro CMS framework
ITC Ltd, 2010 - 2011
Junior Developer
- Created and modified custom-built customer and document management web applications using PHP
- Followed development process: specification implementation, local testing, test team reporting, and user acceptance liaison
- Performed bug fixing on existing systems
- Transitioned from procedural code to MVC pattern development
- Started career development at age 26 in first development role
// Core Skills
Empathetic and a high drive for a collaborative environment: I strongly believe that without a strong collaborative environment that problems can take longer.
Strong product and domain mindset: Rapidly gain knowledge and am not afraid to ask those "silly questions".
A mentor and helpful: In order to have a successful team, I am always looking to be mentored to expand my knowledge, but also keen to help others expand theirs.
Interpersonal skills: I have a proven track record with being able to create relationships with both technical and non technical people. This means being able to create a pool of knowledge to help get an understand, but also to help get a product or service to be the best in its class.
Tooling: I am a firm believer in using the right tool for the job, at that moment in time. Whether it's a programming language best for the problem, a tool in my terminal, editor or an application to complete the task in hand, I always do my best with the time given to understand it fully.
// Tooling and Skills
- git
- NeoVim / Vim
- Linux
- Shell
- ReactJS
- Typescript
- Go
- Rust
- PHP
- NodeJS
- Python
- Functional Programming
- Object Orientated Programming - NextJS
- NX
- Tmux
- JQ
- Docker
- Lens
- Port
- Traefik
- Rancher
- Bit bucket
- Gitlab
- ArgoCD
- Azure
- Bruno / Postman / Insomnia - Slack
- Notion
// Personal achievement highlights
- Contributed to projects like SlimPHP and The PHP League, as well as other open source projects
- Renovated my current home where the majority of the work in my kitchen was completed by myself and my partner - outside of using a plumber and electrician
- Built up my own homelab where I am running tooling like Grafana, Loki, Uptime Kuma, PiHole and various build systems - and I also built a tool Go Get Server Info where I use it to see what updates are available, the IP address, as well as other info I don’t need to SSH into for
- Completed my first 10k run in under 1 hour (58mins) this year (2025)
- Started to learn Rust and built a tool to jump around directories with ease
- After a long time using git, I learnt about git worktree’s and built a plugin for TMUX