About
Backend engineer with 16 years of production experience building large-scale distributed systems: multi-tenant metadata platforms, service-to-service authentication infrastructure, and the custom transports and worker frameworks that hold them together under real production constraints.
I like problems where the obvious data model turns out to be wrong.
Most recently I’ve extended that into agent-facing systems — building MCP tools and Claude Code skills that expose platform capabilities to AI agents alongside the APIs their human counterparts use.
What I'm looking for
Staff or Principal backend engineering roles, UK-based or remote, focused on large-scale distributed systems ahead of AI-agent tooling specifically. Ideal fit: a large-scale platform that needs both a well-designed MCP/agent-tooling layer and efficient APIs for human consumers — so I get the distributed-systems depth I want plus the agent-facing design work I enjoy. .Net, Go, Scala, or JVM-adjacent stacks.
Experience
Principal Member of Technical Staff, Salesforce
ExactTarget / Salesforce
Jul 2010 – Present
Metadata Platform and API Ownership | Late 2011/Early 2012-2020 Designed, implemented, and owned a multi-tenant metadata platform and its APIs used by other Marketing Cloud product teams, including Journey Builder and Data Sync; became technical lead for its contracts, runtime, diagnostics, and production support.
Built a custom asynchronous C#/. NET TCP/IP service layer beneath Apache Thrift; reproduced a concurrency-dependent native crash under randomized load and corrected a pooled-buffer lifecycle race.
Designed an F# actor-based orchestration framework with supervised, database- and account-scoped workers, task- specific ordering and deduplication, retries, backoff, and abandoned-work recovery.
Diagnosed a range of subtle runtime-level production issues, including a JIT-inlining defect that caused thread-local account context to leak across pooled threads, and built custom tooling on . NET’s core-dump analysis libraries to extract customer data directly from production crash dumps.
Approached the platform’s undefined areas methodically: identified what was already certain, stubbed unknowns with fake data and best-guess API shapes designed to be swapped out easily, and pushed to finalize those specifics as the work matured — an approach traced back to practicing Agile at Envisage Technologies.
Made extensive production use of Memcache as part of the platform’s caching layer.
GoLLM orchestrationMCP toolsJWTKubernetesRabbitMQC#.NETMemcacheF#
Architect, Mailing List Systems
Architect, Mailing List Systems
Sep 2009 – Jul 2010
Built a self-service SaaS portal and event-driven platform; owned source control, CI, builds, deployments, testing standards, and agile coaching.
SaaSCIEvent-driven platform
Senior Software Engineer
Envisage Technologies
Oct 2007 – Sep 2009
Built internal developer tools and an extensible .
NET acceptance-testing platform with CI integration, coverage reporting, plugins, and approachable test authoring in a TDD and pair-programming team.
.NETCITDDAgile
Senior Consultant
eImagine Technology Group
Apr 2006 – Oct 2007
ConsultingSoftware architectureClient engagement
Senior Consultant
Software Architects / Sogeti USA
Aug 2004 – Apr 2006
ConsultingSoftware architectureClient engagement
Business analysisRequirements gatheringStakeholder communication
Internet Systems Engineer
AccuNet
May 1997 – Oct 2001
Internet systemsNetwork engineeringSystems administration
Education
Devry University
AAS · Electronics
1994 – 1996
Skills
AuthenticationTechnical LeadershipAPIsObservabilityGraph Data ModelingMicroservicesCI/CDTerraformSQLAWSAgileAgentsLLMJavaKubernetesDistributed SystemsScalaF#GoC#
Languages
English (Native or bilingual proficiency)