Building tools and systems that ship.
After 15 years, I still don't know most things. That's the point. Be bold enough to dive into what you don't know, ask questions at every level, and push for what you believe in.
KISS applies to fixing systems too. Spend the extra 5 minutes to make it maintainable — but know when those 5 minutes are actually 5 months in disguise.
Rewrites, migrations, bug fixes — it doesn't matter what you're doing if you can't show non-technical people why it matters. Pressing a button speaks a thousand words.
Makefiles, architecture docs, and AI tooling — the process I use to get the lay of the land on any new project.
The existential threat to labor isn't large language models. It's physical-world automation — and it has very little to do with chatbots.
The dominant narrative says AI is a bubble. I think it's something different: big tech finally deploying tens of billions in capital that's been sitting idle for years.
The honest tradeoffs between retrieval-augmented generation, classical NLP, and just prompting GPT. When each approach makes sense, how to blend them together, and why startups should probably start with prompts.
I built an open-source deployment orchestrator because I had a monorepo with Cloud Run containers, Cloud Functions, Lambda, and a frontend — and I didn't want 5 different infra tools.
The math on when you actually need to scale, why managed containers often beat serverless for APIs, and how to avoid architecture astronaut syndrome.
What I learned about monorepos from Meta's massive codebase, AWS's polyrepo architecture, and migrating SID from 15 repositories to one.
"A void in complexity is the signature of intelligence"