Software engineer since 2012. These are my field notes.
I started writing code for an electronic trading firm, deep in the world of high-frequency systems — latency measured in microseconds, ring buffers, off-heap memory, and the LMAX Disruptor. From there I moved to a large financial institution, where the problems shifted from raw speed to correctness, data at scale, and systems that had to survive years without a restart. After that, a fintech startup building in Go, then an established European financial technology firm, and currently a large US technology company.
This blog documents what I actually encountered — not tutorials, but real tradeoffs, real failures, and what the benchmarks don’t tell you.
Skills & Specialisations
Low-Latency & High-Throughput Systems
Lock-free data structures, the LMAX Disruptor, Chronicle Queue/Map, mechanical sympathy, JVM GC tuning, off-heap memory, CPU affinity. Building systems where microseconds are the unit of concern.
JVM Internals
GC mechanics (CMS, G1, ZGC, Shenandoah), JIT compilation, safepoints, memory layout, profiling with async-profiler and JFR. Java and Scala.
Go
Primary language since 2019. Goroutine scheduler, memory model, pprof profiling, gRPC, net/http at scale, generics, race detector. Production services from startup to enterprise scale.
Distributed Systems & Data
Kafka (including EOS), Flink, ClickHouse, time-series databases, Apache Arrow/Parquet, event sourcing, stream processing. Designing systems that stay correct under partition.
Functional Programming
Clojure in production — risk calculation pipelines, data transformation, clojure.spec, core.async. Functional thinking applied beyond Clojure.
AI-Native Engineering
LLM integration and production RAG systems. Designing retrieval pipelines (chunking strategies, embedding models, vector stores, reranking). Function calling and tool-use patterns. Prompt engineering for structured output. Using AI tooling as a genuine development multiplier — not vibe-coding, but systematic augmentation of the engineering workflow. Evaluating and testing LLM-integrated systems.
Engineering Leadership
Technical strategy, RFC-driven decision making, platform engineering (internal developer platforms as products), cross-team alignment, engineering management, hiring and onboarding, postmortem culture.
Available for Consulting
I take on a limited number of consulting engagements:
- Architecture review — distributed systems, data pipelines, Go services, low-latency systems
- Performance investigation — latency analysis, GC tuning, profiling, bottleneck identification
- LLM integration — RAG system design, production LLM pipelines, evaluation frameworks
- Technical due diligence — codebase and architecture assessment for investment or acquisition