Answer Keys Are Authored, Not Found

James Phoenix
James Phoenix

Addy Osmani says anything with an answer key gets automated, so build your career on the ungradeable parts: judgment, taste, accountability. He is right about the diagnosis. But he treats “ungradeable” as safe ground you retreat to. It isn’t. Answer keys are written by people, and the best career move is to be one of the people writing them.

Date: July 2026 | Riffs on: Addy Osmani, The Ungradeable Career


His Argument

School was answer keys all the way down. Every problem you were given had a known solution, and someone else graded you against it. Addy’s observation is that this describes most of engineering work too, and if a problem has an answer key, an agent will eventually solve it better and faster than you. Anything gradeable by someone else is getting automated, so the last decade’s prize skill, being the fastest solver, is depreciating on a schedule.

His advice follows from that: define problems instead of just solving them, cultivate taste, shift from doing to directing, sprint the last mile that agents can’t finish, and own what you ship. Focus on the ungradeable part of the career.

I agree with almost all of it. It is the same conclusion as The Coder is Obsolete: the typing seat is gone, the judgment seat stays human. And “define the problem” is why English became the most important language for software engineers.

My Problem With It

The essay treats “has an answer key” as a fact about the problem. It isn’t. It is a fact about your tooling, and tooling is built by someone.

School’s answer keys didn’t fall from the sky. A teacher wrote them. In engineering, the answer keys are things we write every day: unit tests, evals, CI gates, lint rules, type signatures. Each one takes a task that used to need human judgment and turns it into something a machine can check.

So the line between “gradeable” and “ungradeable” is not fixed. It moves every time an engineer writes a new check. That gives you two ways to respond:

  1. Retreat. Keep moving toward whatever agents can’t grade yet, and hope the line stops advancing. It won’t, and your ground shrinks every quarter.
  2. Author. Be one of the people writing the checks. Hand each newly checkable task to agents, and move your own attention up a level.

The second posture is strictly better, because every check you write keeps working after you stop paying attention to it. It is a free employee that grades forever.

Taste You Don’t Write Down Is Wasted

Addy’s advice on taste is to earn it through reps and keep your alpha ahead of the models. The reps part is right, and I’ve made the same argument in The Struggle Is the Product. But there is a step after the rep that his essay skips.

When your taste fires on agent output (“this error handling is wrong”, “this coupling will bite us”, “this test asserts nothing”), you have a choice. You can fix the code and move on, which means you will make the same catch again next month. Or you can ask: can this objection be turned into a check?

Most of the time it can. A lint rule. A type that makes the bad state impossible. An eval case. A property test. That is the whole idea behind ESLint Rules Are Programs, learning loops, and Skills Need Evals, Not Vibes.

Taste kept in your head scales to one person, eight hours a day, and leaves when you do. Taste written into a check runs on every commit, forever. The way to keep your alpha ahead of the models is not to hoard what you know. It is to cash in yesterday’s taste as today’s checks, then go back to the frontier and earn more.

Directing and the Last Mile Are the Same Skill

Two of Addy’s five directives are secretly one directive.

“Shift from doing to directing” means scope the task, define done, verify the result. But defining done and verifying the result is writing an answer key. As I argued in The Five Levels Are Gated by Verification, you don’t get to delegate more because you got more senior. You get to delegate more because you built more checks, so the environment can tell the agent it’s wrong without you in the room.

“Sprint the last mile” has the same root. The last 20-30% is yours today because no check covers it yet, so only a human can say whether it’s done. But that region shrinks with every check you write. The engineers who finish the last mile fastest are the ones who spent the calm weeks making it shorter. That is the mechanism behind The 30% Cliff and the verification ladder.

What Actually Stays Yours

Encoding everything still leaves a core that no check can hold, and it is worth naming precisely, because it is smaller than “judgment”:

Leanpub Book

Read The Meta-Engineer

A practical book on building autonomous AI systems with Claude Code, context engineering, verification loops, and production harnesses.

Continuously updated
Claude Code + agentic systems
View Book
  • Choosing the problem. Which thing is worth pointing the machinery at. This is the part of the job with no scoring function, the same line I drew in Autonomous Loops Need a Scoring Function.
  • Auditing the checks. Every answer key is a proxy for what you actually want, and agents will happily optimize against a broken proxy forever. Someone has to notice the day that “passes the checks” stopped meaning “the work is good.”
  • Answering for it. Accountability can’t be encoded because it isn’t information. It’s a stake. “The AI did it” fails as a defense for the same reason “the compiler did it” always has. Your name is on the change.

That triad is the genuinely ungradeable career. Everything else is territory waiting for a check.

What To Do On Monday

Try this for one week. Log every judgment call you make on agent output: every rejection, every “this smells wrong”, every manual look before merge.

At the end of the week, sort the log into two piles:

  • Objections you could have written down as a check. Encode them, one by one.
  • Objections you couldn’t. This pile is your actual job description, and it will be shorter than you expect.

Then watch the ratio over time. If you keep making the same calls by hand month after month and encode none of them, you are farming reps without banking them. That is the one position this essay should scare you out of.

One Sentence

Don’t retreat above the gradeable line and hope it stops rising. Write the answer keys yourself, hand the graded work to agents, and keep only what no check can hold.

Related

Topics
Ai AgentsCareerSystems ThinkingTeaching

Newsletter

Become a better AI engineer

Weekly deep dives on production AI systems, context engineering, and the patterns that compound. No fluff, no tutorials. Just what works.

Join 306K+ developers. No spam. Unsubscribe anytime.


More Insights

Cover Image for AI Eats Cliché, Not Complexity

AI Eats Cliché, Not Complexity

Most software is not being eaten because it is simple. It is being eaten because it has been built ten thousand times before, and every one of those builds is sitting in the training data. Complexity was never the fault line. Originality is.

James Phoenix
James Phoenix
Cover Image for How to Automate Agentic Engineering Failure-Mode Detection in the SDLC

How to Automate Agentic Engineering Failure-Mode Detection in the SDLC

**Every engineer running Claude Code is already writing a diary of where the SDLC breaks**: every stalled task, every abandoned plan, every loop they gave up on and finished by hand. Nobody uses that diary, because using it means a human reads a colleague’s session, and that is a trust violation no team will accept. Here is how to turn that diary into a working pipeline anyway, without a single person ever reading a transcript.

James Phoenix
James Phoenix