Principal Software Architect.
Principal software architect with 15+ years turning monolithic Java systems into event-driven, cloud-native architectures on AWS — and scattered teams into aligned engineering organizations. I work across the JVM and Node, reach for GraalVM when milliseconds matter, and run GitOps as the default.
operating principles
// how I workconst Modernizewithouttherewrite =
Decompose monoliths into serverless, event-driven services incrementally — keep the business running while the architecture changes underneath it.
const Event-drivenbydefault =
Real-time flows over hourly batches. EventBridge, Kafka, and CQRS so systems react instead of poll.
const MakeAIdothetoil =
Agentic workflows on AWS Bedrock and LangChain4j for the repetitive review-and-route work humans shouldn’t be doing.
const Govern,thengetoutoftheway =
Review boards, RFCs, and codified standards that raise the floor without slowing teams down.
tech stack
// dependenciesselected work
// open sourceKotlin compiled to a GraalVM native image, deployed as an OpenWhisk action for sub-second cold starts.
Embeds Apache Ignite’s distributed in-memory data grid inside Node.js via the GraalVM polyglot runtime.
A horizontally-scalable WebSocket chat with distributed message parsing over Spring Boot and Kafka.
A spec-driven full-stack starter that takes an idea from spec to running web app.