I help engineering teams build correctness into the foundations -- from property-based tests to full TDD adoption across Go, Erlang/OTP, and financial systems.
Embedded mentorship and structured workshops to shift your team from test-last to test-first. I work alongside your engineers until the habit sticks -- covering red-green-refactor cycles, test boundary design, and fixture strategies.
ADR-driven design sessions to catch architectural flaws before they calcify. Includes testability audits -- identifying seams where dependencies should be abstracted to enable clean unit and integration testing.
Correctness-first consulting for core banking, double-entry ledgers, and payment infrastructure. Integer arithmetic, idempotency proofs, and regulatory audit trails built in from day one -- not bolted on after.
Go beyond happy-path examples. I introduce PropEr, rapid, and custom generators that stress your invariants across thousands of inputs -- exposing edge cases that example tests never reach.
Fault-tolerant system design using OTP supervision trees, Common Test suites, and "let it crash" philosophy -- hardened with full integration test coverage and production-grade release management via Rebar3.
Structured prompt engineering and multi-agent pipeline design to accelerate delivery without sacrificing correctness. Proof-of-execution gates ensure AI-generated code meets the same TDD bar as human-written code.
I read your codebase before I say a word. Coverage reports, test quality, architecture patterns -- a full testability audit with documented findings.
Architectural decisions documented as ADRs. A phased testing strategy with measurable goals and clear definitions of done.
Paired sessions, PR reviews, and iterative delivery. Every feature ships test-first, with verification gates you can run yourself.
Documentation, runbooks, and coaching that outlasts the engagement. Your team owns the practice when we are done.
A decade of production engineering across financial infrastructure, distributed systems, and compiler-adjacent tooling. Every line of code I deliver comes with a test that proves it works -- and a refactor path that proves it is maintainable.
Taking on select consulting engagements. Whether you need a full TDD transformation or a focused architecture review, I'm happy to scope it out.