Blog

You can find my latest AI engineering articles on Substack, leadership on LeadDev, or browse my topic guides and personal blog posts below.

Personal Blog

Software Factories, Light and Dark

Software Factories, Light and Dark

A software factory is harnessing loops at scale - the system that builds your software instead of you. You can run the loop with humans in it (light factory) or you can ignore t...

Own the Outer Loop

Own the Outer Loop

Engineers need to own the outer loop, the accountability for these systems. A written version of my AI Engineer World's Fair 2026 closing keynote: quality, verdict, and answerab...

Earning taste and judgment

Earning taste and judgment

Taste used to be a byproduct of the reps. Agents took the reps. So if you're junior you now have to go get the taste and judgment on purpose. A builder's look at the weakening e...

The Agent-Era Career

The Agent-Era Career

AI gets good at anything with an answer key. Your career is everything that doesn't have one.

Agentic Autonomy Levels

Agentic Autonomy Levels

The action in agentic engineering has moved from prompting to operating. Autonomy isn't one ladder, it's two axes (agency and orchestration) and six levels you move between per ...

The New Software Lifecycle

The New Software Lifecycle

I co-wrote a Google whitepaper about how AI is changing the software lifecycle. I'm not going to summarize the whole thing. Instead, here are the handful of ideas in it I think ...

Agentic Code Review

Agentic Code Review

Coding agents are extraordinarily good now, and getting better fast. The interesting consequence is that the hard part of engineering moved from writing code to deciding whether...

Loop Engineering

Loop Engineering

You don't really need to be good at prompting anymore. The thing to get good at is the loop that does the prompting for you. It's five building blocks plus somewhere to keep not...

The Intent Debt

The Intent Debt

Technical debt lives in your code. Cognitive debt lives in your head. Intent debt lives in the artifacts you may have never wrote: the goals, constraints, and rationale for why ...

The Orchestration Tax

The Orchestration Tax

Starting more agents is easy now. However, more agents running doesn't mean more of you available - your cognitive bandwidth doesn't parallelize. All the judgement to actually s...

Don't Outsource the Learning

Don't Outsource the Learning

Right now, it's too easy to let AI write the code while you skip the learning. The bug gets fixed. Your mental model doesn't move. We are silently trading future capability for ...

Cognitive Surrender

Cognitive Surrender

Cognitive offloading is delegating to the AI and still owning the answer. Cognitive surrender is when the AI's output quietly becomes your output and there is nothing left to ch...

Agent Skills

Agent Skills

AI coding agents take the shortest path to done, which usually means skipping the specs, tests, and reviews that make software reliable at scale. Agent Skills encodes those seni...

Long-running Agents

Long-running Agents

A long-running agent can keep making progress over hours, days, or weeks. It can do this across many context windows and sandboxes, recover from failure, leave structured artifa...

Agent Harness Engineering

Agent Harness Engineering

A coding agent is the model plus everything you build around it: prompts, tools, context policies, hooks, sandboxes, feedback loops. Harness engineering is the discipline of tre...

Agentic Engine Optimization (AEO)

Agentic Engine Optimization (AEO)

AI coding agents consume documentation fundamentally differently from humans. If you're still optimizing only for human readers, you're leaving a growing share of your audience ...

Your parallel Agent limit

Your parallel Agent limit

Running multiple agents in parallel is not just a question of throughput. It is a new kind of cognitive labor that requires managing multiple mental models, continuous judgment ...

Stop Using /init for AGENTS.md

Stop Using /init for AGENTS.md

Two papers published in early 2026 suggest you might have just made your agent slower, more expensive, and no more accurate. The right mental model is to treat AGENTS.md as a li...

Substack

LeadDev

Managing the chaos of context switching

It's time to examine the good, the bad, and the very ugly elements of context switching. Even better, we'll take a look at some strategies for managing it.

What makes an effective software engineer?

Being a good software engineer is not necessarily the same as being an effective one. Here, Google's Addy Osmani identifies the ten key traits of effective software engineers.