Hi, I'm Carl.
I've been writing software since the early 1980s, starting on a Commodore 64 with BASIC and 6502 assembly before helping design the LCM-32, an affordable single-board computer, in 1986. That early work left a mark: I still care about systems that are understandable, economical, and useful to the people operating them.
These days I work as a CTO, architect, and senior engineering leader. I care about teams that can make clear technical decisions, keep product momentum, and operate what they build. Most of my recent attention is on AI-native developer tooling: not demos, but tools and workflows that change how engineers plan, build, review, and run software every day.
My bias has always been customer-centered. The implementation matters, but it comes after the experience: what the user is trying to do, where the friction is, and what complexity we can absorb so they do not have to.
I did not take the traditional college path. I learned hands-on by building, listening, collaborating, and iterating with the people using the systems. That habit still drives how I pick up new technology: bridge the gaps, choose the right tool for the problem, and keep refining until the experience feels obvious.
What I write about
- Engineering leadership and team design
- Customer-centered product engineering
- System architecture, especially the choices that age well
- Practical AI tooling: Claude Code, agentic workflows, observability
- Hardware side projects, retro computing, and the occasional weekend diversion
Elsewhere
This site is built with Astro and deployed on Cloudflare Pages. Source on GitHub.