Engineering leader with 25+ years' experience delivering and operating large-scale backend systems.
Experienced people manager with a track record of building high performing engineering teams.
Deep technical background across diverse domains including modern cloud architecture, large-scale data systems, and low-level systems programming in C.
Professional Experience
Lead Engineering Manager, ClearScore : Mar 2024 - Present
Technical and strategic owner of ClearScore's core analytics and data platform (800TB Databricks environment, $1.8m annual budget).
Led a team of six engineers delivering new features, improving performance and ensuring platform reliability.
Delivered $600k annual cost savings by migrating workloads from legacy infrastructure and planning decommissioning of older systems.
Led the data aspects of integrating an acquired company, ensuring analytical continuity, adherence to commercial milestones and planning full migration by the end of 2026.
Established governance for third-party tooling and platform integrations to control cost, reliability and operational complexity.
Produced financial and usage reporting for finance and engineering leadership, driving warehouse cost optimisation.
Built and led the entire engineering organisation, responsible for hiring, team health and delivery.
Matured the culture from hacking stuff together based on verbal specs to one with process, predictability and quality of deliverables without sacrificing velocity or agility.
Led a move away from an "everything in the monolith" architecture toward a pragmatic service-based approach without increasing deployment complexity.
Drove adoption of infrastructure as code being maintained within the dev team, reducing dependency on external ops personnel, and speeding our release cadence.
Introduced a formal incident management process to improve response coordination and ensure post-incident learning.
Head of Engineering, Flux Systems : Jun 2019 - May 2022
Partnered with the CTO to redesign the engineering team structure, later taking full responsibility as Head of Engineering.
Jointly responsible for all tech hiring decisions, and involved in the whole process from CV screening to final offer decisions.
Worked with stakeholders, managing relationships at all levels of the business from founders down, including presenting to the board.
Owned architecture and design of my team's functional areas, which included offers, payment integration and developer tooling.
Championed the introduction of Lambdas to our architecture for smaller, processing-intensive queue consumers, to take advantage of their easier management. Also drove adoption of DynamoDB as a database technology where NoSQL made more sense than our usual Postgres approach.
Drove the creation of a developer tooling team, which I led, to automate repetitive and complex development tasks, resulting in a dramatic reduction in inefficiencies and roadblocks. A particular highlight was getting the time to spin up a new service down from roughly a day to under 2 minutes.
Software Engineering Lead, Elsevier : Mar 2017 - Jun 2019
Led a team of 10 delivering platform features, GDPR compliance work, and a new machine learning product.
Technical owner of the team's components. I was responsible for liaising with stakeholders, designing solutions, coding aspects of the final product, and mentoring the developers in the team in structuring/writing their code.
Managed relationships with both a traditional offshoring firm who maintained our legacy platform, and a digital transformation consultancy.
Instrumental in the work to move from a legacy Oracle application stack to a modern, microservice/Angular based architecture.
Drove adoption of pipelined CI deployments from dev through to production (including static analysis and automated testing steps) for several projects, and managed the team that first made the move from Jenkins to GitLab pipelines for that purpose.
Designed and implemented an automated, version controlled, database change deployment process using Liquibase, which replaced an error-prone, labour-intensive manual process.
MarkLogic Developer, BSI Group (contract) : Aug 2012 - Feb 2017
Technical owner of the company's MarkLogic databases, which form the basis of four major web products. This included designing the data model and maintaining a large XQuery codebase.
Responsible for liaising with stakeholders, designing solutions (in collaboration with business analysts where the project was large enough), implementing the product and overseeing and supporting deployment into production.
Owned the web interface, as well as the back-end, for one of the products: an online document search-engine, management system and viewer. This included the whole front-end, including the HTML — generated using a combination of XQuery and XSLT — and static JavaScript and CSS (SASS) assets.
Recognised as a domain-expert within the company, and regularly fielded questions about MarkLogic in general, our specific implementation and XML-related technologies.
Worked regularly with the Operational Support team, to aid with deployments, help diagnose and fix production issues, as well as provide advice about configuration and management of production MarkLogic installations.