Make failures visible. Make recovery safe.
I design, build, and modernize cloud platforms, distributed services, and data-intensive software. My work spans service boundaries, performance, and migration with particular attention to how a system behaves when dependencies fail and people need to recover it. My background spans distributed financial systems, Army logistics analytics, defense research, and military intelligence.
Cloud & Distributed Systems • Architecture • Modernization
Questions I start with
- What needs to change, and what can stay?
- Where should the system’s boundaries be?
- What happens when a request times out after the work succeeds?
- Can we deploy this change gradually and roll it back?
What I work on
Architecture, implementation, and operation considered together.
Cloud & Distributed Systems
Shape services, orchestration, and data pipelines around the workload. Examine where work queues up, which resources are shared, and whether adding concurrency will improve throughput or move the bottleneck.
Architecture
Start with the workload, the behavior that must remain correct, and the environment in which the system will run. A useful boundary can make one component easier to change while introducing network calls and coordination elsewhere. Make those costs explicit and check the assumptions in implementation.
Modernization
Decide which parts of a system are actually limiting it and which are worth preserving. Make the migration path, compatibility requirements, and rollback strategy part of the design, not problems deferred until deployment.
Selected writing
Notes on software design, distributed systems, and the operational consequences of architectural choices.
Technical notes
Operability First: Designing for Safe Recovery
Designing distributed systems so operators can determine what happened, control retries, and recover safely when normal processing fails.
Safe DLQ replay checklist
A practical runbook for replaying dead-letter messages without corrupting data or melting dependencies, with SQS/SNS and Kafka appendices.
Open-source projects
Libraries that explore explicit failure handling and recovery in code.
Contact
Based in Huntsville, Alabama. I’m happy to compare notes on software architecture, modernization, and operating distributed systems.