Jeremy Scheff captured something a lot of developers are feeling right now. “Programming turned into one of the greatest jobs you could imagine,” he wrote in what he’s calling his obituary for programming. “You got paid to work on tricky little logic puzzles. The trickier the puzzle, the more you got paid.”
Notice the past tense.
Simon Willison picked up the thread over the weekend, and it’s resonating because Scheff isn’t wrong. For a lot of us, the appeal of programming was never building the next unicorn startup or changing the world. It was the puzzle. The satisfaction of turning a messy problem into clean, working code. Getting paid well to do something that felt like play.
Coding agents are getting good enough that this is changing. Not in some distant future, but right now.
An Ask HN thread went up yesterday: “How to deal with shipping AI-written code you don’t understand?” That’s not a hypothetical. Someone is actually dealing with this. They’re using AI to generate code, it works, they ship it, and they’re not entirely sure what they just shipped.
This is the flip side of Scheff’s obituary. The puzzle was the good part. What happens when the puzzle gets solved for you?
You can say “well, just read the code and understand it.” But that’s not always realistic. AI-generated code can be verbose, use patterns you’re not familiar with, or solve the problem in a way you wouldn’t have. Understanding someone else’s code takes time. Understanding code from a system that doesn’t think like you do takes even more time.
And if you’re spending your time trying to understand AI-generated code rather than writing it yourself, what exactly is your job now? Code reviewer? Quality assurance for a tireless junior developer who works in milliseconds?
OpenAI published research on improving ChatGPT’s performance in low-resource programming languages. They built new evaluations for languages like COBOL and created benchmarks for tasks like SQLite development and COBOL migration.
The timing is notable. These are exactly the languages where human expertise is scarce and expensive. COBOL runs critical infrastructure at banks and government agencies, but finding developers who know it well gets harder every year. It’s boring work. It’s maintenance work. It’s the kind of work that doesn’t involve tricky puzzles.
It’s also the kind of work where an AI that’s competent, but not brilliant, is immediately useful.
Scheff’s obituary resonates because he’s mourning something specific. Not programming as a profession (that’s not going anywhere soon), but programming as a particular kind of intellectual craft.
The thing about puzzles is that solving them is the point. When you outsource the solution, you haven’t saved time on the puzzle. You’ve eliminated the puzzle. And if the puzzle was why you showed up, that’s a problem.
This isn’t about whether coding agents are good or bad. They’re clearly useful. They’re going to get better. More people will use them. But “useful” and “satisfying” aren’t the same thing.
Programming attracted a certain kind of person: someone who likes breaking down complex problems, who gets satisfaction from making things work, who doesn’t mind spending an afternoon debugging something obscure. The job worked because the work itself was rewarding.
What happens when that work goes away? You can pivot to architecture, to product, to management. You can focus on the problems AI can’t solve yet. You can use AI as a tool and find satisfaction in building bigger things faster.
But if what you loved was the puzzle, those aren’t replacements. They’re different jobs.
We’re not speculating about a future where AI might change programming. It’s changing now. The HN thread about shipping code you don’t understand isn’t theoretical. OpenAI improving COBOL support isn’t a research curiosity; it’s targeting real migration projects happening today.
Scheff wrote an obituary, but the patient isn’t dead. It’s transforming into something else. Maybe something better, in aggregate. More people able to build software. Fewer bugs. Faster iteration.
But also fewer puzzles. And for the people who became programmers because they loved the puzzles, that’s a real loss. Not an economic loss. An emotional one.
You can adapt. Learn to work with AI tools. Focus on higher-level problems. Find satisfaction in what you build rather than how you build it.
Or you can mourn the thing that’s going away. Both reactions are valid.
The greatest job you could imagine is still a job. It’s just becoming a different one.
One email at dawn. The five stories that mattered, with the bits removed and the meaning kept. Free, for now.