Blog

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

Database Migrations Without Downtime: A Practical Guide

April 7, 2026

Zero-downtime deployments are only as good as your migration strategy. Here's how I handle schema changes in high-availability systems.

Lessons From Processing a Million Transactions a Day

March 31, 2026

Scaling from thousands to millions of daily transactions taught me that the biggest bottlenecks are rarely where you expect them.

Managing Up: How Engineers Can Communicate With Executives

March 24, 2026

The biggest career accelerator for engineers isn't technical skill — it's the ability to communicate technical decisions in business terms.

The Case for Boring Technology

March 17, 2026

The most exciting technology choice is usually the wrong one. Here's why I default to proven, boring tools — and when I make exceptions.

Why I Prototype Before I Propose

March 12, 2026

Architecture diagrams lie. Prototypes tell the truth. Here's why I always build a proof of concept before committing to a technical direction.

What Healthcare Tech Can Teach Every Industry About Reliability

March 10, 2026

Building software where downtime can affect patient care gives you a different perspective on reliability. These lessons apply everywhere.

Building Resilient Systems With Circuit Breakers and Retry Patterns

March 3, 2026

In distributed systems, failure isn't a possibility — it's a certainty. Here's how I design services that degrade gracefully instead of cascading.

The Underrated Power of Good Onboarding Documentation

February 26, 2026

Every hour you invest in onboarding docs saves days of engineer ramp-up time. Here's how I approach it.

NestJS in Production: Patterns That Scale

February 24, 2026

After years of running NestJS in production for financial and healthcare platforms, here are the patterns that have proven themselves.

How I Run Effective One-on-Ones With Engineers

February 19, 2026

One-on-ones are the highest-leverage meeting on your calendar — if you do them right. Here's the format I've refined over years of engineering leadership.

Designing Financial Systems That Never Lose a Penny

February 17, 2026

When your system moves real money, 'close enough' doesn't cut it. Here's how I design financial platforms for zero-discrepancy accuracy.

The Real Cost of Not Investing in Developer Experience

February 12, 2026

Slow builds, flaky tests, and painful deployments aren't just annoying — they're silently destroying your team's velocity and morale.

Why Clean Architecture Matters More Than You Think

February 10, 2026

Clean architecture isn't about following rules. It's about building systems that survive contact with reality — and with the next team that inherits your code.

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.