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. | Baby Point platform, dunnhumby retail analytics, BrightInsight digital health |
| 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–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.
Leadership Skills
I've led delivery for organisations of up to 200 engineers while staying 20–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–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–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–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.
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–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.
Skill Evidence Map
This table is for honest calibration: which file is the strongest evidence for a given skill, how confidently I can speak to it, and where I would not overclaim. It's also the reference the AI assistant on this site uses to ground answers in concrete projects rather than vague resume language.
| Skill | Best evidence | Strength | How to explain it | Do not overclaim |
|---|---|---|---|---|
| Regulated software delivery (medtech) | BrightInsight digital health | Strong | Multi-cloud platform with daily releases gated by ISO 13485 and IEC 62304 compliance-as-code, 20M API calls/day, 8 global teams composable through Pact contracts. | Not a quality-system auditor; I implement against the standards, I don't author them. |
| Compliance-as-code DSL design | BrightInsight Gherkin DSL, BrightInsight indemnity DSL | Strong | Gherkin tests doubling as ISO audit artefacts; JSON rules-as-data DSL letting underwriters own legally-mandated logic without code changes. | DSL design needs the right domain expert relationship; it's a partnership pattern, not a generic template. |
| Distributed systems / event-driven | dunnhumby retail analytics | Strong | Rust + .NET event-driven backend, Kafka, async message-passing, observability-first via OpenTelemetry, 40% reduction in cross-service bugs via Pact. | I haven't operated event sourcing at FAANG scale; mid-to-large enterprise scale is honest. |
| GitOps and declarative IaC | dunnhumby retail analytics, BrightInsight Gherkin DSL | Strong | Reusable Terraform module libraries, ArgoCD reconciliation, drift detection, policy-as-code via OPA. 6+ years of GitOps practice including published writing on the patterns. | I'm not a Kubernetes-internals committer; I'm a heavy practitioner and operator-pattern author. |
| Multi-cloud platform engineering | BrightInsight digital health, Philips clinical AI platform, AVEVA core AI services | Strong | AWS + Azure + GCP delivered against a single composable platform model; Azure / AKS first-class at AVEVA. | Cross-cloud cost optimisation at hyper-scale is a specialism I collaborate with FinOps on rather than own. |
| Kubernetes operator patterns | Philips clinical AI platform | Strong | Operator SDK in production, deployed into 300+ hospital VMWare environments — some air-gapped. | Not a CRD-design purist; operators were a means to hospital-deployment reality. |
| Zero Trust architecture | BrightInsight digital health | Strong | mTLS, service mesh, SPIFFE/SPIRE, automated cert rotation, micro-segmentation. Published author on Zero Trust vs Defense-in-Depth. | Public writing is opinion-grounded; I'm not a CISO. |
| AI/ML platform integration | BrightInsight digital health, dunnhumby retail analytics | Medium-Strong | Early-stage LLM patient-deterioration prediction (25% improvement); LangChain text-to-insight pipelines; MLflow registry. Stanford / DeepLearning.AI Supervised ML cert (2025). | I integrate and operate models; I'm not a research ML scientist training foundation models. |
| Agentic coding practice | AVEVA core AI services | Medium-Strong | Currently shaping AVEVA's Hypervelocity Engineering practice using Claude Code, GitHub Copilot CLI, ChatGPT Codex. Recent and ongoing. | This is a practice that's only ~1 year old at scale; I'm an early heavy user, not a 5-year veteran. |
| C# / .NET ecosystem | Live Nation multilingual CMS, Blackthorn case management, Credit Suisse derivatives pricing | Strong | 24 years continuous from .NET 1.0; every paradigm shift in between (WebForms, MVC, WCF, Silverlight, WPF, Xamarin, .NET Core, .NET 9). | "Expert" here means delivery, architecture, hiring, and mentoring — not CLR internals. |
| Go | BrightInsight digital health | Medium-Strong | Regulated platform services and operator-pattern work, plus Thoughtworks polyglot microservices. | 5 years, not 10. |
| Python (ML and tooling) | Microsoft Research HITL apps, BrightInsight digital health | Medium-Strong | MLflow, PyTorch, TensorFlow, internal data tooling, legacy assimilation. | Not a numerical-Python specialist; not a Django/Flask web monolith specialist. |
| Rust | dunnhumby retail analytics | Medium | One year of production use on event-driven backend. Real but recent. | Don't claim Rust as a primary language; it's an emerging strength. |
| Swift / iOS | Investec colleague locator | Medium | Enterprise iOS with MDM/MAM, iBeacons, SharePoint integration. | One major engagement; not a current daily language. |
| Mentoring at scale | Technical Lead, dunnhumby, Engineering Manager, Miomni | Strong | Multi-squad mentoring, architecture forums, paired delivery; led 15-person team at Miomni from individual contributors into a multi-platform delivery unit. | I lead from a principal/architect seat; I'm not a people-manager-only career path. |
| Stakeholder translation across regulated domains | Principal Solution Architect, Philips, Principal Software Engineer, BrightInsight | Strong | Clinicians, regulators, underwriters, prosecutors, traders, engineers — translating between them is the job. | This is leadership work, not commercial / sales leadership. |
| Government / SC-cleared delivery | Blackthorn case management | Strong (historical) | Greenfield DDD case management integrated with Crown Prosecution Service under Security Check clearance. | SC is not currently active — lapsed after the engagement; renewable on the next clearance-required role. |
Strongest evidence themes
- Regulated platforms shipped at daily-release cadence. Pair compliance with continuous delivery, not against it. BrightInsight, Philips, Medisanté, Blackthorn.
- Cross-domain pattern transfer. DDD, CQRS, event sourcing, reconciliation loops, declarative IaC, GitOps — same patterns shipped in C#, Go, Rust, TypeScript, Python, Java, and Swift across nine industries.
- Hands-on principal-level leadership. 20–30% production code at every level. Architecture decisions backed by being the person paying for them in the editor.
- Domain-expert partnership as a design technique. DSL work at BrightInsight and Thoughtworks; HL7 feedback loops at Philips; EPOS reverse-engineering with restaurateurs at Just Eat.
Weak or developing areas
- Foundation-model training and pure ML research. I integrate and operate models in regulated systems; I don't train base models. Stanford / DeepLearning.AI Supervised ML cert (2025) is the formal grounding; the practical depth is in pipelines, not theory.
- Rust as a primary language. One year on a real production system; growing, not yet deep.
- Pure quant / algorithmic trading R&D. My FinTech work is reporting, pricing infrastructure, and risk platforms — not strategy research.
- Embedded firmware / bare-metal. Medical IoT was device-adjacent (Java + MQTT), not C-on-microcontroller.
- Mobile native at current depth. Swift / Kotlin / Java / Xamarin work is real but era-bound — I'd lean on partners for a 2026-current native mobile delivery.
- Active security clearances. SC and CTC were held during specific engagements and are renewable; both currently lapsed.