Experienced and organised team lead, technical architect, software engineer, tester, developer, mentor and coach with knowledge of Agile methodologies, Continuous Integration, and test-driven and domain-driven development for websites and APIs. Expertise in PHP, with a preference for the Symfony framework; comfortable as a full-stack developer, with a focus on UX and Accessibility. Specialisation in code gardening (refactoring, pruning, maintenance, documentation, automation). Adept at picking up new concepts and skills quickly, and eager to learn new things.

Key Technical Skills

  • The Development Process including Agile Methodologies, TDD/ DDD, Continuous Integration, Accessibility
  • Symfony framework (1.0 -> 5+), with Doctrine
  • PHP, SQL (MySQL), CSS, Javascript (plus Webpack)
  • TDD and DDD with PhpSpec, PHPUnit, Behat, Chai and Mocha, Nightwatch, and Cypress


Director, Consultant Tech Lead and Principle Software Engineer, Jo Carter Ltd (April 2019 - present)

Senior Software Engineer - (Feb – August 2020)

Working with both "legacy" and new Symfony systems (versions 3.4, 4, and 5) - I have worked on multiple projects at MyBuilder. These included: MyBuilderPlus (event-driven backend, CQRS, Symfony 5 with messenger component, DDD, Docker, Lambda and Bref; and a Symfony+Twig frontend consumer site); the MyBuilder site (slightly legacy, Symfony 3.4), with additional microservices e.g Push Notifications, that are Symfony 5 + Bref; and the Quote Tool (Symfony 4 API Write Model for a React Client app, with event and commands). I have been involved in both upgrading legacy code and writing new functionality, both working solo and pairing with other developers. CodeMentorX Certified Developer and Peer Technical Interviewer (May 2019 - Jan 2020)

Involved in technical peer interviews to help vet developers applying to the program.

Consultant Senior PHP Developer at J Sainsbury, Daemon Solutions (May 2019 - December 2019)

Via the technology consultancy firm Daemon Solutions, I worked with the Sainsbury's Food to Order team on their website, which consisted of a collection of Symfony 4 microservices (used by their Node and React applications) and a legacy Symfony 3 monolith. I was involved in integration with internal (third party) APIs, logging and auditing, code gardening, documentation, planning and deprecation of old code. This included upgrading the monolith to the latest version of PHP and Symfony 3; and rolling out a whole range of code improvement tools across the microservices (PHPStan, Infection/ Mutation), in addition to improving overall coverage and code quality. I really enjoyed collaborating with the team, including helping mentor an apprentice developer.

Consultant Engineering Manager and Tech Lead, Fifty Penguins in Fuzzy Socks Ltd (November 2017 - April 2019)

Freelance PHP Developer, Babylon Health (March 2019 - April 2019)

Brought in to upgrade a legacy Symfony 2 application for long term support. Also did some code gardening.

Freelance Senior Software Developer, Wellcome Trust (March 2018 - December 2018)

Part of the team responsible for the development of the Explorify website (science for primary school teachers). During my time there we refactored the majority of the codebase (PHP, frontend and the database), added additional automation for testing and QA, and upgraded the site from Symfony 3 to 4. Day to day work included code reviews, adding new features, cleaning data, maintenance and as much code gardening as I could squeeze in. I also contributed back to several of the open source bundles we used.

I was brought in as a full stack developer, so I also worked with the team on adding automated testing to the frontend using Chai, Mocha, Cypress and Nightwatch (with Browserstack); and helped refactor the frontend code (with an emphasis on accessibly and UX) and developed new features (using Webpack, Javascript and SCSS/CSS). We also added in a stats dashboard, split testing (A/B), tracking and monitoring so we could see how our new features improved the user experience.

Consultant Engineering Manager, Onlicar (November 2017 - March 2018)

Fifty PIFs was brought in to evaluate the technical process at Onlicar and help streamline it. I worked with the existing team to add in monitoring for their services, update the documentation to understand how all the systems worked together, and introduced the developers to automated testing. I also code reviewed and QA’d new python code for a system upgrade by our internal team.

Engineering Manager, MOO (June 2017 - November 2017)

Joint Development Team Leader, The Mill (November 2014 - June 2017)

Responsible for the whole project pipeline - requirements gathering, quoting, planning and architecting, writing technical and functional specifications, liaising with project owners, instructing and liaising with the UX and design team, managing the development team, testing and development, Continuous Integration, liaising with Sysadmins, deployment, maintenance and further phases of updates. I practiced both test-driven and domain-driven development, using PHPSpec, Behat and Symfony 2/3.

