Skip to main content
Drupal Developer

 

I am an IT consultant with more than 25 years industry experience within the banking, finance, government, media and leisure sectors. Having spent time with large multi-nationals and small consultancy groups, in addition to a period of freelancing, I have participated in all sizes of projects and encountered many technologies and methods. My focus now is on web development.

I began my Drupal journey more than 16 years ago, with Drupal version 5.  An instant fan, I have since worked continuously with Drupal, most recently on migrations from version 10 to 11.

My specialism is on back-end custom module development and maintenance.  The latest projects have involved integrations with external companies/systems including Bloomberg, AlphaSense, FactSet and Salesforce and Agentforce Marketing. 

All my work adopts best-practice, latest PHP standards and uses all available tools and technologies - such as AI - to maintain the highest quality whilst also improving my efficiency and throughput.

Drupal may not be suited to every project in the world but if you decide it's for you, let me show you how I can help.

 

Technical Skills

Core engineering

Core engineering

  • Modern PHP
    Object-oriented design, typing, attributes, namespaces and Composer. Drupal 12 will require PHP 8.5, so staying current with the language matters.
  • SQL and databases
    MySQL/MariaDB and PostgreSQL, query performance, and Drupal’s database and Entity Query APIs.
  • Symfony fundamentals
    The Service container, Events and subscribers, Routing,  HttpKernel, DependencyInjection, Yaml, the Serializer, and Validators. Understanding these is what separates a Drupal developer from a site configurer.
Drupal architecture

Drupal Architecture

  • Entity and Field APIs
    The Entity and Field APIs, content modelling, and Typed Data.
  • The plugin system
    The plugin system, including blocks, field formatters and widgets, and now PHP attributes instead of annotations.
  • Configuration management
    Exporting, deploying and syncing config between environments, plus config splits for environment-specific settings.
  • Services, event subscribers and hooks
    Services, event subscribers and hooks, and knowing when to use each. Core is also steadily moving hooks to object-oriented classes.
  • The render system and caching
    The render system and caching: cache tags, contexts and max-age, BigPipe and Dynamic Page Cache. Getting caching wrong is the most common cause of slow or stale Drupal sites.
  • Migrations
    Migrations with the Migrate API. This remains in demand with Drupal 7 now end-of-life and Drupal 10 sites needing to move forward.
  • Recipes and Drupal CMS
    Recipes and Drupal CMS, the newer ways of packaging and starting sites.
Front-end

Front-End

  • Accessibility (WCAG)
    Accessibility (WCAG), which is increasingly a legal requirement as well as good practice, especially in public-sector work.
  • CSS, HTML, JS, HTMX
    Modern CSS, accessible HTML and JavaScript, with HTMX now available in core for lighter interactivity.
  • Headless or decoupled projects
    For headless or decoupled projects: JSON:API, REST and GraphQL, and familiarity with a JS framework such as React or Next.js.
  • Twig theming and Single Directory Components (SDC)
    Twig theming and Single Directory Components (SDC), which are now central because Canvas builds pages from SDC components.
Tooling and Dev-Ops

Tooling and DevOps

  • CI/CD pipelines
    ... for example GitLab CI, which Drupal.org itself has adopted.
  • DDEV, WSL, Docker, Visual Studio Code
    Local environments like DDEV, often with Docker underneath.  Experience with numerous IDE's but lately specialising on VS Code.
  • Drush, Composer and Git
    ... including dependency management and patch handling.
  • Hosting platforms
    ... such as Acquia, Pantheon or Platform.sh, along with cron, queues and deployment workflows.
  • Testing
    PHPUnit (unit, kernel and functional tests), PHPStan for static analysis, and Drupal coding standards via PHPCS and TWIGCS.
Security and Performance

Security and performance

  • Drupal’s security practices
    Access control, sanitising output, avoiding raw SQL, and following security advisories.
  • Performance
    Performance profiling, caching layers like Redis or Varnish, and CDNs, and the Drupal/Symfony caching features.
Upgrades and AI

Upgrades and AI

  • Upgrade skills
    Tools like Upgrade Status and Drupal Rector, and handling deprecations. These are especially valuable now with the Drupal 10 to 11/12 deadline.
  • AI familiarity
    Drupal’s AI modules for integration with MCPs, content generation, search and automation, and using AI coding assistants responsibly.
Personal and Professional

Personal and Professional

  • Communication
    Explaining technical trade-offs to non-technical clients and stakeholders, and writing clear documentation and tickets.
  • Requirements analysis
    Turning business needs into good content models and site architecture. This is often where Drupal projects succeed or fail.
  • Judgment about “the Drupal way”
    Knowing when to use an existing contrib module, when to configure, and when to write custom code, without over-engineering.
  • Teamwork and code review
    Working in Agile teams, giving and receiving constructive feedback.
  • Problem-solving and debugging
    Tracing issues through caching layers, hooks and configuration.
  • Continuous learning
    Drupal changes significantly with each major release, so following release notes and community news matters.
  • Community engagement
    Contributing patches, modules or documentation, and attending camps or DrupalCon. This builds skills and reputation, and many employers value Drupal.org contribution credits.
  • Time management and estimation
    ... particularly in agency settings with multiple clients.

Timeline

  1. 2024
    Drupal Developer
  2. 2023
    Senior Web Developer
  3. 2021
    Senior Web Developer
  4. 2020
    Developer / Technical Project Manager
  5. 2017
    Senior Web Developer
  6. 2016
    Web Developer
  7. 2015
    Web Developer
  8. 2011
    Developer/Technical Project Manager
  9. 2010
    Dev/Test Manager
  10. 2006
    QA/Test Manager
  11. 2005
    Lead Architect
  12. 2003
    Web Developer
  13. 2003
    Web Developer
  14. 2000
    Dev/Test Manager
  15. 1999
    QA/Tester/Team Leader
  16. 1999
    QA/Test Instructor
  17. 1998
    Test Analyst
  18. 1997
    Dev/Test Manager
  19. 1997
    Business Analyst
  20. 1997
    Test Analyst
  21. 1993
    Test Strategy Consultant / Analyst/Programmer
  22. 1992
    Analyst/Programmer
  23. 1990
    Analyst/Programmer
  24. 1988
    Analyst/Programmer