Thoughts on engineering leadership, team practices, and building better software
The tech that wins isn't the newest or most exciting. It's the one that stays running while you build features.
The operational story matters more than the architectural one. A well-structured monolith is straightforward to run, which means you spend time on features instead of infrastructure.
The modular monolith isn't a temporary solution. For most teams, it's where you should stay. But sometimes you do need to split.
Structure without distribution. Clear boundaries enforced at dev time. Here's how to build a monolith that won't trap you later.
A monolith isn't spaghetti code. It's a deployment decision that makes sense for most teams. Microservices solve problems you probably don't have.
How the same architectural logic that makes LLMs useful in software also applies to how people communicate and coordinate.
Placing LLMs inside real systems: how semantic middleware fits between intent, execution, and feedback.
Thinking of LLMs not as oracles but as middleware that sits between human ambiguity and system execution.
Transparency isn’t a feeling; it’s a system property. You can measure how information moves, how safe people feel using it, and how fast learning travels.
Leaders should share almost everything. The challenge isn’t how much to reveal, but how to make radical openness useful, humane, and scalable.
Transparency shouldn’t feel like surveillance. Here’s how to make work visible in ways that build trust, not control.
Good decisions age well when their reasoning is visible. This is how to make the why discoverable without drowning people in paperwork.
Transparency fails without safety. Fear turns openness into performance, while trust turns it into learning.
Transparency isn’t a moral good; it’s a system property. What happens when organizations claim openness but operate in the dark?
Exploring how mob programming applies outside of coding - design, incidents, onboarding, and more.
Exploring how mob programming works when everyone is remote - what changes, what stays the same, and how to set it up for success.
An introduction to mob programming as part of my learn-in-public series - how it works, why it matters, and when it pays off.
Here is how I run CLI-first AI coding in real teams without drama. One realistic enterprise pattern, plus a simple demo setup anyone can try.
Here's how I run AI from the terminal day to day. It's opinionated, boring on purpose, and it keeps repos clean.
A hands-on guide to the best AI coding CLIs in 2025, including setup, configuration, and a practical comparison to help you choose the right tool for your workflow.
Explore why feedback is a critical tool for growth, how most feedback cultures fail, and a step-by-step guide to building a culture of continuous improvement.
AI has undeniably changed the day-to-day of software engineering - but not always in the ways the headlines suggest.
Reach out on LinkedIn or via email