Skills
A live view of where the work has actually been done. Each word is a skill, sized by how often it appears across my roles and projects with a slight bias toward recent work. Similar skills cluster together.
Technical Skills
Levels here reflect honest depth of production delivery, not exposure. The "Evidence" column links to the project or role where the skill was used at that level.
Languages
| Skill | Level | Years / Context | Evidence |
|---|---|---|---|
| C# / .NET | Expert | 24 years continuous, from .NET 1.0 / ASP.NET WebForms through .NET 9, ASP.NET MVC, WCF, Silverlight, WPF, Xamarin. | Live Nation multilingual CMS, Alpari capital reporting, Credit Suisse derivatives pricing, Blackthorn case management |
| TypeScript | Expert | 10+ years: React, React Native, Node.js services, micro-frontends; clinical AI platform engineering at Ultromics. | Baby Point platform, dunnhumby retail analytics, BrightInsight digital health, Ultromics clinical AI platform |
| JavaScript | Expert | 24 years: VBScript/ASP era through modern Node. | Live Nation multilingual CMS, How Splendid SpeedyServices, most modern projects |
| Go | Advanced | 5+ years: regulated platform services, consulting microservices, Kubernetes operators. | BrightInsight digital health, Thoughtworks underwriting DSL, Philips clinical AI platform |
| Python | Advanced | 5+ years: ML pipelines, internal tooling, legacy assimilation, agentic-coding scripting. | BrightInsight digital health, Philips clinical AI platform, AVEVA core AI services, Microsoft Research HITL apps |
| Java | Working | 4 to 5 years: IoT edge firmware-adjacent code, banking back-office, Android. | Medisanté medical IoT, Investec colleague locator, Credit Suisse derivatives pricing |
| Rust | Working | 1+ year: event-driven backend services with contract testing and observability. | dunnhumby retail analytics |
| Swift | Working | ~1 year: enterprise iOS with MDM/MAM and indoor positioning. | Investec colleague locator |
| Kotlin | Familiar | Android delivery alongside Swift on the same cross-platform programmes. | Investec colleague locator |
Frameworks and libraries
| Skill | Level | Context | Evidence |
|---|---|---|---|
| React / React Native | Expert | Web SPAs and offline-first mobile with shared data layers. | Baby Point platform, dunnhumby retail analytics |
| Node.js / Express | Advanced | Edge APIs, BFFs, internal tooling. | Baby Point platform, BrightInsight digital health |
| .NET Core / ASP.NET MVC / WebAPI | Expert | Primary backend stack for 15+ years. | Blackthorn case management, Just Eat EPOS integration, dunnhumby retail analytics |
| Pact (contract testing) | Advanced | Cross-team consumer-driven contracts at scale. | BrightInsight Gherkin DSL, dunnhumby retail analytics, Thoughtworks underwriting DSL |
| Rx / reactive streams | Advanced | Real-time pricing, capital reporting, sports streaming. | Alpari capital reporting, Miomni PGA Tour app |
| LangChain / agentic frameworks | Working | Prompt-to-insight pipelines over enterprise data, agentic coding workflows. | dunnhumby retail analytics, AVEVA core AI services |
| Prompt engineering | Advanced | Model-specific prompt design for agentic workflows: system prompts, few-shot exemplars, and tool-calling schemas tuned per LLM (GPT-4-class, Claude, lighter open-source), backed by a golden-question evaluation harness for per-model iteration. | dunnhumby retail analytics, AVEVA core AI services |
| PyTorch / TensorFlow / MLflow | Working | Training, registry, lifecycle for regulated ML. | BrightInsight digital health |
| NHibernate / Entity Framework | Advanced | ORM-heavy enterprise systems, multi-tenant data. | Live Nation multilingual CMS, Blackthorn case management |
Architecture and systems
| Skill | Context | Evidence |
|---|---|---|
| Domain-Driven Design (DDD) | Bounded contexts, ubiquitous language with domain experts (underwriters, clinicians). | BrightInsight indemnity DSL, Blackthorn case management, Thoughtworks underwriting DSL |
| CQRS / Event Sourcing | Audit-grade write models, read-side projections. | How Splendid SpeedyServices, Blackthorn case management |
| Event-driven microservices | Kafka, MQTT, async message-passing, digital twins. | dunnhumby retail analytics, Medisanté medical IoT, BrightInsight digital health |
| Rules-as-data / DSL design | Compliance-critical logic owned by domain experts without code changes. | BrightInsight indemnity DSL, BrightInsight Gherkin DSL, Thoughtworks underwriting DSL |
| Zero Trust architecture | mTLS, service mesh (Istio, Linkerd, Consul), SPIFFE/SPIRE, micro-segmentation. | BrightInsight digital health, Philips clinical AI platform |
| Observability-first design | OpenTelemetry, structured logs, RED/USE metrics, error budgets. | dunnhumby retail analytics, BrightInsight digital health |
| Low-latency / real-time | Reactive WCF Duplex, in-memory caches, derivative pricing under tick load. | Alpari capital reporting, Credit Suisse derivatives pricing |
Cloud, DevOps, and infrastructure
| Skill | Context | Evidence |
|---|---|---|
| Kubernetes | Operators (Operator SDK), NetworkPolicy, RBAC, pod security, OPA/Gatekeeper. | Philips clinical AI platform, dunnhumby retail analytics, AVEVA core AI services |
| AWS | Lambda, API Gateway, S3, DynamoDB, CloudWatch, SQS. | Medisanté medical IoT, BrightInsight digital health |
| Azure | AKS, Functions, Service Bus, Azure DevOps. | AVEVA core AI services, Philips clinical AI platform, Baby Point platform |
| GCP | Pub/Sub, Cloud Run as part of multi-cloud regulated platform. | BrightInsight digital health |
| Terraform / Pulumi / Helm | Reusable module libraries, declarative drift detection. | dunnhumby retail analytics, BrightInsight Gherkin DSL |
| GitOps (ArgoCD, Flux) | Git as source of truth, continuous reconciliation. | dunnhumby retail analytics |
| CI/CD pipelines | GitHub Actions, Octopus Deploy, Jenkins, TeamCity, Azure DevOps. Compliance gates and DevSecOps checks. | BrightInsight Gherkin DSL, Blackthorn case management, dunnhumby retail analytics |
| Agentic coding tooling | GitHub Copilot CLI, Claude Code, ChatGPT Codex, used and shaped at the org level via the Hypervelocity Engineering initiative. | AVEVA core AI services |
Practices
- TDD / BDD end-to-end, including Gherkin DSLs that double as ISO 13485 / IEC 62304 audit artefacts.
- Contract testing with Pact across 8 global teams (BrightInsight digital health): 40% reduction in cross-service bugs at dunnhumby.
- DORA metrics, change-failure rate, MTTR as first-class outcomes.
- Compliance-driven CD: daily releases against ISO 13485, IEC 62304, HIPAA, GDPR, MDSAP: rules encoded in code, gated in CI.
Current Ultromics work
My part-time Platform Consultant role combines hands-on platform engineering, automation and AI-assisted operations.
| Skill | Context | Evidence |
|---|---|---|
| Azure Batch | Cloud platform engineering for clinical AI. | Ultromics clinical AI platform |
| GitLab CI/CD | Continuous integration and software delivery. | Ultromics clinical AI platform |
| Engineering automation | Working on automation across software delivery and production operations. | Platform Consultant, Ultromics |
| Agentic software engineering | Introducing Codex, Claude and custom harnesses into engineering practice. | Platform Consultant, Ultromics |
| Codex / Claude / custom agent harnesses | Agentic software engineering tools and workflows. | Ultromics clinical AI platform |
| Microsoft Foundry | Setup in progress, with company IP protection informing the design. | Ultromics clinical AI platform |
| LLM incident investigation and production monitoring | Built a chatbot to debug production incidents; using LLMs to monitor production. | Ultromics clinical AI platform |
Leadership Skills
I've led delivery for organisations of up to 200 engineers while staying 20 to 30% in production code at every seniority level, including principal. The "Evidence" column points to the role or project where each behaviour was concrete and accountable, not theoretical.
Leadership areas
| Skill | Evidence | What it means in practice |
|---|---|---|
| Technical leadership | Principal AI Engineer, AVEVA, Principal Solution Architect, Philips, Principal Software Engineer, BrightInsight | Set the architectural direction, write the load-bearing code, defend the decision at the implementation level. Architecture decisions decay fast if you're not paying for them in the editor. |
| Mentoring and growing engineers | Technical Lead, dunnhumby, Lead Consultant, ThoughtWorks, Engineering Manager, Miomni | Cross-squad mentoring, architecture forums, paired delivery, knowledge-sharing rituals. Grew a 15-person team at Miomni from individual contributors into a multi-platform delivery unit. |
| Stakeholder management | Lead Engineer and Architect, Blackthorn, Mobile Tech Lead, EY, Principal Solution Architect, Philips | Translating between underwriters, clinicians, prosecutors, traders, regulators, and engineers. Designs that survive contact with stakeholders are designed with them, not handed to them. |
| Delivery leadership at scale | Principal Software Engineer, BrightInsight (8 global teams), Principal Solution Architect, Philips (UK / Germany / India coordination), Lead Engineer, Just Eat (one of the first 20 hires) | Cross-time-zone delivery against regulated audit schedules, with daily releases gated by compliance-as-code. |
| Hands-on architecture | Lead Engineer, How Splendid, Principal Engineer, Medisanté, Technical Director, Baby Point | Architecting and shipping. Greenfield CQRS/SOA/DDD at How Splendid; medical-IoT digital twins at Medisanté; zero-to-10K users in 6 months as Technical Director at Baby Point. |
| Hiring and team formation | Lead Engineer and Architect, Blackthorn, Engineering Manager, Miomni | Building delivery teams from scratch, including under SC clearance for Crown Prosecution Service integration. |
| Regulated-delivery leadership | Principal Software Engineer, BrightInsight, Principal Engineer, Medisanté, Principal Solution Architect, Philips | ISO 13485, IEC 62304, HIPAA, GDPR, MDSAP: leading delivery teams that ship daily and pass audits. |
| Open-source and community | Lead Consultant, ThoughtWorks | D-CENT (Clojure, democratic-participation tooling) contributor; published author on Zero Trust vs Defense-in-Depth, GitOps, and compliance-driven CD. |
My leadership style
I partner with specialists rather than around them. The best abstractions I've built came from sitting next to the people who lived in the domain: underwriters at BrightInsight, clinicians on the HL7 feedback loops at Philips, restaurant operators wiring EPOS printers at Just Eat. Their constraints shape the design, and the lead engineer's job is to translate those constraints into patterns the team can carry.
I stay hands-on. At principal level that's an unfashionable choice in some organisations, but I've found that the decisions I make as an architect erode quickly if I'm not the one paying for them in the editor. 20 to 30% production code at every level is the rule I hold myself to.
I treat delivery practices as part of the architecture. TDD, contract testing with Pact, observability-first design, GitOps reconciliation: these aren't process overhead, they're the things that let small teams own large surfaces without becoming a coordination problem. At BrightInsight that meant 8 global teams composable through Pact contracts; at dunnhumby it meant contract testing cutting 40% of cross-service bugs.
I'm comfortable with difficult conversations. Most of the regulated work I've led (Crown Prosecution Service integration at Blackthorn, ISO 13485 / IEC 62304 audit cycles at BrightInsight and Philips, FCA reporting at Alpari) requires saying "no" or "not yet" to delivery shortcuts, and then having the credibility to propose a better path. Credibility comes from being in the code, knowing the domain, and being honest about trade-offs.
I lead curiosity from the front. Most recently that's meant shaping AVEVA's organisational practice around agentic coding (GitHub Copilot CLI, Claude Code, ChatGPT Codex) via the Hypervelocity Engineering initiative, not because the tools are trending, but because they materially change what a small team can deliver in a sprint.
Current Ultromics engagement
At Ultromics I co-lead a platform team of six engineers as a part-time consultant, working 16 hours over two days per week. I am working on an automation initiative and introducing the company to agentic software engineering.
| Skill | Evidence | What it means in practice |
|---|---|---|
| Introducing agentic software engineering | Platform Consultant, Ultromics | Introducing Codex, Claude and custom harnesses into engineering practice; setting up Microsoft Foundry with company IP protection as a design priority. |
| Automation initiative | Ultromics clinical AI platform | Connecting hands-on platform work with an ongoing automation initiative. |
| Platform team co-leadership | Ultromics platform team | Co-leading six engineers while contributing hands-on to platform reliability, automation and agentic engineering. |
Domain Expertise
Across 25 years I've gone deep enough in a handful of domains to write code, defend designs, and pass audits in each. The breadth is part of the point (patterns translate across industries) but confidence calibration matters, so this table is honest about where the depth lives.
| Domain | Experience | Evidence | Confidence |
|---|---|---|---|
| Regulated digital health / medtech | Multi-cloud SaaS platform for biopharma and medtech partners; medical IoT with device-to-cloud digital twins; clinical AI app store deployed to 300+ hospitals. ISO 13485, IEC 62304, HIPAA, GDPR, MDSAP. | BrightInsight digital health, Medisanté medical IoT, Philips clinical AI platform | High |
| FinTech and trading | Real-time capital reporting and risk alerting at a retail FX broker; low-latency derivatives pricing post Clariden-Leu merger; indoor-positioning colleague locator at a specialist bank. FCA-regulated context. | Alpari capital reporting, Credit Suisse derivatives pricing, Investec colleague locator | High |
| Insurance and underwriting DSLs | Rules-as-data DSLs that let underwriters own product logic without code changes, including one for legally mandated deterministic compliance with daily release cadence. | BrightInsight indemnity DSL, Thoughtworks underwriting DSL | High |
| AI / ML platform | Predictive ML for patient deterioration (25% improvement via early-stage LLM); clinical AI app store with HL7 / FHIR; LangChain agentic pipelines over enterprise retail data; agentic-coding practice at AVEVA. | BrightInsight digital health, Philips clinical AI platform, dunnhumby retail analytics, AVEVA core AI services | Medium-High: strong delivery context, still actively deepening on the modelling side |
| Platform engineering and GitOps | Reusable Terraform module libraries, ArgoCD reconciliation, observability-first design, contract testing across distributed teams, agentic-coding workflows. Six-plus years GitOps practice. | dunnhumby retail analytics, BrightInsight Gherkin DSL, AVEVA core AI services, Philips clinical AI platform | High |
| Zero Trust and secure systems | Service mesh (Istio / Linkerd / Consul), mTLS, SPIFFE/SPIRE, short-lived certs with Vault and cert-manager, Kubernetes-native security (NetworkPolicy, RBAC, OPA/Gatekeeper). Published author on Zero Trust vs Defense-in-Depth. | BrightInsight digital health, Philips clinical AI platform | High |
| Government / legal-tech under clearance | Case management greenfield with direct Crown Prosecution Service integration, delivered under Security Check (SC) clearance. CTC also held historically. | Blackthorn case management | High at the time; SC is not currently active, renewable on the next clearance-required role |
| Retail, loyalty, and marketplaces | Loyalty / retail analytics platform at dunnhumby; one of the first 20 technical hires at Just Eat through the platform re-architecture and 2-country EU rollout; offline-first parenting marketplace from zero to 10K users in 6 months. | dunnhumby retail analytics, Just Eat EPOS integration, Baby Point platform | High |
| Entertainment, ticketing, sports | Multi-tenant CMS rolled out across 15+ Live Nation properties; demand-responsive pricing and rapid-prototype kiosks at How Splendid; official PGA Tour app at Miomni (Nokia/Microsoft Windows Phone partnership). | Live Nation multilingual CMS, How Splendid SpeedyServices, Miomni PGA Tour app | Medium-High (1 to 2 cycles old in tooling but the patterns travel) |
| Research / ML data tooling | Human-in-the-loop data collection and MLOps pipelines at Microsoft Research Cambridge, supervised by Pushmeet Kohli (now VP, Google DeepMind). Datasets for Kinect, Photosynth, facial tracking. | Microsoft Research HITL apps | Medium: one role, deep but era-bound (2011) |
| Industrial software / OT | Currently leading the Core AI Services platform at AVEVA in industrial software, shaping the organisation's agentic-coding practice. | AVEVA core AI services | Growing: current role, ~1 year deep |
Where I would not claim depth
- Pure quant / market-making algorithmic trading. My FinTech work has been platform, reporting, and pricing infrastructure, not strategy R&D.
- Game engine / real-time rendering. Sports-app CMS work at Miomni is the closest I've been, and that was data and streaming, not engines.
- Embedded / firmware. Medical IoT at Medisanté was device-adjacent (Java-on-device, MQTT to AWS), not bare-metal C.
- Foundation-model training. I integrate LLMs and run agentic workflows; I'm not training base models.
Current clinical AI platform work
| Domain | Context | Evidence | Depth |
|---|---|---|---|
| Clinical AI platform operations | Part-time consultancy at Ultromics from July 2026: TypeScript and Azure Batch reliability work, a production-incident chatbot, LLM monitoring and agentic software engineering with Codex, Claude and custom harnesses. | Ultromics clinical AI platform | Hands-on platform and AI-assisted operations work in a current engagement. |