Systems Thinking First
Architecture starts with understanding the entire system boundary. Clever abstractions are useful only when they reduce complexity rather than hide it.
Senior backend engineer working on low-latency trading infrastructure, matching engines, distributed systems and production-grade cloud platforms.
Architecture starts with understanding the entire system boundary. Clever abstractions are useful only when they reduce complexity rather than hide it.
Dependencies fail. Networks partition. Processes restart. Capacity disappears. Production systems should degrade deliberately instead of discovering their failure strategy during an incident.
In trading systems, tail latency is a product requirement. Profiling, allocation behavior, contention, GC and data structures matter because microseconds eventually become system behavior.
I work primarily on backend and infrastructure systems where correctness, latency and operational reliability matter. The work that holds my attention sits at the boundary between trading systems, distributed services and the platforms they run on.
My experience spans order processing and matching engines, distributed service design, cloud infrastructure, Kubernetes operations, observability and performance engineering — each area informing how the others should be built and operated.
System-design decisions, their measured results, and the operational tradeoffs behind them.
Latency engineering
Sub-100µs equity order routing: kernel bypass, JVM heap elimination, and CPU-aware critical paths.
A market-making desk needed order-to-wire latency below 100µs at p99. Standard Linux networking and heap-heavy JVM patterns caused multi-millisecond pauses under load.
JVM internals
Eliminating stop-the-world pauses in a latency-sensitive risk service through allocation profiling and heap archaeology.
A risk calculation service saw unpredictable 300ms GC pauses during peak market hours, triggering downstream timeout cascades and missed SLA windows.
Kubernetes
Kafka and stateful trading services: broker identity, storage selection, graceful disruption, and rolling upgrades.
Maintain Kafka ordering guarantees while handling node drains and rolling upgrades without losing broker-to-partition affinity.
Messaging architecture
Durable, ordered event streaming for market-data fan-out at more than two million events per second.
Fan out 2M+ events/s to 40+ consumer groups while preserving per-instrument order, idempotent at-least-once handling, and sub-5ms end-to-end latency.
Distributed systems
A production framework for choosing consistency, availability, latency, and partition behavior based on data criticality.
CAP is useful but incomplete. PACELC frames the practical choice: during partitions, availability or consistency; otherwise, latency or consistency. The right answer is driven by the data, not the theorem.
Reliability
Treating failure as a first-class input: SLOs, bounded blast radius, recovery mechanisms, and verification under realistic conditions.
Reliability emerges from accumulated design choices. Every component needs a documented failure mode, an understood blast radius, and a recovery path that has been tested.
Technologies studied to production depth, not tutorial depth. The distinction matters — production depth changes how you reason about a system.
Projects that explore infrastructure, distributed systems, security and data-intensive applications.
An interactive geospatial intelligence terminal that aggregates aviation, satellite, disaster, weather and infrastructure data into a unified 3D operational view.
A high-performance caching and streaming deduplication proxy for LLM infrastructure. Multiple identical concurrent requests coalesce into a single upstream call while the resulting stream is distributed to all waiting consumers.
A secure filesystem inspection tool for Kubernetes pods without relying on kubectl exec, shells or elevated credentials. Read-only access enforced through mTLS and the sidecar pattern.
A lightweight service registry, discovery system and operational control plane for microservices. Handles registration, heartbeats, weighted round-robin and consistent hashing for routing decisions.
Read the full archive or follow the ongoing notes on Medium.
What actually happens to tail latency when every hop is intercepted, redirected and re-encrypted — and where the hidden costs live.
Read →Backpressure isn't a feature you add — it's a property that emerges from how boundaries, queues and consumers are composed across the system.
Read →The ordering guarantee is the obvious part. The interesting failures live in PVCs, node drains, rolling upgrades and the race conditions underneath.
Read →The paper is clean. Production Raft has leader leases, snapshot transfer, partition handling and follower divergence — the parts that actually bite.
Read →Allocation behavior shapes pause times more than any GC flag. Profiling with JFR and async-profiler changes the question from "which GC" to "which allocations".
Read →Transactions, producer fencing, epochs and read isolation — and the latency tradeoffs you accept when you ask Kafka for stronger guarantees.
Read →Topics I'm actively reading, prototyping or thinking about — not credentials, just curiosity in motion.
I care less about how sophisticated a system looks and more about how well it behaves under pressure.
Good architecture makes correctness obvious, failure modes explicit, performance measurable and operations boring.
A system that produces wrong answers fast is worse than useless. Correctness is the floor — every other property is built on top of it.
Performance is not optimization theater. It's understanding allocation, contention, cache behavior and tail latency well enough to reason about them before they become incidents.
Reliability is the practice of accepting that things will fail and designing the system so that failure is bounded, observable and recoverable without heroics.
A system someone else can operate at 3am is a better system than one only the author understands. Runbooks, metrics and clear failure modes are architecture.
Senior Software Developer · Trading & Market Tech
Experience across low-latency order processing, matching engines, distributed services, Kubernetes, and production performance engineering.
I'm interested in backend architecture, distributed systems, trading infrastructure, performance engineering and difficult production problems.