Dev.to WebDev 🛠 Dev 👁 0 📖 6 min read

I can't vibe code. My kids can

I have been writing software for 15 years. I have opinions about naming, about error handling, about where a function should end. When I use a coding agent, I read every line it produces. I read its explanation. I argue

I have been writing software for 15 years. I have opinions about naming, about error handling, about where a function should end. When I use a coding agent, I read every line it produces. I read its explanation. I argue with its choices. I ask it to refactor. Then I ask it to refactor the refactor.

My kid does none of that. He opened Claude Code and typed this, exactly like this, in one breath:

i whant to make a game. make a realistic brownd house and make a realistic tabel and make a Computer on top of the tabel make a garage put a car in the garage make so i have a job evry 5 minutes in the job i have to multiplied and plus make so i can enter the Computer in the computer i can console my job for another 5 minutes and make so ther is a driving lesen if i pas the Driving lesen i can drive my car make so the job is Realistic make my character realistic make in the computer Some games make so i can do a backflip

Two minutes later he had a 3D game. A house, a garage, a car, a cashier job with math questions, a driving test, two minigames, and a backflip on the B key. He pressed B first. Then he kept going for two hours.

He shipped more in that evening than I ship in a 1-2 days with the same tool. I have been thinking about why ever since.

He never reads what the agent says

This was the first thing I noticed when I looked back at the session.

The agent writes a lot. Every change comes with a report: headers, a table of controls, where things are on the map, what it chose and why, a warning that it has not tested the game itself, a note about a backup copy. These reports are good. They are written for me. They are the kind of thing I would want from a contractor.

He does not read them. Not one. The next request usually comes a few seconds after a reply that would take me a minute to read. When the agent asked him a question, he did not answer. When it asked him to send an error message from the browser console, he did not. When he forgot how to buy the house in the game, he did not scroll up to the answer he already had. He just asked again.

He has a different loop, and it is shorter than mine:

  1. Say what you want.
  2. Switch to the game.
  3. Check if it is there.
  4. Say the next thing.

Step three is the only review. If the house is on screen, the house feature is done. If the car turns the wrong way, the next prompt is "fix the Directions." Two words. It was a real bug. The agent found that two keys were swapped and fixed it. That is a complete bug report, a fix, and a verification, and he never read a line of code or a line of explanation.

I cannot do this. I know too much. When I see a 1,000-line HTML file with the whole game in it, I got a shiver, I see the global state, the three timers that could drift, the physics that depend on frame rate. I want to fix it. He sees a house with a car in a garage. He is right, and I am also right, and only one of us is having fun.

The code is not good. The game is.

I did look at the code. I had to.

It is one file. Everything is global. Every feature is bolted onto the previous one. The second session doubled the map size and quadrupled the trees, and the agent noted the game "may run slower on weak computers." The economy is nonsense: at one point he asked for a dollar every second just for playing, and the agent politely pointed out this was more than the job paid. He did not care, because he was not reading.

And yet. The game works. Two players on one keyboard, split screen, each with their own camera. Traffic that stops at red lights. Police that arrest you for speeding. Food delivery that finds whichever house you are standing in. A messenger app where you text the second player (his little sister, who is sitting right next to him), and she writes back. He asked for all of this, and all of it is there, and all of it runs.

If I had built it, it would be cleaner, faster, better structured, and it would not exist yet.

Rules, then cheats

The best part of the session is what he did to his own rules.

He asked for police, a speed limit, and a car that could go twice the limit. Then he got arrested a few times. So he asked for a yellow light. Then he raised the limit to one below the car's top speed. Then he asked for a setting to choose the limit. Then a setting to choose the car's top speed. The agent noted, in its usual dry way, that with the right settings he could never be arrested.

He did the same with money. He asked for a job. Then a way to skip the wait for the job. Then easier questions. Then the job from home. Then money for just playing. Then a cheaper house. Then a settings box where you type in how much money you have.

I read this at first as a kid dismantling his own game. It is not. He also asked to make the minigames harder, and then asked for more of them. He makes the boring parts easy and the fun parts hard. He is tuning, not cheating. Badly, by my standards. But with a very clear idea of what the product is for.

Which is the second thing he does that I do not. He has a product in his head, and every request is measured against it. I have a codebase in my head, and every request is measured against that.

Good enough

Here is where this stopped being a story about my kid.

The game is good enough. It does what he asked, it runs, he plays it, his sibling plays it with him. That is the definition. Not clean, not fast, not something I would put my name on. Good enough.

And then I thought about every stakeholder I have ever worked with. The product manager, the client, the founder, the department head. What did they want?

They wanted it fast and good enough.

They did not read my pull request descriptions either. They did not care which pattern I used. They had a goal, and they checked if it was done. When it was not, they told me in two words what was wrong. When it was, they asked for the next thing. That is my kid's loop. That has always been the stakeholder's loop. I just never had a tool that let me watch it run without an engineer in the middle.

So maybe vibe coding is not a lesser way to build software. Maybe it is what the person who asked for the software was doing all along, and the engineer was the part that was slowing it down. For most software. Not for the pacemaker. Not for the bank. But for the thing a stakeholder describes in one run-on sentence and wants by Friday? My kid's loop beats mine.

WDYT? Am I too old for this vibe coding thing? In habits. Is there a way to unlearn reading the diff, or is that just who I am now?

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.