Engineering systems that survive the real world.
Principles / How I Work
Dealing with Failure
- >Post-mortems over blame. Human error is a system design flaw.
- >Observability over intuition. If it isn't measured, it doesn't exist.
- >Degrade gracefully. Better to serve cached data than a 500.
System Design
- >Simplicity is a feature. Complexity is the silent killer.
- >Stateless where possible. Scale out, not up.
- >Idempotency is mandatory for distributed systems.
Engineering Values
- >Documentation as code. If it's stale, it's a bug.
- >Radical transparency. Share the 'why' behind decisions.
- >YAGNI (You Ain't Gonna Need It). Don't over-engineer early.
Experience_Log
2020 — PRESENT
Lead Backend Architect @ CloudScale Solutions
REMOTEArchitected and led the migration of a legacy monolithic payment gateway to a highly available microservices ecosystem. Leveraged Go, gRPC, and Kafka to handle 15k+ req/sec with sub-50ms latency.
KubernetesPostgreSQLRedis
2017 — 2020
Senior Software Engineer @ DataVessel
BERLIN, DEDeveloped core distributed data processing engine using Rust. Reduced infrastructure costs by 40% through optimized memory management and concurrent stream processing.
RustAWSTerraform
2015 — 2017
Backend Developer @ FintechHub
LONDON, UKBuilt real-time transaction monitoring tools. Integrated multiple 3rd party banking APIs and implemented strict event-sourcing patterns.
PythonDockerRabbitMQ