Skip to main content

Technical Lead

Company Context

dunnhumby is a global leader in customer data science, empowering retailers and consumer brands to make customer-first decisions at scale, managing insight from 850 million active customers and analysing over $1.54 trillion in retail sales across more than 30 markets.

Summary

Technical Lead at dunnhumby (via Parser Digital), Apr 2024 to present. Led architectural evolution and delivery for one of the UK's leading data science platforms in retail analytics, operating across DevOps, data engineering, and product design with first-principles and systems thinking.

Responsibilities

  • Architected and delivered a modular, event-driven backend using Rust and .NET, introducing principles of data immutability, async message-passing, and observability-first design
  • Introduced micro-frontend architecture, reducing cross-team coordination overhead and enabling independent delivery pipelines
  • Championed contract-driven development with Pact, reducing cross-service integration bugs by 40% and improving confidence in parallel delivery
  • Established reusable Terraform module library and CI/CD templates (GitHub Actions + ArgoCD), transforming infra delivery from tribal knowledge to standardised platform practice
  • Mentored multiple squads across engineering, QA, and infrastructure — moving fluently between adjacent disciplines rather than broadcasting from one; facilitated weekly architecture forums and hands-on pair programming for system literacy
  • Contributed production code weekly in both Rust and C#, demonstrating delivery leadership and cross-stack fluency
  • Piloted early-stage LLM-based querying workflows, helping design "text-to-insight" interfaces with GPT agents over large datasets
  • Led an initiative to introduce prompt-to-insights agentic workflows using LangChain, enabling users to turn natural language questions about product sales data and industry trends into actionable analytical insights
  • Owned prompt engineering for the agentic stack — designing system prompts, few-shot exemplars, and tool-calling schemas tuned to the quirks of each underlying LLM (GPT-4-class, Claude, and lighter open-source models) so that multi-step agent runs grounded reliably against retail data rather than free-associating

Prompt Engineering

A meaningful share of this work was prompt engineering rather than model selection. The same LangChain agent graph behaved very differently depending on which model sat behind it, so I treated each model as a distinct execution target with its own contract — instruction style, context budget, tool-calling format, and failure modes — and wrote prompts to that contract rather than reusing a single generic template.

For GPT-4-class models I leaned on dense, structured system prompts with explicit JSON tool-call schemas and short, high-signal few-shot exemplars; the model already followed instructions tightly, so the work was mostly about constraining output shape and pinning the planner to the available tools. For Claude I shifted toward longer, more explanatory prompts with XML-tagged sections and clearer role framing, which played to its preference for narrative grounding and produced better step-by-step reasoning over product hierarchies and segmentation rules. For lighter open-source models I had to do more upfront — tighter exemplars, more aggressive output constraints, retries on schema violations — to keep them on rails through a full agentic loop.

Underneath that I built a small evaluation harness so prompt changes were not vibes: golden questions, expected tool-call sequences, and grading on whether the final answer cited the right SKUs and segments. That let me iterate prompts per model with confidence, retire variants that regressed, and ship templates that lifted agentic task completion rates and cut hallucinated SKU and segment references — which was the difference between a demo and something analysts and stakeholders actually trusted to interrogate sales and industry data day-to-day.

Outcomes

  • Reduced cross-service integration bugs by 40% by championing consumer-driven contract testing with Pact.
  • Standardised infrastructure delivery through reusable Terraform modules and shared pipeline templates.
  • Introduced micro-frontend architecture reducing cross-team coordination overhead and enabling independent delivery pipelines.
  • Piloted LLM-based querying workflows for "text-to-insight" interfaces over large datasets.
  • Delivered a prompt-to-insights capability using LangChain agentic workflows that transformed how stakeholders accessed and interrogated product sales and industry data.
  • Built a library of model-specific prompt templates (system prompts, few-shot exemplars, tool-call schemas) tuned per underlying LLM, lifting agentic task completion rates and reducing hallucinated SKU and segment references.
  • Improved engineering quality standards by introducing reusable contract-testing patterns.
  • Built AI-assisted reporting workflows, improving analyst productivity by 50%.
  • Reduced time-to-insight by 50-60% for selected segmentation tasks.
  • Architected a modular backend, improving scalability and reducing bottlenecks by 30%.
  • Introduced micro-frontend architecture, improving release frequency to bi-weekly.
  • Delivered segmentation capabilities reducing analyst setup time by 40%.

Reusable CV Bullets

  • Led architectural evolution and delivery for a leading data science platform in retail analytics, operating across DevOps, data engineering, and product design
  • Architected and delivered a modular, event-driven backend using Rust and .NET, introducing data immutability, async message-passing, and observability-first design
  • Introduced micro-frontend architecture, reducing cross-team coordination overhead and enabling independent delivery pipelines
  • Championed contract-driven development with Pact, reducing cross-service integration bugs by 40%
  • Established reusable Terraform module library and CI/CD templates (GitHub Actions + ArgoCD), standardising infrastructure delivery as platform practice
  • Mentored multiple squads across engineering, QA, and infrastructure — moving fluently between adjacent disciplines rather than broadcasting from one; facilitated weekly architecture forums and hands-on pair programming
  • Contributed production code weekly in both Rust and C#, demonstrating delivery leadership and cross-stack fluency
  • Piloted early-stage LLM-based querying workflows, designing "text-to-insight" interfaces with GPT agents over large datasets
  • Led an initiative to introduce prompt-to-insights agentic workflows using LangChain, enabling natural language questions about product sales data and industry trends to produce actionable analytical insights
  • Owned prompt engineering for the agentic stack — designing model-specific system prompts, few-shot exemplars, and tool-calling schemas tuned to GPT-4-class, Claude, and lighter open-source models so that multi-step agent runs grounded reliably against retail data
  • Built a prompt evaluation harness with golden questions and expected tool-call sequences, enabling per-model iteration on prompts that lifted agentic task completion and reduced hallucinated SKU and segment references
  • Built AI-assisted reporting workflows, improving analyst productivity by 50%
  • Reduced time-to-insight by 50-60% for selected segmentation tasks via prompt-to-insights workflows
  • Architected a modular backend, improving scalability and reducing bottlenecks by 30%
  • Delivered segmentation capabilities reducing analyst setup time by 40%
  • Introduced micro-frontend architecture, improving release frequency to bi-weekly
  • Improved engineering quality standards by introducing reusable contract-testing patterns

Evidence / Source Notes

  • Source: config/madu_profile.jsonwork_experience[]; reconciled with JobVia export (madu_alikor_export.json).
  • Confidence: high