I am a full-stack senior web developer with a keen eye for system architecture, specialising in Drupal but fluent with many other platforms and frameworks, including Wordpress and Magento 2. With over 15 years of experience, including a decade with reputable digital agencies and contracting since 2019, I quickly adapt to new environments and maintain strong working relationships with clients and colleagues. I bring genuine enthusiasm for my work, which shows in my results. Excellent communication underpins my skillset - using my extensive knowledge of back-end and front-end technologies, I architect elegant technical solutions, mentor teammates, and provide connectivity across the product development lifecycle. I hold myself to high standards, producing quality, well-tested features that aim to pass QA on the first round of testing.

Steve Horsey

PRO

I am a full-stack senior web developer with a keen eye for system architecture, specialising in Drupal but fluent with many other platforms and frameworks, including Wordpress and Magento 2. With over 15 years of experience, including a decade with reputable digital agencies and contracting since 2019, I quickly adapt to new environments and maintain strong working relationships with clients and colleagues. I bring genuine enthusiasm for my work, which shows in my results. Excellent communication underpins my skillset - using my extensive knowledge of back-end and front-end technologies, I architect elegant technical solutions, mentor teammates, and provide connectivity across the product development lifecycle. I hold myself to high standards, producing quality, well-tested features that aim to pass QA on the first round of testing.

Available to hire

I am a full-stack senior web developer with a keen eye for system architecture, specialising in Drupal but fluent with many other platforms and frameworks, including Wordpress and Magento 2. With over 15 years of experience, including a decade with reputable digital agencies and contracting since 2019, I quickly adapt to new environments and maintain strong working relationships with clients and colleagues. I bring genuine enthusiasm for my work, which shows in my results.

Excellent communication underpins my skillset - using my extensive knowledge of back-end and front-end technologies, I architect elegant technical solutions, mentor teammates, and provide connectivity across the product development lifecycle. I hold myself to high standards, producing quality, well-tested features that aim to pass QA on the first round of testing.

See more

Experience Level

Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
See more

Work Experience

Senior Web Developer at Manifesto
July 31, 2025 - August 7, 2025
Provided senior Drupal and Wordpress development on various contracts remotely from October 2020 to July 2025, delivering bespoke features and ensuring strong client relationships and high-quality development.
Senior Drupal Developer at Optimus Education
January 31, 2025 - August 7, 2025
Remote senior Drupal developer role from July 2024 to January 2025, leading a ground-up rebuild of the Learning Management System 'The School Training Company' based on Drupal Opigno. Planned architecture, estimated features, and developed full-stack with an eye toward upgradeability and budget adherence.
Senior Drupal Developer at CTI Digital
May 31, 2024 - August 7, 2025
Worked remotely on multiple contracts between October 2021 and May 2024, focusing on back-end feature development with some front-end component building within a proprietary component-driven theme framework. Delivered projects for major clients such as Greater London Authority, NHS, and The Chartered Society of Physiotherapy. Owned Drupal 9 to Drupal 10 upgrade processes for complex sites.
Senior Magento Developer at Goram & Vincent
May 31, 2020 - August 7, 2025
Contract role from August 2019 to May 2020 delivering commerce functionality for Dyson’s international stores based on modular Magento 2 codebase. Mentored junior and middleweight developers, wrote technical specs, estimates, and led key feature developments such as 'One Step Checkout' and global customer account implementation.
Senior Web Developer at Nomensa
January 31, 2019 - August 7, 2025
Permanent senior web developer position from February 2018 to January 2019 at a strategic UX agency. Pioneered the component-based development approach and worked heavily with Drupal 8 architectures. Mentored developers, estimated projects, and collaborated on UX, design, and DevOps decisions.
Drupal Developer at Torchbox
January 31, 2018 - August 7, 2025
Permanent Drupal developer role from August 2016 to January 2018 focused on full-stack development with a back-end focus for clients like Donkey Sanctuary and Independent Age charities.
Web Developer at Yoke
July 31, 2016 - August 7, 2025
Permanent web developer from September 2015 to July 2016 contributing to various development projects.
Web Developer at Positive
August 31, 2015 - August 7, 2025
Permanent web developer from October 2012 to August 2015 working on various web development projects.
Magento Developer at The Pixel
November 30, 2012 - August 7, 2025
Permanent Magento developer from April 2012 to November 2012 focusing on Magento-based eCommerce development.
Web Developer at GGMR
April 30, 2012 - August 7, 2025
Permanent web developer from June 2010 to April 2012, delivering a range of web projects.

