Menu

Posts tagged “engineering”

How AI is changing product management (and what to ask your team about it)

Next week I’m running a session with our product and engineering leadership on how AI is changing the product management role. To prepare, I read the people who’ve shaped how product managers think about the job (Marty Cagan, Melissa Perri, Teresa Torres, Rich Mironov, John Cutler, the Reforge team), alongside product leaders doing the job right now at Anthropic, OpenAI, Netflix, Instagram, and Whatnot. Then I went through the 2025-2026 survey and study data I could find.

Most of what I found applies well beyond our team, so I’m sharing the condensed version here, along with the questions we’ll be discussing in case they’re useful for yours.

Where the sources agree

  1. Building got cheap. Deciding what to build got expensive. Mike Krieger, Anthropic’s chief product officer, says 90-95% of the Claude Code product’s own code is now written by Claude Code, and that their bottleneck moved to deciding what to build. (Self-reported, but the rest of the sources point the same direction.) Writing documents by hand is losing its value, because AI now produces a serviceable draft of any of them on demand: product requirements documents (PRDs), backlogs, research summaries, status updates. So the hard parts of being a PM are becoming more important: choosing which problems to work on, understanding customers, and defining what “good” means.

  2. Speed alone is not converting to outcomes. In an April-May 2026 survey of 309 senior product leaders, nearly nine in ten had adopted AI coding assistants. But just over a third said AI strengthened how their org operates. DORA, Google’s long-running research program on software delivery, found in 2025 that teams using AI ship faster but their releases get less stable. GitClear, which analyzes code quality across millions of code changes, found duplicated code up 81% since 2023. Refactoring, the cleanup work that keeps a codebase maintainable, dropped sharply over the same period. Marty Cagan calls this the AI productivity paradox: shipping faster without better discovery (the work of figuring out what’s worth building) gets you to the wrong place sooner.

  3. Teams are getting smaller and more senior, with wider scope per person. Netflix, Instagram, and Whatnot all describe versions of this. Instagram is moving toward pods of 4-6 engineers plus one “product staff” generalist covering product management, design, data, and research. Nobody agrees on what the smaller team should look like, though. Across the sources I counted multiple different proposed structures, and none of them match. The one that maps best to enterprise infrastructure, where I spend my days, is Drew Breunig’s. He splits the role into application PMs, who move fast and sit with customers, and foundation PMs, who own the platform, compliance, and quality underneath the application teams.

Where they disagree

The biggest disagreement is over validation: do you still need to test whether an idea works before shipping it, or is shipping the test? Cat Wu at Anthropic is on the “shipping is the test” side. Her argument is that models improve so fast that a plan made at the start of a project can be wrong by the end of it, so her team ships quickly and revisits what they’ve built at every model release. In her version of the job, the PM names the few non-negotiables and lets go of the rest.

Leah Tharin argues the opposite. The slow part of building something valuable is finding out whether people want it, and that depends on how many users you can learn from, no matter how quickly the code gets written. Even at Smallpdf, the document-tools company where she used to work, experiments across 50 million users took weeks to produce a real answer.

Marty Cagan’s build-to-learn versus build-to-earn distinction is the middle position, and roughly where I currently land. Prototype and learn as fast as you like, but a prototype exists to answer questions, and a product has to work at scale for people who pay for it, which hasn’t gotten any cheaper.

They also split on the PM-to-engineer ratio. Oji and Ezinne Udezue, both longtime product leaders, argue PMs are the constraint now, so the ratio should go up. The strongest counterpoint is Microsoft’s 2025 cuts: of 1,985 roles cut in Washington state, 817 were engineers and 373 were product managers, roughly one PM for every two engineers, a far bigger share of PMs than any org I’ve worked in. The sources do agree on one thing here: scope per PM keeps growing.

Three questions for your team

  1. As engineering gets much faster over the next year, what breaks first in your org? The candidates across the sources are discovery, decision speed, validation, go-to-market (getting the thing sold and adopted), and your capacity to review and absorb everything that now gets built. Rejecting the premise is a legitimate answer. John Cutler calls “the bottleneck moved to product” a lazy metaphor, and points instead at the pace of knowledge turns, meaning how quickly the whole system learns.

  2. When a prototype can act as the spec, what is the PRD still doing for you? And who owns the evals that define “good” for your AI features? Uber’s experience suggests the PRD survives as the record of why, with prototypes carrying the what. Their line that “two hours of prototyping unblocked four weeks of discussion” matches what I’ve seen. As for evals: they’re the repeatable tests that grade an AI feature’s output, which you need because AI answers aren’t simply right or wrong. OpenAI’s Kevin Weil calls writing them a core skill for product managers. In most organizations I’d wager that job currently belongs to nobody.

  3. Where do the seniors come from, and what is their scope? Everyone wants smaller and more senior teams, but the junior work people used to build judgment on is the first thing AI absorbs. Stanford’s payroll data shows employment for early-career workers (ages 22-25) in the jobs most exposed to AI down 16% relative to other workers, while experienced people in the same jobs have held steady. Teresa Torres has the rule I find most convincing: an expert using AI beats AI on its own, but juniors who let AI do all the analysis never build the skills to become that expert. LinkedIn replaced its associate product manager program, the traditional way into the role, with a “Product Builder” program that trains generalists across product, design, and engineering. That’s one answer to the scope question; the sources’ proposed structures all differ, so it’s yours to decide.

