Making Interviews Objective with AI (Without Making Them Worse)
Everyone has opinions about candidates. That's the problem.
We're supposed to ask standard questions, evaluate people against the job description, and test whether they can do the work. Instead, we dig into areas where we think they're weak, ask different questions for each person, and end up testing our biases instead of their abilities.
The Software That Shouldn't Exist
Everyone's worried about AI replacing engineers. The more interesting question is what happens when the cost of building software drops so dramatically that entirely new categories of software become viable.
The industry is calling this "personalized software." Custom tools built for a specific person, a specific context, a specific moment. Software that never leaves your machine. Software that would never justify a product. Software that, until recently, simply wouldn't exist.
Shifting Left - How Small Teams Handle Organizational Gaps Without Breaking
Every small organization has gaps. Maybe you have an engineering lead but no dedicated DevOps team. Maybe your product manager is stretched thin and the tech lead is absorbing PM responsibilities. Maybe a designer role is emerging, but nobody owns it yet.
These gaps often emerge in specific domains. Growing organizations typically need four types of engineering leadership, and early-stage teams almost never have all of them covered. This is normal. The question is: how do you respond?
Teams may make the mistake of dumping the entire burden on one person. They identify the gap, find whoever is closest to it, and expect that person to absorb all the additional work. This breaks people.
There's a better approach I call "shifting left."
Working in the Mud - The Mental Model That Keeps Engineering Teams Moving
Every engineering blog paints a picture of clean microservices, continuous deployment, and comprehensive observability. I've been in this industry for over a decade, and I've never experienced this ideal state across the board. I've seen glimmers. Teams that nail one dimension. But never everything at once.
That gap between the ideal and reality is what I call working in the mud.
Software Architecture Is a Building - A Mental Model for Technical Decisions
Most architecture discussions devolve into abstract debates about microservices, monoliths, and database choices. After years of explaining these concepts to engineers and product leaders, I've found that thinking about software architecture like a physical building cuts through the noise and makes the tradeoffs viscerally clear.
This isn't just a teaching metaphor. It's a decision framework that surfaces why some changes cost weeks and others cost months, why certain tech debt compounds silently while other debt screams at you daily, and how to gauge the right amount of architectural runway to build.
AI-Assisted Development Changes What Matters in Framework Selection
The two-minute deploy is killing my productivity.
That sounds wrong until you think about proportions. Two minutes is nothing. But when AI-assisted development shrinks the time spent writing code, those two-minute deploys start consuming a much larger percentage of your development cycle.
I discovered this while building with a managed backend framework that requires redeployment even during local sandbox development. The frontend rebuilds in seconds. The backend takes two minutes. Suddenly, that backend deploy time is where I spend most of my dev cycle waiting.
A caveat before going further: this observation comes from a greenfield project where I'm moving quickly and iterating frequently. AI-assisted development changes the structure of work in existing projects too, but this effect is most pronounced when building something new and small, where rapid iteration is the default.
Stop Fighting the Wrong Battles - The Three-Level Problem Framework
Most engineering teams waste weeks solving the wrong problems.
They polish user interfaces while core APIs fail. They optimize conversion funnels while databases crash. They redesign onboarding flows while authentication randomly breaks.
This happens because everything gets labeled "high priority" without any systematic way to determine what actually needs fixing first.
Here's a three-level framework that immediately clarifies what to fix first, what can wait, and what's wasting everyone's time.
Tactical Work Shedding - How to Plan for the Plan to Fail
Every sprint plan will go sideways. Every project timeline will hit unexpected problems. This isn't pessimism. It's pattern recognition from years of leading engineering teams through hundreds of delivery cycles.
The question isn't whether your estimates will be wrong. The question is: have you already decided what to cut when they are?
I call this approach Tactical Work Shedding, and it's a reliable practice I've used as a tech lead collaborating with product managers on sprint planning and feature delivery.
Risk Evaluation in the Age of AI-Aided Development
Engineering teams have always made judgment calls about risk and speed. With AI development tools becoming standard practice, that judgment call has gained a new dimension demanding more careful consideration.
The Seven Tiers of SaaS Engineering Complexity
In cycling, the pain doesn't decrease as you get better. You just get faster.
This applies directly to software engineering. Engineers don't find work easier as they mature; they tackle increasingly complex problems that maintain the same cognitive challenge. A senior engineer debugging distributed systems experiences similar mental strain as a junior fixing their first API bug. The difference is the tier of complexity they're operating within.
Your Dashboards Are a Code Smell (And How to Fix It)
I've been on call for over a decade across production SaaS platforms. I've debugged cascading failures at 3 AM, managed 99.99%+ uptime commitments, and transformed reactive teams into proactive operational excellence cultures. Through all of that, I've learned one uncomfortable truth: if your team relies on dashboards for incident response, you have an observability problem.
Dashboards are the lowest common denominator for monitoring. Over-reliance on them (or truly any reliance on them for production incident response) is a code smell for your observability strategy.
Alert Fatigue is Better Than Radio Silence (And That's a Problem)
Having too many alerts that drive everyone insane is still better than having no alerts at all. I've complained about alert fatigue plenty of times before, but here's the uncomfortable truth: that statement is completely backwards.
Designing Monitoring Tools for the Job to Be Done
Successful monitoring platforms rest on a fundamental principle that many teams overlook: the format of a page should be determined by who you expect to be there and what job they need to accomplish.
This requires purpose-built interfaces, not configuration layers. Different users come to your monitoring platform with completely different needs, and your page design should reflect those differences from the ground up.
The On-Premises Revenue Trap - Why Enterprise SaaS Deployments Kill Engineering Velocity
Enterprise customers love asking for on-prem deployments. The contract values look irresistible: 2-5x your standard SaaS pricing, multi-year commitments, and the validation that comes with enterprise logos. But having managed hybrid and full on-prem deployments across multiple SaaS platforms, I can tell you the operational reality is a trap that strangles engineering teams.
The numbers tell a stark story: research shows that personnel costs represent 50-85% of total on-prem application ownership, with the vast majority of that time spent on monitoring, maintenance, and troubleshooting rather than innovation.
The Risk Funnel - Why Your Biggest Project Uncertainties Must Come First
Every engineering leader has lived this nightmare: two days from deadline, the team discovers the core architectural assumption doesn't work, the third-party API is missing critical functionality, or the algorithm can't handle production scale. A manageable project suddenly needs another week, a 100% schedule overrun.
This scenario highlights why successful engineering leadership requires systematic approaches across project organization and technical oversight, not just individual heroics.
This isn't bad luck. It's predictable project physics that most teams systematically ignore.
Why Public Communication Just Got Even More Important - The AI Amplification Effect
I've written before about the importance of keeping work discussions in public forums: Slack channels, JIRA tickets, shared docs, anywhere that's searchable and accessible. If it's about work, other people probably need to know about it. I've recommended that teams target 60-80% of their messages in public channels to preserve institutional knowledge and make information searchable for future team members.
With AI tools becoming ubiquitous, this practice has transformed from best practice to competitive necessity.
The Monitoring Trap - Why Build vs Buy Is the Wrong Question
Engineering leadership's most expensive monitoring decision isn't choosing the wrong tool. It's falling into the monitoring trap that costs organizations in wasted engineering time and preventable downtime. The classic "build vs buy" framing is fundamentally broken. It ignores how most teams end up trapped in an expensive middle ground that delivers neither cost efficiency nor operational effectiveness, creating cascading impacts on engineering velocity and business outcomes.
The Two Types of Engineers And How to Optimize for Both
Through managing teams across multiple clients, I've observed that engineering productivity isn't just about technical skills. It's about recognizing that different engineers thrive under different working conditions. Recent research from McKinsey's 2024 software engineering productivity study found that companies implementing tailored management approaches achieved a 20% improvement in employee experience scores, validating the importance of matching management style to individual work preferences.
Why Your Team's Productivity Drops After Every Change
You promote your best engineer to team lead. Three weeks later, productivity has tanked and people are frustrated. Sound familiar?
Here's what most engineering leaders don't realize: this productivity drop is completely normal and predictable. When you promote your best engineer, you're getting hit twice. You lose your best individual contributor while the team figures out how to work together. Understanding the four types of engineering leadership helps explain why this transition is so challenging.
The Upstream Root Cause Problem - Why Your Production Fires Start in Product Requirements
Most teams focus on faster incident response. The real solution is preventing incidents from happening in the first place.
After 10+ years of being continuously on-call across multiple SaaS platforms, I've debugged production incidents, database failures, authentication service outages, and scaling crises. Each time, the immediate focus is the same: restore service, minimize customer impact, conduct a post-mortem. Most teams follow a structured incident response process, which is absolutely necessary for operational stability.
But here's what I've learned that most incident response frameworks miss: your operational pain is usually a symptom, not the disease.

