02 2016–Present
Apr 2022–Present

Yoco Technologies

Amsterdam
01 Oct 2024–Present Current

Staff Software Engineer

  • Drove AI-tooling adoption across Yoco. Designed and delivered the company-wide Claude Code masterclass to the full ~50-engineer org, and coached engineers and colleagues from various departments one-on-one, including helping non-engineers integrate Claude into Google Slides and Sheets. The aim was leverage, not novelty: getting more shipped per engineer, not more demos per quarter.
  • Owned Yoco's L3 scheme certification programme: Visa, Mastercard, and Amex across 5 card machines and 3 manufacturers. End-to-end ownership covers EMV configuration, Fime/UL test execution, acquirer-log triage, scheme submission, and failure remediation. Certification is the gate that puts a card reader in a merchant's hand and unlocks new markets; owning it means owning that gate.
  • Cross-org technical interface for the payment chain. Contact point with manufacturer engineers on transaction debugging and new integrations, with acquirer counterparties during scheme certification, and with the switch team on the card machine cloud integration: often the named person on the call when an issue spans an org boundary.
  • Active on both sides of team growth: interviewing and onboarding for the team. Most recently interviewed and onboarded my current EM, a Staff engineer, and a Senior engineer through one of Yoco's most demanding stacks (payments-critical paths, scheme certification, multi-manufacturer firmware), with explicit positive feedback on the onboarding.
  • Shipped a customer-facing payment-screen messaging feature solo, from ideation through implementation, with MCP-driven Jira flow as the connective tissue. A working example of what an AI-accelerated single-engineer delivery loop looks like in production.
KotlinSwiftEMVVisa/MC/Amex CertAI ToolingMCP
02 Apr 2022–Oct 2024

Senior Software Engineer

  • Cloud Integration: primary ownership of the card-machine side and shaping the overall architecture. Merchants initiate payments from third-party POS software; the card machine receives instructions from our cloud over MQTT and auto-reconciles results. Made the architectural call to anchor transaction truth at the card machine rather than wait for the result screen to reach the POS, keeping the merchant's till off the critical path for whether a paid transaction stays valid.
  • Payment logic and security on the card-machine side: cryptographic key handling, business-rule enforcement, and the message exchange with the payment switch.
  • Owned SDK and third-party integrations in both directions: inwards (the card-machine manufacturer SDKs we depend on) and outwards (the POS vendors who depend on ours).
  • Bluetooth and cloud integrations between POS apps and card machines: a sale on the till lights up the card reader, with a unified result path back.
KotlinSwiftPOS IntegrationsSDK Architecture
Apr 2021–Apr 2022

Ono Connect

Amsterdam
01 Apr 2021–Apr 2022

Senior Software Engineer

  • Held a concurrent contract back to Yoco for the duration of this role, continuing the payments-platform work I'd been leading from Cape Town.
  • Integrated the Khumo Print card machine on my own, from the manufacturer's SDK through talking to the payment switch and integrating with Yoco's Payments SDK.
  • Owned the Payments SDK day-to-day: extended its surface for new integrations, and absorbed enough scheme and acquirer detail to debug failed transactions back to root cause.
  • Hardened transaction workflows on the reliability and security axes: retry semantics and the parts of the flow that quietly eat money when they're wrong.
  • Led the effort to white-label the Payments SDK for partner deployment. Ono Connect was acquired by Yoco before the program reached production.
KotlinSDK Architecture
Jul 2018–Apr 2021

Yoco Technologies

Cape Town
01 Jul 2018–Apr 2021

Senior Software Engineer

  • Worked on the merchant mobile app, the business admin portal, and the backend that fed both.
  • Took Yoco's online payment product from early scaffolding to shipped beta: a frontend with secure 3DS card input and a backend that routed to the payment processor.
  • Embedded development: firmware for the Yoco Neo card machine in C on ARM.
  • Led Visa & Mastercard certification of Yoco Neo, end to end.
  • Integrated, certified, and launched the Khumo Android-based card machine.
KotlinCScalaReact NativePythonVisa/MC CertARM Firmware
Jan 2016–Jun 2018

ACI Worldwide

Cape Town
01 Jan 2016–Jun 2018

Software Engineer

  • Built in-store payment software for major retailers: EMV chip, magnetic stripe, and RFID processing on the card-acceptance side.
  • Integrated PIN entry devices and POS systems against the retailer-bank acquiring stack.
  • Wrote against the transactional database, and ran the team as Scrum Master for six months alongside the IC work. First taste of leverage through process rather than code.
JavaPythonSQLEMV