The reading list

If you only read three of these:

Melissa Perri has the best take I’ve read on what matters most for PMs right now:

Measure your productivity by how often you changed a decision that mattered, how often you saw around a corner, how often a senior leader walked out of a room thinking differently because of something you said. How often your shipped features translate into real customer outcomes is what matters.

AI can speed up some of what’s on her list. The judgment behind it still comes from years of practice, and there are no shortcuts to that.

From “human in the loop” to “human with agent in the loop”

I dislike the phrase “human in the loop” because it cedes authority to the machines. Let’s flip the narrative. It’s our loop, we work the same way we always have, now we recruit agents to join the team. An agent-assisted process need not be a black box that takes in prompts and emits features.

I’m reminded of a beautiful idea of Brian Marick’s that Ward Cunningham once implemented and demoed to me. Brian called it visible workings. Ward’s implementation made an Eclipse Foundation workflow visible. When the UI presented a form, it added an Explore button that you could use to inspect the business rule that motivated the form.

Let’s do agentic software development like that. Not as a loop we’ve been excluded from, instead as one we invite agents into.

— Jon Udell, “Doctor, it hurts when agents create unreviewable PRs.” “Don’t do that.”

AI enthusiasts are in a race against time, AI skeptics are in a race against entropy

Fantastic post by Charity Majors about how both AI enthusiasts and AI skeptics have good points—but the problem is that they can’t play nice long enough to understand each other’s views and work on making things better together. There’s a way forward though:

The first move is to mend the gap in shared reality. Tell the whole story. You’re allowed to celebrate and get excited about big wins and advances with AI — but invite reflection on the costs and downstream consequences. People are also allowed to surface costs and consequences, but don’t leave out the context of what was achieved or attempted. Be very clear that your shared goal is to figure out how to collectively deliver more wins, bigger wins, with fewer unpredictable costs, not to clamp down on innovation.

She also has some very specific feedback for the enthusiasts among us:

Even if you’re an enthusiast, do you care about reliability, customer happiness, product coherence, retaining great employees, and improving engineering outcomes? If so, you should be able to find common ground with other people who care about these things. Align on reality, take a step, check in; rinse and repeat. You don’t need to trust or think that each other is right about everything, but you must believe that you inhabit the same reality, share some of the goals, and that each of you are reasonable actors, capable of changing your minds.

I am dreading our LLM-written incident report future

Lorin Hochstein writes about generative AI in the context of incident reports, but the points are more broadly applicable. I have seen a big wave of “don’t let AI do your thinking for you” posts recently1, so I think lots of folks are pulling back a little bit on the “just let AI do everything” rhetoric (a good thing in my opinion!). As to why Lorin isn’t a fan:

In my view, LLM-generated incident write-ups are more dangerous than using LLM for coding or for AI SRE style tasks. For coding tasks, there’s always a testing step to check that the code exhibits the desired behavior, even if nobody looks at the code itself for meaningful details. For AI SRE tasks, either the LLM output helps you resolve the incident, or it doesn’t. In both cases, Nature is the ultimate arbiter of the LLM output. But incident write-ups aren’t like that. The consequences of a poor report aren’t immediately apparent the way incorrect code or an incorrect operational diagnosis are in the moment. Instead, we get incident reports that have the superficially correct form, but are actually incorrect, with no obvious test for correctness.

Footnotes

  1. For examples see No One Else Can Speak the Words on Your Lips, Guidelines for Respectful Use of AI, Writing Is Fundamental to How We Think, and I know you didn’t write this.

We Should Be More Tired Than the Model

In a post about slowing down our agent use deliberately to increase quality and understanding Vicki links to Nolan Lawson’s Using AI to write better code more slowly:

