I still write production code. That is a leadership choice.
I sit in the codebase on purpose. It is the cheapest way I have found to keep product judgment honest.
Decks lie. The branch does not.
I have sat in enough roadmap reviews to know the pattern. A slide says the AI feature is 80 percent done. The demo is clean. The team is proud. Then I open the repo.
There is no eval for the unhappy path. The fallback is a toast. Cost is unmeasured. The agent can write to the system of record with no owner on the other side. That feature would have survived the meeting. It does not survive a leader who can read the pull request.
This is not about being the smartest engineer in the room. I am not. It is about refusing to manage a product I cannot inspect.
Cheap generation made this more important, not less
Two years ago, the argument against a product leader who codes was time. Strategy, org, board, hiring. Leave the keyboard to people whose job is the keyboard.
Then the cost of producing a prototype dropped toward zero. Now every team can generate ten versions of the thing by Friday. The scarce skill is knowing which version should exist, and which ones are costume.
I can only make that call if I still know what "done" feels like in production. Latency you can feel. A guardrail that actually fires. A test that would have caught last week's miss. You do not get that from a status doc. You get it from shipping.
So I still build. Product Leader Academy, the community and jobs platform I run, is software I design and ship. Same for the rest of the 2026 portfolio. The point is not the count. The point is that the operating model stays in my hands: I can tell a good AI feature from a wrapper because I have had to keep one alive.
What this does to the team
Engineers do not want a PM who plays developer. They want a PM who can tell when the architecture will not survive the second thousand users, and who will cut scope instead of adding a standup.
Sitting in the code changes the questions I ask. Not "when will this be done." What happens when the model is sure and wrong. What it costs per active user, not per call. Where a human stays in the loop. Whether we are the system of record or someone else's customer.
Those questions only land if the team believes I will recognize a real answer.
I still hold the strategy, the roadmap, and the room. I still hire people better than me at the parts I should not own. The code is not a hobby. It is how I refuse to go stale in a year when every roadmap has an AI column and most of those columns are fiction.
If you want a product leader who can set the bet and then read the branch, that conversation starts here.