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.
Do I Need a Fractional CTO? Seven Signs You Do
Patterns I see over and over in founder conversations. Recognize yourself in two or more and it's worth a call.
Read the essay →How to Hire AI-Native Engineers: Screen for Judgment
The profile of a great engineer has changed. What to look for now: taste, skepticism toward plausible output, and leverage with AI agents.
Read →Is the Leetcode Interview Dead? What to Use Instead
Algorithm puzzles test exactly the work AI now does for free. Here's what a technical interview should measure instead, and what mine looks like.
Read →Is the Resume Dead? What to Screen For in the AI Era
AI writes flawless resumes now. Every signal hiring used to lean on is gone, and most interview processes are still screening like it's 2019.
Read →Why Technical Skill No Longer Decides Who to Hire
For thirty years we hired engineers for what they could type. AI ended that. What actually predicts performance now is harder to test, and worth more.
Read →How Big Should an Engineering Team Be? Four Beats Twelve
AI changed the math of team size. Why the right hire count is smaller than your plan says, and what that does to roles, budgets, and recruiting.
Read →How to Use Claude Plugins for Knowledge Work: Staff Claude Like a Department
Almost everyone runs Claude as one freelancer with amnesia: open a chat, paste a task, close the tab, re-explain everything next time. Anthropic quietly open-sourced the repo that turns it into a department instead.
Read →How Engineering Leaders Create Their Own Luck: 9 Habits
The luckiest people I've worked with weren't lucky. They built a surface area for luck to land on, then put in the work that made it stick.
Read →What Is Go Fever? How Groupthink Ships the Wrong Product
Go Fever and groupthink don't just ship broken products. They ship the wrong ones: the feature the room fell in love with and the user never asked for, defended past every signal that it didn't fit.
Read →How to Roll Out Claude Code Across an Engineering Team
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 →Why AI Pilots Fail: Purgatory Is an Orchestration Problem
AI got funded, piloted, and then stalled. Escaping pilot purgatory has little to do with the model or the tooling. It comes down to orchestration, and that architecture decision belongs in the boardroom.
Read →AI Adoption Phase 5, Transform: The 6% Who Redesigned the Org
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 →How to Say No to Feature Requests Without Killing Momentum
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 →Why Customer Research Fails for New Products
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 Economics: When a $20K Box Beats the Cloud
If frontier AI lands at $1K to $5K per employee per month, a $20K private AI server per employee stops sounding crazy and starts sounding like procurement. The hardware has mostly caught up; the math hasn't, not quite.
Read →AI Adoption Phase 4, Industrialize: Scale Agents, Not 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 →What Is 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 →Product Maturity Model: Is Your Product Ready 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 →Claude Fable 5 Pricing: The Price Went Up, 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 →AI Adoption Phase 3, Operationalize: Agent to 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 →How to Work Backwards From the Customer Experience
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 →How to Run Ten Coding Agents in Parallel on 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 →Product Design Principles: If It Needs a Manual, It 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 →AI Adoption Phase 2, Experiment: From Pilot to a Production Decision
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 →AI Adoption Phase 1, Equip: You Bought Tools, 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: Why Token Usage Is a Bad Productivity Metric
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 →How AI Changes Software Economics: When Building Gets Cheap
Becoming AI-Native isn't a tooling change. It's learning to shape a problem, set an appetite, and bet on the outcome.
Read →How to Run OWASP Security Reviews With Claude Code on Every PR
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 twice a year and turns into something your pipeline checks on every commit.
Read →LLM Cost Tracking With Langfuse and Finout: AI Gross Margin
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 →What Is Professional Vibe Coding? Definition and Discipline
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 →How to Test Non-Deterministic AI Agents Beyond Green CI
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 →How AI Changes the Software Engineer Role: Manager of Agents
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 →Is Waterfall Coming Back? AI and Big Design Up Front
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 Fulfillment: Where the Margin Hides
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 →How to Design AI Agents: Think 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 →Is Agile Dead? Why AI Made the Ceremonies a Tax on Speed
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 →What Is an AI-Native Operating Model? Digestion, Not Adoption
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 →Is Product Management Dead? AI Removed Its Reason to Exist
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 →Should You Automate Customer Support With AI? Mostly No
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 →How to Grow Engineering 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 →How to 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 →How to Structure Customer Support: One System, Not Two Desks
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 →How to Lead an Engineering Team Remotely 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 →How to Align Technology With Business Strategy
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 →How to Protect Your Roadmap Without Being 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 Strategy for Operations and Customer Experience: One Loop
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 →Who Should Own Engineering, Ops, Support, and Data? One Leader
Splitting dev, platform ops, support, and data into separate fiefdoms feels organized. It manufactures the worst failures. Single ownership fixes that.
Read →How to Fix Bad Company Data: Dashboards People Actually Trust
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 →AI Digital Transformation: The Playbook Has Changed
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 →How to Prioritize a Roadmap: Decide What Not to Build
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 →How to Manage People in a High-Growth Company
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 →How to Run Internal and Outsourced 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 →How to Build Accountability Into an Engineering Team
Anyone can paint a future. The actual job is closing the gap between the vision and the shipped thing, then owning the result either way.
Read →How to Build a Multi-Year Tech Roadmap That Survives 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 →How to Scale a SaaS Engineering Team Without Breaking It
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 →How to Run Quarterly Tech Planning 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 →How to Build a Product Roadmap: 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 →How to Evaluate a Codebase: Read the Thesis Before the Code
Good architecture only counts if it serves where the business is headed. So before I judge a system, I find out what the company is trying to become.
Read →How to Become an AI-Native Company: Rebuild the Operating Model
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 →How to Improve DORA Metrics: Low to Elite in 90 Days
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 →What Kind of CTO Do You Need? A Guide by Company 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 →How to Measure Engineering 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 →What Is Operator Experience? The UX Nobody Designs For
Everyone talks about user experience. Almost nobody designs for the operator, and that is the experience that decides whether a software business can actually afford to grow.
Read →On-Prem to Cloud Migration 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 →