I’ve spent the majority of my full-stack web developer career working within a WordPress context, but I have good experience working with Laravel and no-framework PHP codebases. Having experienced other frameworks and methodologies helps me have an open mind to finding simple solutions to complex problems.
Within WordPress, I have primarily spent my time developing bespoke themes and plugins with unique functionality that typically involve heavy integration with 3rd party services by either providing or consuming an API and managing that data within WordPress. For themes, I have broad experience working with the block editor and full-site-editing and an enterprise level, providing a managed user experience that is both flexible and provides governance and audit capabilities. I am also comfortable using more traditional methods of developing themes using ACF and PHP based templates. For traditional themes I would typically use a templating language such as Twig (via the excellent Timber framework) to make WordPress a little more MVC and easier to manage.
I have a strong understanding of working with WooCommerce having developed bespoke payment gateways, unique product types, shipping integrations and connections, and integrations to third party services such as Sage ERP or a product-linked LMS. As great as WooCommerce is, I also have worked with a number of bespoke e-commerce solutions within a WordPress and other framework contexts where using an off the shelf solution would not have provided the functionality needed at the performance required.
I enjoy developing using Gutenberg/Block Editor for static and dynamic content blocks. I thoroughly enjoy using React based frameworks for developing front ends as declarative front-ends provide a robust way of providing a dynamic user experience without the complexities of trying to achieve the same using more traditional JS approaches.
I’ve also worked with automated build, test and deployment pipelines using Travis, GitHub Actions and Azure Pipelines. I have experience with package managers such as Composer, APT and NPM, and I love to use tools such as PHPStan, PHPCS, PHPUnit, Jest and Playwright to ensure quality is maintained with each release.
Senior DeveloperAugust 2022 — Present
PHP Team LeadAugust 2020 — August 2022
Mortgage AdvisorFebruary 2019 — August 2020
Technical Director & Full Stack DeveloperDecember 2017 — January 2019
Mortgage AdvisorOctober 2016 — December 2017
Counter ManagerOctober 2006 — October 2016
My time in BoxUK is spent as a Tech Lead, split between a multi-national e-commerce (WooCommerce) site for a FTSE100 company and a second project for a government agency. As Tech Lead I have provided guidance on what approach we should take to meet our clients needs and designed the underlying technical infrastructure that lead to creating better solutions. I also lead open discussions with the Product Owner and Project Manager on addressing issues like technical debt, along with leading conversations with the development team on new feature delivery. I lead all our client demo sessions, demonstrating the value that we have provided during the previous sprint.
As a Senior Developer my responsibilities also include supporting and coaching more junior members of the team, including those outside my project teams. I also contribute to company-wide initiatives with my technical knowledge and experience. During my time at BoxUK I have gained exposure working with WordPress VIP and WPEngine hosting services, along with additional experience working with AWS on serverless functions running adjacent to the projects.
Working on such large projects has enabled me to develop further knowledge and skills for delivering high-performance code, and the implications of serving heavily cached content in conjunction with providing personalised experiences. Hosting infrastructure like WordPress VIP is also slightly different to the typical single-host environment of most WordPress hosting, and learning to write performant code and debug issues that appear only in this environment has become second nature.
I have an unusual background in that I started my career working in finance and moved to web development later in life. It's my passion, so I'm always looking for new challenges and opportunities to learn new things. I think my background also gives me a unique perspective on the commercial aspect of web development and how to make a site work for the client's business, and not just being in it for the tech. But I do love the tech too!
I have developed a simple utility for macOS that puts the colour under your cursor in the menubar. It’s written in Swift and I released it on the Mac App Store. I took this as an opportunity to learn Swift, which provided an excellent learning experience for a truly type-safe language. And of course the project needed a website which is a static site built using next.js and Tailwind, similar to this one.
CeMAP is an industry wide qualification to obtain a licence to give mortgage advice.
CertRBCB is an industry qualification to prove knowledge within the Retail sector of Financial Services.
I achieved the following grades at GCSE level. A* in IT, A grades for Math and Double Award Science, and 6x B grades.