If you’re the kind of developer who uses agents to write multi-hundred-line PRs that you barely understand yourself, I’d invite you to slow down a bit and try this other, slower style of “vibe coding.” Ask an agent how your PR works and how it might fail. Have it write Markdown docs with Mermaid charts if necessary. Use Matt Pocock’s /grill-me skill until you understand the entire PR front-to-back.

You might not be more “productive” in terms of raw lines of code. You might burn a ton of tokens just to find out that your entire plan was wrongheaded from the start. But I find this style of coding to be a more super-powered version of the kind of programming I was already trying to do before LLMs: careful, methodical, quality-obsessed, focused on making things better for the next coder.

So take a deep breath, slow down, try this technique, and see if you don’t enjoy writing better code more slowly.

Vicki concludes:

All of these negate the supposed speed up effects of LLM-generated code in the short-term by adding friction, and yet, in the longer term, make me better at using the tool, because they solidify my own foundation instead of the foundation models’.

We should be more tired than the model.

We should be more tired than the model. When I saw the post in my feed I thought I misread the title (or maybe it was a typo). But after reading it I realized that’s already where I’ve been heading organically myself. I went through my “look how fast I can go weeeeee!” era pretty quickly. While it was fun (check out all these side projects!) it was not just exhausting, I also found myself understanding less and less of what I was doing (which sucks all the fun out of the work anyway).

So I’ve been slowing down as well. Reading and editing even more than before. Challenging the agent for longer. Taking the time to close loops to update skills/context documents before moving on to the next thing. Never skipping the “let’s write a design doc and implementation plan together” step.

I do think I am more tired than the model these days. But I also understand and learn more, which not only improves the quality of the output now, but also makes it better tomorrow. I think the speed trade-off is worth it.

I Left Port 22 Open for 54 Days: An SSH Honeypot Study

This post is a fascinating look at how botnets actually work. I don’t want to spoil the takeaways so I’ll just quote this (but you should read the whole thing):

Your server isn’t special. Nobody is “targeting” it. Every IP address on the internet is being continuously probed by automated systems. Within seconds of exposing port 22, you will receive login attempts. This isn’t a question of “if” but “when” — and the answer to “when” is “immediately.”

Org Design in the Age of AI

This post on org design really resonated.

Most companies today are using AI the way you’d use a faster horse — to make the existing structure run a little better. The companies that pull ahead will be the ones willing to ask a harder question: what would we build if we were designing this organization from scratch, today, knowing what AI can do?

We have to seriously rethink the SDLC, design it from scratch in the context of how our own organizations work. It’s not about a global “right” process any more. The question now becomes “How can the humans in our team, at our company, at this point in time, work best together to serve our customers?”

The peril of laziness lost

Oh, this is very good. On the classic take that the core characteristic of outstanding engineers is “laziness”:

The problem is that LLMs inherently lack the virtue of laziness. Work costs nothing to an LLM. LLMs do not feel a need to optimize for their own (or anyone’s) future time, and will happily dump more and more onto a layercake of garbage. Left unchecked, LLMs will make systems larger, not better — appealing to perverse vanity metrics, perhaps, but at the cost of everything that matters. As such, LLMs highlight how essential our human laziness is: our finite time forces us to develop crisp abstractions in part because we don’t want to waste our (human!) time on the consequences of clunky ones.

The best engineering is always borne of constraints, and the constraint of our time places limits on the cognitive load of the system that we’re willing to accept. This is what drives us to make the system simpler, despite its essential complexity.

This is exactly why I practice Fear-Driven Development, and why everything I do in code includes multiple versions of asking Claude Code “do we need this?” and “is this adding bloat?”

What actually changed about being a PM

I've decided I'm practicing FDD now. Fear-Driven Development, in the tradition of TDD but less rigorous and more sweaty. Every time I send a pull request, which happens a lot now, I'm terrified of an engineer sending it back to me and asking me to please stay in my lane and stop sending them slop. So I plan, write specs and implementation plans, test thoroughly, and distrust the agent's inevitable confidence.

I'll come back to that. The loudest take on PM work right now is that AI is collapsing the role — that we're one product cycle away from redundancy, or being reduced to prompt jockeys. That hasn't been my experience at all. Over the last five months at Cloudflare the job got more hands-on, harder (brain fry is real), but also a lot more fun.

Continue reading →

AI might actually need more PMs

Amol Avasare, Anthropic’s Head of Growth, said on Lenny’s Podcast that maybe PM jobs are not going to shrink as much as we may have thought…

Rather than immediately replacing PMs, AI is currently increasing engineering leverage the fastest, which creates new pressure on PMs and designers. In larger organizations, that may actually increase the value of PMs who can guide priorities, manage alignment, and sharpen decision-making—especially as engineers take on more “mini-PM” responsibilities.