Education

BSc Music Technology (Hons) at Staffordshire University
January 11, 2030 - August 7, 2025
BEng General Engineering at Exeter University
September 1, 2002 - July 1, 2005
10 GCSEs (A to C); A Levels in Maths (C), Physics (C), Chemistry (D) at Chew Valley School
January 11, 2030 - August 7, 2025

Qualifications

Add your qualifications or awards here.

Industry Experience

Software & Internet, Government, Non-Profit Organization, Education, Retail
    paper The School Training Company - Learning Management System, based on Drupal Opigno

    As the sole developer for my client Optimus Education, I was responsible for planning the architecture, producing feature estimates, and ‘ground up’ development on a full-stack basis. My risk-based approach to feature scoping and estimation, and acutely thorough approach to self-QA (prior to client QA), resulted in no features overrunning and the project ambitions being realised within budget - all this while maintaining my classic standard of quality and attention to user experience. I had a superb client relationship with Optimus and hope to work with them again on the next evolution of the product.

    I produced the following bespoke features during the build, none of which are supported OOTB and were executed in such a way as to allow easy future upgradeability:

    • Adapted Opigno entity semantics for our use-case (e.g. ‘Training’ became ‘Course’, ‘Module’ became ‘Unit’, ‘Class’ became ‘Cohort’, etc)
    • Assignment of due dates for courses for a cohort, to specific cohort members, with accompanying notifications
    • Added customised exportable learning records for cohort members and cohort managers
    • CSV import of cohorts and members, exported from Microsoft Dynamics 365 CRM. Performance was a priority - the initial import was 17,000 users.
    • Custom scoreless ‘study exercise’ activity type
    • Professional branded course certificate
    • Admin reporting tool

    While a fantastic project foundation and attempt at a ‘one size fits all’ approach to a Learning Management System, key takeaways are that Opigno can be quite opignionated (ha!), brittle and at times developer unfriendly when it comes to customising and extending features to suit a client’s business requirements. This is why it is especially important to be delicately performed by an experienced developer with excellent knowledge of Drupal, and Opigno itself, in order to maintain security and preserve upgradeability without future headaches.

    paper Wordpress integration with Zoom and Salesforce APIs for Kinship charity

    Scoped, planned, estimated and built a complex backend API integration piece for Kinship charity, on behalf of my client TPXImpact.

    Fundamentally the work was a bespoke integration between Zoom <-> Wordpress -> Salesforce. Official integrations are available for Zoom and Salesforce, but their application was found to be limited given the specific nature of the client’s business requirements.

    The feature has been a resounding success - very few superficial amends were requested in UAT, negligible bugs were found, and I tracked near perfectly with my projected estimate (much to the pleasure of all parties). The client was very excited to begin working with the new functionality. As usual I paid particular attention to the admin experience throughout (admins are users too!).

    More technically:

    I used the Zoom API to create and update Zoom meetings, set workshop-specific registration questions and handle meeting registrations and registration eligibility, all managed via a custom post type in Wordpress. Zoom webhooks were used, via a WP REST endpoint, to listen to events for given managed meetings and registrations, at which point appropriate data structures were assembled (usually involving subsequent Zoom API calls) and shuttled off to Salesforce via the API.

    I worked closely with Kinship’s Salesforce consultant to devise an API flow where we never needed to use the API to fetch Salesforce data - I only pushed data and internal Salesforce ‘flows’ (built by the consultant) handled the rest. This optimised the time taken to implement the feature (drastically!).

    My custom Wordpress plugin architecture made use of composer to leverage PSR-4 class autoloading, leveraging libraries such as Symfony DI (for a service-led architecture), Symfony Event Dispatcher (for transmitting and reacting to custom events internally) and Guzzle (for API requests).

    paper Mayor of London website (and Intranet) - Greater London Authority - Drupal 9 builds

    Representing CTI Digital and working for the Greater London Authority, the new Mayor of London government website and intranet sites are built on Drupal 9 and contained within a single codebase architecture. They do not share identical feature requirements, which requires particular attention to ensuring the correct separation of concerns. Our theme architecture is component-driven (i.e. made use of atomic design methodologies), allowing us to share components and their derivatives across the sites.

    The site relies heavily on groups and workflows to provide unique authoring experiences for the client’s multitude of user groups and departments. Map-driven content, as well as other syndicated external content, is provided via feed implementations.

    While my role covered largely back-end concerns, I had a hand in producing several complex front-end components, leveraging alpine.js to create truly encapsulated UI component behaviours. A keen eye for accessibility was essential throughout the build - ideally features are built with a high standard of accessibility during development than to wait for issues to be raised in QA.

    A particularly complex and fulfilling feature of note is the ‘Resource Data Set Wizard’. This is essentially a content-type construction kit built bespoke for the use of site administrators. Content types generated have the option of being feeds driven (mapping feed values to fields) and search integrated, all available to site admins via a simple but configurable multistep form process. At the end of the form wizard multiple bulk processes are invoked to create the content type, add fields, make search index amends and, if selected, create the feed type, feed and perform the feed import. I was heavily involved in all aspects of this feature, especially feed mappings and the overall batch create/update process architecture.

    Internal and client comms were excellent - I received some wonderful feedback from the client throughout.

    paper Independent Age - API integration and Drupal features

    I worked closely with the client and our internal teams to evolve the charity’s online volunteer application process in the following ways:

    • Contribution in terms of UX and development to provide a more intuitive, streamlined experience for users.
    • Postcode proximity search in order to funnel eligible applicants to relevant roles near them.
    • Bidirectional API integration, via SOAP, with Independent Age charity’s CRM provider. This was a bespoke integration and undertaken as a two-stage phased release cycle - close working with the provider was tantemount throughout every stage of the planning, through to implementation. Stage one was the initial ‘stock’ CRM integration, stage two required custom API development from the provider and integration with Drupal. Heavy validation was required to meet the strict data cleanliness requirements of the client.
    paper The Wales Government websites - Drupal 8 builds

    The Wales Government sites are among those I’m most proud to have been involved in. I worked tirelessly within unforgiving timescales to architect a component-led core theme with modern tooling (SCSS, ES6 with Babel transpilation, Webpack), prototyped in Pattern Lab. This allowed us to distribute all theme elements with style overrides across the builds. In addition, I onboarded and led other developers, introducing them to this new methodology along with best practice for implementation, while working on a full-stack development basis on the site builds throughout. My initiative proved to be a groundbreaking step for the agency and shifted their methodology towards reusable, component-led architecture. It also demonstrated how efficiently projects can progress when UX, design and development teams collaborate continually. Collectively, we also had great success investing our experience into the project sprint feedback loop, which resulted in us fine-tuning our Jira workflow to tweak design and development QA processes in a manner that cohered best with our prototype-to-integration development approach. As a result we caught and resolved more bugs and visual regressions before the components were integrated into the back-end.

    At a more technical level my project contributions become more obvious - feel free to ask me for further details about this.

    On a personal note I think that the resultant editorial style of the front-end is stunning. Behind the scenes the administrative interface for content authors is flexible and well considered (i.e admins are users too!).