Blog

Thoughts on building products, leading teams, and figuring things out along the way.

Lessons From Leading Engineering Teams Through Major Migrations

February 5, 2026

Hard-won lessons from leading teams through high-stakes platform migrations — where the stakes are real and rollback isn't always an option.

Why Event-Driven Architecture Wins in High-Stakes Systems

January 28, 2026

After years of building event-driven systems with RabbitMQ, here's why I keep coming back to this pattern for mission-critical platforms.

What I've Learned Building Software With AI Tools

January 20, 2026

After months of integrating AI into my development workflow, here's what actually works — and what doesn't.

Domain-Driven Design in the Real World

January 10, 2026

DDD isn't just for textbooks. Here's how I've applied it to healthcare and financial systems — and the mistakes I made along the way.

The Architect's Role in Modern Engineering Organizations

December 28, 2025

What does a solutions architect actually do in 2025? It's not what the job description says.

Technical Debt Is Not the Enemy

December 15, 2025

Stop treating technical debt as a failure. Start treating it as a tool — one that needs to be managed, not eliminated.

What 20 Years in Healthcare Tech Taught Me About Building Systems That Matter

December 15, 2025

Reflections on two decades of building high-stakes platforms where failure isn't an option.

Scaling From IC to Director: What Nobody Tells You

December 1, 2025

The transition from individual contributor to engineering director is harder than anyone admits. Here's what I learned making that leap.

HIPAA Compliance: An Engineer's Practical Guide

November 15, 2025

What engineers actually need to know about building HIPAA-compliant software — without the legal jargon.

Prototyping as a Leadership Tool

November 1, 2025

Why I still write code as an engineering director — and why my prototypes are the most persuasive documents I produce.

Microservices: Lessons From the Trenches

October 18, 2025

After years of building microservices in production, here's what actually matters — and what's just conference talk fodder.

The Art of the Technical Specification

October 5, 2025

Most technical specs are either too vague or too detailed. Here's the framework I use to write specs that actually get read and implemented correctly.

Building Engineering Teams That Actually Ship

September 20, 2025

Velocity isn't about working faster. It's about removing the things that slow you down.

PostgreSQL at Scale: What I've Learned Running It in Production

September 5, 2025

PostgreSQL has been my database of choice for years. Here's what I've learned about running it at scale in high-throughput production systems.

EDI & Healthcare Integration Demystified

August 20, 2025

EDI, HL7, DICOM — healthcare integration standards sound arcane, but the principles behind them are surprisingly universal.

The Code Review That Changed How I Lead

August 5, 2025

A story about a code review that went wrong, what I learned from it, and how it shaped my approach to mentoring engineers.

Why I Still Love Node.js After All These Years

July 20, 2025

I've written production systems in C#, Golang, PHP, and Java. I keep coming back to Node.js. Here's why.

Zero-Downtime Deployments: A Practical Guide

July 5, 2025

Deploying without downtime isn't magic. It's a series of boring, deliberate engineering decisions. Here's the playbook.