Engineering leadership in growing companies is defined by the decisions that connect architecture to execution. I write about the systems that enable teams to deliver consistently, the tradeoffs that come with scaling, and how technical choices translate into outcomes based on what I’ve seen work in real environments.
The Player-Coach Has a Shelf Life
I was fixing a production bug late one night during my time at The Ignition Group. The bug was in a scheduled job that processed inbound data files, and I had traced the problem to a specific method in the data access layer. The fix itself was straightforward. What caught me was the git blame.…
Keep readingBuilding a SaaS Platform from Zero, Part 3: Scaling into the Cloud and through an Acquisition
By this point, the platform was doing what it was designed to do. The multi-tenant database had replaced a dozen separate client environments. The data access layer and reporting engine were generating several million dollars a year in revenue. The automation tooling had gotten the data team back on schedule. We’d grown from about a…
Keep readingThe Boring Architecture Decisions That Quietly Compound
Every few years software engineers converge on a new paradigm, and suddenly it feels like you’re falling behind if you haven’t adopted it. Microservices. Event-driven architecture. Server-side rendering coming back around. Each of these emerged because real teams hit real scaling problems and needed better solutions. Before adopting any of them, ask whether your team…
Keep readingEvery Small Company Is in One of Three Places with AI
A few months ago I was catching up with a consultant friend who works with small and mid-sized companies. He told me about a client, a founder running a small services company, who had asked him, almost sheepishly, “Should we be doing something with AI?” The founder had seen the headlines, watched competitors mention it…
Keep readingBuilding a SaaS Platform from Zero, Part 2: The Product Architecture That Powered the Business
The multi-tenant database solved our scaling problem. Data updates that had previously taken weeks now flowed to subscribing clients automatically. Onboarding went from a technical project to a configuration exercise. The foundation was solid. But a database isn’t a product. Our clients weren’t paying for a well-designed schema; they were paying for access to healthcare…
Keep reading