My team and I mainly worked on internal projects, which included developing a custom CRM; a custom solution for optimising the quoting pipeline for our 2D, 3D and design departments; an applicant tracking system with accompanying candidate microsite; an online annual review system for HR; and other internal integration projects. We also worked on a number of large external client projects, mainly on integrations and APIs for mobile applications and games, with some branching into VR.

I was directly responsible for managing several members of the development team, including coaching, mentoring and career path development. I was heavily involved in the recruitment process for new team members; through tech tests, interviews and hiring. I was part of the diversity and inclusion network within the Mill; and have enjoyed taking part in many training courses (detailed below).

Technical Lead, Holler Digital Ltd. (May 2014 - November 2014)
Senior Developer, Holler Digital Ltd. (September 2012 - May 2014)
Developer, Holler Digital Ltd. (January 2011 - September 2012)

Responsible for developing and styling new websites, microsites and Facebook applications (using Symfony 1.4 and Symfony2) for a variety of clients; including writing functional and technical specifications for projects. Also responsible for setting up live server environments with nginx and Apache2.

Clients I have worked with include innocent (many Facebook apps, mini sites and a multi-site CMS to serve several websites), NOW TV (Sky), Mercedes Benz, smart, Revlon, Co-op, Red Bull UK, McDonalds, The Collective, Absolut UK, Capital FM, Jergens Naturals, This Water, River Island, Logica, CBS, National Citizen Service, John Frieda, The Food Network, Covent Garden, Dunhill, and Escada Fragrances. I have also written and contributed to several open source projects.

I was an integral part of the development team and responsible for mentoring other team members, leading projects and writing technical documentation.

Freelance Senior Developer, Albion London Ltd. (December 2010 - January 2011)

Customised an open source asset manager; built a radio station web service for flash banner; and provided maintenance, styling and content entry for a new client site.

Freelance Senior Developer, Skive Group Ltd. (November 2010 - December 2010)

Built a custom CMS solution using Symfony 1.4; created a new site using the custom CMS solution; and provided maintenance and styling for existing client sites.

Developer, Pod1 Ltd. (June 2007 - September 2010)

Responsible for maintaining and developing a selection of e-commerce and content managed websites for a variety of clients primarily in the fashion and holiday industries; including proposing new solutions for existing clients, and writing functional and technical specifications for projects. Development in PHP5 (with MySQL), using both a custom framework solution and an open source framework, Symfony (with database abstraction using both Propel and Doctrine).

Client websites that I have worked on include: Epifony * and Gutenberg * (in-house CMS solutions), Pod1, Barceló Hotels (including booking engine) *, Value Retail * (10 multi-lingual websites), Sani Resort * (multi-lingual), Yahoo Advertising (5 multi-lingual websites), Conran (3 websites), Fred Olsen Cruise Lines *, Kabiri, Global Mechanism *, Kurt Geiger, Aspinal of London, Uniqlo, Links of London (multi-lingual/multi-locale), Red Carnation * (12 websites), Reiss, MurmurART *, Matches Fashion, Picture the Loan *, List Ideas Facebook Application *, Fremantle Media *, Innovia Films, Kenwood, and Infonic.

( * indicates main developer on project)

I was an integral part of both the agency and the development team and assumed the role of key "go-to" person (and the most requested) for anything related to Pod1's in-house CMS solutions. I was also asked to mentor both new starters and existing team members.

Developer, Mind Candy Design Ltd. (March 2006 - June 2007)

Responsible for maintaining and developing many websites used for Perplex City, an online alternate reality game (ARG); and a website used for the BBC Big Weekend ARG. Also involved in the alpha stages of the development for Moshi Monsters.

Developed several versions of, a large online community site; using first XSLT/XML and JSP (RESTful Perl interface), and then JSP and custom Java tags with Hibernate. Additionally designed and developed a User Administration website for internal use by Customer Support; and a wayback archive in JSP for the sites from Perplex City Season 1.

Designed and developed a Store Locator in PHP and MySQL, which used the Google Maps API, and interfaced with a system which calculated the nearest stores to the entered location. Designed and developed a Puzzle Manager system which used JSP, custom Java tags, Hibernate and MySQL to store, manage, display and manipulate data entered for puzzles.

Additionally developed a Content Management System (CMS) in JSP with MySQL; including custom JSP tags and Freemarker templates to display the data entered into the CMS.

