Wish-Driven Development: Excitement Over Anxiety
Contents
Notes from the post-vibe-coding era
I'm a pretty easygoing person. Even the hardest stretch after I moved to the US didn't make me as anxious as this year has. Every morning brings a new model, a new tool, a new way to work, and a small fear of falling behind.
But anxiety is the small feeling. The big one is excitement.
Programming used to feel like magic, and like all magic it belonged to the few who had learned the spells. Everyone else had to ask us.
AI didn't kill the magic. It federated it.
These days everyone runs their own node: you make a wish in plain words, and before long the thing exists. I can build anything now. So can you.
Andrej Karpathy named this vibe coding in February 2025: you "forget that the code even exists." By November it was the Collins word of the year. A year later he proposed "agentic engineering" for the professional version. The novelty is over.
A staircase of wishes
Looking back, the way I program changed through a chain of wishes.
The first wishes were small: finish my line, fix this error, put the chat in my editor, move it to the terminal, let a few agents argue over the plan. Then they got bigger:
- "Stop asking me for permission." So I built harnesses: rules, hooks and checks that let an agent run alone.
- "Let me leave my desk." Tailscale turned my Mac mini into a real workstation I can reach from anywhere. From my phone I run many agents at once, first with Moshi and herdr, and these days mostly with Orca.
- "Never stop." My agent teams work through the night, and loop engineering (loops that prompt the agents so I don't have to) keeps them going. Grok Bot helps too, playing product manager, builder and verifier.
Today I use all of it together, with one memory the agents share. Every step felt like the top until I stood on it. I don't know the next wish yet, but I know I'll make it.
Half an hour to production
Building with AI is addictive, but it's a different hook from the one that got me into front-end work.
Back then, the high was learning. I went from jQuery to Backbone, then Angular, then React and Vue, and each one let me build interactions I couldn't the year before. Build tools came and went even faster: Grunt, Gulp, Browserify, webpack, Rollup, Parcel. My GitHub from those years is full of small projects I made just to try the newest one.
Now, the high is the result. I describe what I want, and half an hour later it's live on a real URL, ready to check.
In 2015 I wrote a post called Why I like coding (in Chinese). My reason was the fast feedback:
People always like the things that pay off faster.
Eleven years later, the payoff comes faster than ever.
This year's State of Devs survey found the median developer "firmly in the AI era", and its report notes early evidence that prompting can feel addictive.
Vibe coding is like fishing. You never know what the next cast will bring, so you always hope it's the big one.
That's the hook. It also feels made for the ADHD brain: there's always another result on the way, another session to check, and nothing asks you to sit still.
Every upgrade resets the board
The FOMO is real. But it's the same kind I felt in the front-end years: the exciting kind. Things move so fast that what I learn today may not matter next month.
That sounds like a reason to panic. It turned out to be a reason to relax. Each upgrade levels the field, so nobody stays ahead for long, and nobody falls behind for long either. DHH said as much on Lex Fridman's podcast in August: "If you missed the past year, you can catch up to the frontier in two weeks."

So I went from anxious to having fun. I learn something in the morning and build with it by the afternoon. When something better shows up next month, I get to learn that too.
Will programmers lose their jobs?
Am I building my own replacement? In a way, I already have. Agents do most of the implementing now, and I've moved up to the work above it: deciding what to build and whether it's any good. The pure implementer, who only turns a spec into code, matters less every month. Whether that costs jobs may depend on whether tokens or people end up cheaper, and I'd bet on tokens, even though the AI build-out keeps them expensive today. I'll write about it again when there's new jobs data.
What I do know: AI is an amplifier. It multiplies whatever you bring, so what you bring matters more than ever. We used to talk about 10x engineers. Now everyone is a 100x engineer, and wearing more hats has become normal. So keep raising your own baseline, because that's what gets multiplied.
When code is cheap
We're entering the age of personal, even disposable, software. You build an app just for yourself, or one for a single job, and throw it away when you're done. Next time, you build a new one. It doesn't have to work on every device, or for anyone but you.
Does open source still mean anything, when anyone can generate their own copy of a library in an afternoon? My hands answered before my head did: this month I open-sourced the side projects I built this year. At the very least, it raises everyone's cache hit rate. Code is cheap now. The people who use it, fix it and argue about it are not.
Does programming still mean anything, when anyone can wish software into existence? Does software engineering, now that code is cheap enough to throw away? I think both do. The meaning just moved, from casting the spell to choosing the wish.
Taste, and the body
In wish-driven development, the scarce skill is taste: knowing which wishes are worth making, what good looks like, and when to stop. So taste is my first wish.
My second is a healthy body: the stamina to vibe code all day, and a life long enough to see how far AI can take me. Maybe even to cyber-immortality.
Enough said. I'm off to the gym.