I was pulling systems apart to see how they broke long before anyone paid me to build them.
Professionally that is twenty-seven years now: networks, then servers, then databases, then architecture, then teams, and lately AI. The shape keeps changing and the underlying question never does, which is what happens when this breaks and who finds out first. I still write code most weeks, because a technology leader who has not touched the stack in three years is guessing, and the team can always tell.
How I work
Architecture
I design the shape of a system before anyone writes code: data model, failure modes, where the load lands, what happens at 3am when a dependency goes away. Then I stay close enough to the implementation to find out whether the design survived contact with reality.
Leadership
Technical strategy, hiring, and delivery, including M&A integrations and cloud migrations. I have taken teams through the unglamorous part, where two companies' systems have to become one without anybody's customers noticing.
Security
I came up reverse engineering and debugging at the instruction level, fascinated by how things break. That lens never left. Security is part of the architecture, decided early, not a hardening pass bolted on the week before launch.
AI, where it pays
LLM applications, retrieval-augmented generation, agents, and the evaluation harnesses that catch regressions before users do. The interesting question is rarely whether a model can do something. It is whether the output is reliable enough to put in front of a customer.
Where to go next
About
Twenty-seven years from network engineer to CTO, the credentials behind it, and the questions I get asked most.
Work
DNS Checker, TechEarl, and the other systems I have built and still run, plus the stack I default to.
Writing
Field notes on shipping real systems: Linux, DevOps, databases, security, infrastructure.
Contact
Architecture reviews, infrastructure work, fractional CTO engagements, or a good technical question.