Packrat Tools - Personal Project (

Developed a collection of tools using PHP5 for Packrat (a virtual social collection-based game on Facebook). These include a MOO Sticker generator (using the MOO API); a market tracker, which uses a cron job that scrapes information from the site (with permission); an information tool, which displays recipes and market information for the cards; and a mockup generator. They have been received well by the Packrat community, and the developers of the game.

Volunteer on Customer Support Team, (January 2003 - January 2005)

Volunteered for a database driven website, serving over 2 million users. Gained many levels of privileges and answered over 3000 technical requests to the users' satisfaction. Responsible for mentoring and training other volunteers, and producing training documents

4cities - Personal Project (

Developed a collection of progress indicator tools using PHP5 and Prototype, for a massively multiplayer web-based online game called Cities (now offline). This was the winning entry for a competition for the tool that made the best use of the game’s XML feeds (I won an extra soul in-game). It also integrated an external API, which provided the best prices for in-game items.

Part-time and Temporary work

  • Bar Staff, The Chesterfield (Summer 2000 and 2001, Oct 2005 - Feb 2006)
  • Medical secretarial work, Key Personnel and DK Associates (Summer 2004)
  • Dispensing Assistant, Eye Check Opticians (Summer 2002)
  • Bar Staff, Hand and Hart (Oct 2001 - Sept 2002)
  • Optical Assistant, Boots Opticians (Summer 2001)
  • Optical Assistant, Lancaster and Thorpe Opticians (June 1998 - Sept 2000)


University of Nottingham (2000 - 2005)

MSc in Information Technology: Distinction

BA (Hons) Law with French: II.ii (3rd year at l'Université de Nantes, France)

Ashby Grammar School, Leicestershire (1996 - 2000)

'A' Levels: Mathematics (A) Computer Science (A) French (B) and German (B)

GCSEs: 7 A *s, an A and a B

Training and Courses

The Mill and Working Voices (2014 - 2016) - The Art of Delegation, Unconscious Bias, Effective Meetings, Manager as Coach, Managing Your Mates, Recruiting, Annual Reviews, Leading Creatives, Conversational Judo, Commercial Awareness, Communicate to Collaborate, Public Speaking, Presentation Skills, Management 101, Own Your Time

MCSA via ICS (London) Career Path (2005 - 2006)

Learn Direct Management Course (2005) - Standard Operation, Kaizen, 5S & Skill Control

University of Nottingham Skillability Workshops (2002) - Communication, Negotiation, Leadership, Team Work, Presentation, Commercial Awareness and Time Management

Additional Skills

  • Experienced technical architect (DDD, BDD, TDD) - with added experience of microservices, monoliths and event-based systems
  • Experience with continuous integration with Github Actions, Make, GoCD, Jenkins, Travis, Ant, and Amazon Web Services (and some Docker knowledge)
  • Experienced database designer, developer and SQL programmer (MySQL)
  • Experience with source control systems (Git and SVN)
  • Experience with setting up and configuring *nix servers with nginx (LEMP Stack)
  • Some experience with Lamba and Bref (serverless)
  • Experience with web development (Twig, CSS/SCSS, JavaScript, XSLT/XML, XHTML) - with an emphasis on accessibility and UX
  • Writing technical documentation, identifying security considerations, user interface and experience design
  • Specialisation in code gardening (refactoring, pruning, maintenance, documentation, automation, data cleaning)

Positions of Responsibility and Volunteer Work

Walkthrough Writer on (2014 - 2020)

PHP Conference (London) (2016) - Part of the Mentorship program

Volunteer on the Xbox LIVE Support and Enforcement Teams (May 2012 - November 2014)

University of Nottingham (January 2004 - September 2005)
- Representative on the Student-Staff Consultative Committee (MSc in IT)
- IT Officer on the Student Union Societies Executive Committee, and a volunteer for university open days Customer Support (January 2003 - January 2005)
- Volunteer supporthelp, trainer and mentor on Technical Support
- Member of the French translation team for technical documentation

Leisure Interests

  • Streaming video games regularly on Twitch
  • One of the Hosts on the Home Movie Club podcast, part of the That Podcast Thing network
  • Computer games, achievement hunting, photography, reading, puzzles, ARGs: a self-confessed geek
  • Swimming (Gold Survival, Life Support 2 First Aid and Merit Lifesaving Award)
  • Arts and Crafts: watercolour painting, cross-stitch, tapestry, FIMO modelling
  • Music (ABRSM Grade 5 Theory and Flute, and Grade 3 Piano)
  • Blood Donor (and on Bone Marrow Donation Registry) (2000 - present)
  • Clean UK Driving Licence