Field notes on building
technology businesses.
Engineering leadership, DORA metrics, and AI-native transformation, written from 25 years at the seam between the boardroom and the codebase.
AI Pilot Purgatory Is an Orchestration Problem
AI got funded, piloted, and then stalled. Escaping pilot purgatory isn't a model problem or a tooling problem. It's an orchestration problem, and the architecture decision belongs in the boardroom.
Read the essay →Build a System That Prompts Itself
You're not supposed to prompt Claude. You're supposed to build a system that prompts itself. The leverage was never in the wording. It's in the wiring.
Read →Transform: The 6% Who Redesigned the Organization
Only 6% of companies capture real EBIT impact from AI, and they're nearly three times more likely to have redesigned how they work. The last phase isn't technical. It's the operating model, and it's the one only leadership can change.
Read →Saying No to 1,000 Good Ideas
Focus doesn't mean rejecting bad ideas — those reject themselves. Part 4 of my product design philosophy: kill projects that miss the bar, prototype with working software, and restart when it isn't right.
Read →Nobody Asks for the Future
Customers describe their problems in the vocabulary of today's solutions. Part 3 of my product design philosophy: faster horses, seeing what others can't, and owning the parts of the stack that carry your vision.
Read →On-Device AI Is the Future. The Unit Economics Just Aren't There Yet.
If frontier AI lands at $1K–$5K per employee per month, a $20K private AI server per employee stops sounding crazy and starts sounding like procurement. The hardware is almost there. The math isn't — yet.
Read →Industrialize: Scaling Agents Without Scaling the Chaos
Fewer than a quarter of companies have scaled AI agents beyond the first win. Scale is where AI stops being a project and becomes infrastructure — and infrastructure has rules most AI teams haven't learned yet.
Read →Product Engineering: It Was Always One Job
We split "what to build" from "how to build it" because building was expensive. Now the split itself is the expensive part. Product engineering is what's left when you remove the seam.
Read →Your Product Isn't Mature Enough to Scale
Feature flags, a real testing environment, an experimentation subsystem. The unglamorous infrastructure that decides whether your product can absorb more building, or just ship chaos faster.
Read →Fable 5: The Price Went Up and the Knobs Came Off
Anthropic just shipped a model tier above Opus. The price doubled and the dials disappeared — and both of those facts tell you how to run an AI-native organization.
Read →Operationalize: You Built an Agent. Now Make It an Employee.
A third of companies have an agent doing real work in production. Most of them built a heroic one-off: brilliant, fragile, and understood by exactly one engineer. That's not a capability — it's a liability with good PR.
Read →Start With the Experience, Then Work Backwards to the Technology
Design is not how it looks, it's how it works. Part 2 of my product design philosophy: the best interface is no interface, and the parts users can't see should be as beautiful as the parts they can.
Read →Ten Coding Agents, One Laptop
Running six to ten coding agents at once was never a model problem. It's an environment problem — and the moment you solve it, the constraint moves to the one thing you can't refactor: the RAM on your desk.
Read →If Your Product Needs a Manual, the Design Already Failed
Simplicity is the ultimate sophistication. Part 1 of my product design philosophy: eliminate ruthlessly, question every assumption, and treat every "how do I…" as a bug report.
Read →Experiment: Pilot Purgatory
Two-thirds of companies are running AI pilots. Most pilots are built to demo, not to ship — and a pilot without a production path is just an expensive way to postpone a decision.
Read →Equip: You Bought the Tools and Nothing Changed
88% of companies have bought AI tools. Most of them mistook the purchase order for the transformation. Procurement is not adoption, and seat counts are not leverage.
Read →The Five Phases of AI Adoption — and Where Companies Stall
AI adoption moves through five phases: Equip, Experiment, Operationalize, Industrialize, Transform. Each transition fails for a different reason, and almost everyone is stalled in the first two.
Read →Tokenmaxxing Is the New Lines of Code
Counting tokens tells you nothing about whether work got done. But rationing them to save money is the more expensive mistake. The real skill is context hygiene, and the real win is letting people experiment.
Read →When Building Gets Cheap, Shaping Becomes the Job
Becoming AI-Native isn't a tooling change. It's learning to shape a problem, set an appetite, and bet on the outcome.
Read →The Pentest Comes Too Late. Put OWASP in Every Pull Request.
A pentest twice a year tells you what was broken months ago. Wire Claude Code's GitHub Action into your pipeline for everyday code review — then add a second, explicit security step that reads every diff against the OWASP Top 10 and blocks the merge when it finds a hole. Security stops being an event you survive and becomes a property of how you ship.
Read →Your AI Feature Has a Gross Margin. Your CFO Just Can't See It Yet.
You can watch an LLM feature work and still have no idea what it costs you per customer. LLM Ops is two jobs, not one: Langfuse tells you what every model call did and what it cost, and Finout drops that cost into the same bill as your cloud, allocated per team, product, and customer. Wire them together and an AI feature stops being a mystery line on the OpenAI invoice and starts being a P&L you can defend.
Read →Professional Vibe Coding: Reclaiming a Phrase the Industry Loves to Mock
Vibe coding earned its bad reputation honestly. But the speed it hints at is real, and with real guardrails, it becomes the most powerful way to build software I've seen in 25 years. This is part one of a series.
Read →Your CI Was Green. The Model Just Swore at a Child.
You can't test an AI agent by asserting on strings, and you can't trust a green build either. You test the behavior, by replaying real histories, injecting the exact RAG context, and grading the tool calls, and you test it adversarially, because a determined nine-year-old is a better red team than your pipeline.
Read →Every Engineer Is a Manager Now
The job is no longer to write the code. It's to break the work down, hand it to a team of agents, and be accountable for what comes back. Every individual contributor is quietly becoming an engineering manager of synthetic staff — and the same shift is coming for every other role.
Read →Waterfall Is Coming Back, and It's Not a Joke
Agile was a hedge against the high cost of change. AI collapsed that cost, and with it the reason to slice everything into two-week confetti. When a three-month body of work costs what a ticket used to, the constraint moves back upstream, to thinking. That is waterfall's old home.
Read →AI Agents in Accounting: Build a Graph, Not a Swarm
Accounting is reading, computing against the rules, and filling in forms, exactly the work AI does faster than any analyst. Here's the agent architecture I'd build for it, and why it's a graph, not a swarm.
Read →AI Agents in E-Commerce: Finding Margin in the Cost of Fulfillment
In a commodity market the price is fixed and the product is undifferentiated, so profit hides in the cost of fulfilling each order. Here's the agent architecture I'd build to find it, across both owned inventory and drop shipping.
Read →Design Your AI Agents Like Very Stupid Employees
The easiest way to think about agent design isn't to build one brilliant generalist. It's to hire a team of narrow, slightly dim specialists who each do exactly one job, and nothing else.
Read →Agile Is Dead. The Word Is Still Twitching.
Agile was a workaround for the slow, expensive nature of building software in 2001. AI repriced the building. The ceremonies that compensated for the old expense are now a tax paid in the exact currency they were invented to protect: speed.
Read →Your Company Doesn't Adopt AI. AI Digests Your Company.
AI is the first technology that metabolizes organizations rather than augmenting them. Going "AI-native" doesn't upgrade your operating model, it dissolves the structure that existed to manage problems AI just erased.
Read →Product Management Was a Workaround. AI Removed the Thing It Worked Around.
Product management was an optimization layer for a constraint, expensive software, that no longer exists. When building gets cheap, the PM's job inverts: from advocate for what gets built to editor of what shouldn't.
Read →Automating Your Support Queue Is the Worst Use of AI Your Company Will Make This Year
A support ticket isn't a cost to be deflected. It's the highest-fidelity evidence you have about where your product, pricing, and onboarding are broken, and the standard AI playbook is quietly destroying it.
Read →Grow Leaders, Not Just Headcount
Scaling a team by hiring more bodies buys you headcount, not leverage. The durable move is to build leaders and make yourself replaceable.
Read →Find the Bottleneck Before You Automate Anything
Automating around a constraint just moves it somewhere worse. Find the real bottleneck first, fix ownership, and most of the tooling you were about to buy turns out to be optional.
Read →Support Is a System
Support isn't two help desks bolted to the side of the org, it's one feedback loop. Run it as a system, instrument the right KPIs, and it pays back in product and ops fixes, not faster ticket-closing.
Read →Leading Technology as a Remote Executive Across Time Zones
Remote technology leadership isn't a downgrade of the in-person version. Done deliberately, distance forces the clarity that good organizations need anyway.
Read →Aligning Technology With the People Who Aren't in Engineering
The hardest part of a technology org isn't the code. It's keeping it pointed at what operations, product, and the business actually need.
Read →Protecting the Roadmap Without Becoming the Department of No
Staying responsive to the business without letting every urgent request shred the roadmap. How to say no without becoming the department of no.
Read →AI on Both Sides of the House
Most companies put AI to work on one side of the business and ignore the other. The leverage is in running it on both, with a human accountable where it touches customers.
Read →Owning the Whole Stack: Dev, Platform Ops, Support, and Data
Splitting dev, platform ops, support, and data into separate fiefdoms feels organized. It manufactures the worst failures. Single ownership fixes that.
Read →From Data Chaos to Visibility
Most companies don't have a data problem. They have a trust problem. Turning scattered, untrusted data into visibility people act on is platform work, not a dashboard.
Read →Digital Transformation Is an AI Problem Now
The old transformation playbook moved you to the cloud and tidied your processes. The new one rebuilds operations around AI. The lever changed; plans didn't.
Read →Prioritization Is the Job
A technology leader's real work isn't deciding what to build. It's deciding what not to build, and holding that line against the pull of every loud request.
Read →Managing People When Everything Is Growing at Once
In high growth the org chart, the product, and the headcount all move at once. Managing people through that is a different job than steady state.
Read →Running Internal and External Engineering as One Team
Internal product teams and external developers can ship as one accountable unit, or fail at the seam. The difference is who owns delivery.
Read →Vision Is Cheap. Execution With Accountability Is the Whole Game.
Anyone can paint a future. The job is closing the gap between the vision and the shipped thing, and owning the result either way. Here's what that takes.
Read →The Multi-Year Roadmap That Survives Contact With Reality
A three-year roadmap that locks every quarter is fiction. One with no direction is chaos. The job is building the version that holds a line while reality keeps moving it.
Read →Scaling a SaaS Engineering Org Without Breaking What Works
Scaling a SaaS org breaks more from added process than added people. The job is to grow capacity without grinding down the trust and speed that got you here.
Read →Planning Season Without the Theater
Quarterly and annual planning is where most tech roadmaps quietly drift from what the business actually needs. Here's how I keep the plan honest, sequenced, and tied to the numbers leadership cares about.
Read →Business Before Backlog
Most roadmaps are a pile of features looking for a reason. The fix is to start from the product and the P&L, then build the engineering to match.
Read →Read the Thesis Before the Code
Architecture is a means, not an end. Before I judge a system, I learn what the business is trying to become.
Read →Becoming AI-Native: Rebuilding the Operating Model, Not Just the Product
Most companies are bolting AI onto an operating model designed for a pre-AI world. Going AI-native means rewiring how products are built and how the organization runs.
Read →From Low Performer to Elite: A Three-Month DORA Transformation
How a struggling engineering organization went from fearful, manual releases to elite DORA performance in ninety days, and why process, not heroics, did the work.
Read →The Kind of CTO You Need at Each Stage
The CTO who takes you from zero to one is rarely the one who scales you to a hundred. A field guide to matching the leader to the moment.
Read →Measuring Engineer Productivity Without Breaking Trust
Productivity metrics turn toxic the moment they're used to rank people. Here's how to measure the system instead of the individual, and still get the leverage leadership wants.
Read →The Unhealthy Fixation: Why I Obsess Over Operator Experience
Everyone talks about user experience. The experience that quietly decides whether a software business scales is the one nobody designs for, the operator's.
Read →On-Prem to Cloud-Native With Under an Hour of Downtime
Big-bang migrations fail loudly. Here's the incremental, reversible approach I use to move legacy systems to the cloud while the business keeps running.
Read →