My daughter, who's 11, has been doing some vibe coding.
The other day she looked over my shoulder at my IDE and asked: "Dad, was there ever a time when a developer had to write each one of those characters by hand?"
"Yes. Twelve months ago."
"But... how did you know what to write?"
Which was a weird, because up until recently, "knowing what to write," was sort of the whole ballgame.
I recently picked up woodworking as a hobby, and have found a lot of similarities to coding. For most of my life, developers have considered themselves craftsman. We'd hand place each character.
Then, about three years ago, the coding gods dropped power tools on us, and now we're all trying to figure out what this means for the profession. Do we still need handsaws? Will the circular saw build the bench for us? Does this mean we should be able to make 10x more birdhouses in the same amount of time?
It is an exciting, and scary time to be a professional software developer. But there's also never been a better time to learn how to build software.
If this spoke to you, check out the full video here:
Top comments (24)
Hey @greggyb. Hope you are having a good morning, afternoon, or evening!
This process felt like yesterday for me! I remember when it stopped around my undergraduate years when ChatGPT was first announce.
The process was fun because it enabled my brain to think critically. Nothing wrong with AI and I think it is a good tool. I just feel like we are relying it too much to the point where we can't even explain what the code does.
Compare to the old process, at least you were actively try to problem solve by search up documentation, reading other people's code, etc. For Vibe Coding, you just "trust".
Midway, I was writing an article on what @sylwia-lask posted, but going to reference this post as an addition! Thanks for sharing!! :D
I think the scariest thought patterns we get caught up in as devs are to project growth on to part of the future and view another variable as static. We're not going to be producing the same amount of code with more input — we are seeing an explosion in code churn and the feedback loops created. Managing this feedback loop is a vital skill that rewards system thinking the same way coding always has.
AI isn't just increasing code output it's increasing the rate of iteration, experimentation, and change. The challenge is no longer generating code; it's understanding the system, managing complexity, and ensuring the feedback loop produces better outcomes rather than more noise.
i’d push back slightly. knowing what to write used to mean syntax and API names. knowing what NOT to write - that part hasn’t changed at all. the bad tradeoff, the overfit solution - Emma will still need that judgment, just later.
The woodworking analogy is spot on. Power tools didn't replace carpenters â they let one carpenter produce more work and focus on the creative parts. Same with AI: it shifts the bottleneck from "can I write this" to "do I know what's worth building."
I've found this especially true in the agent space. We're building an automated customer acquisition tool, and the AI generates outreach messages, manages timing, even handles responses. But the quality still comes down to judgment: knowing which channels work, what messaging resonates, when to stop pushing. The AI handles the volume; the human handles the strategy.
Your daughter's follow-up question ("how did you know what to write") is actually the key question for the next decade of software development. Syntax is automated. Judgment isn't.
This is so nice
Ah, the good 'ole TRS-80. I remember those days well. Having a screen and keyboard was quite the upgrade from punch cards.
Punch cards! Hah! We recycled the used ones for note taking. Later, I got an Apple ][+ with a whopping 48K Ram, and disks that really flopped. And held 1.2 or 1.4K info, as I recall.
I might still have a cassette tape or two sitting around from those days....
The follow-up question is always more interesting than the first. Hand-writing code versus AI-generated code isnt really the comparison that matters. The real shift is in what "understanding the machine" means. In the old days, you had to understand at a low level to build anything useful. Now you can be productive without that understanding — but you hit a ceiling fast when something breaks. I learned to code by debugging. Breaking things, reading error messages, staring at assembly output. That process built intuition that I cant imagine how youd get otherwise. Not sure thats an argument against AI tools — but it might be an argument for learning the hard way first.
Emma's follow-up is the whole job, and the hopeful part is that her question survives every tool you named. The circular saw changed how you cut, not how you know what to build or when it's done. "How did you know what to write" just moved up a level, from how do I express this to how do I know this is the right thing and that it's right. She already has the instinct. A kid who asks "but how did you know" is asking the exact question the profession was built on. She'll feel its full weight the first time the AI hands her something that runs and isn't what she meant, and that's the moment she meets the craft you spent a career on, not the moment it disappears.
I do think we're shifting into a more systems level thinking to figure out how to properly use these tools. I feel like in general a lot of coding agents (which is like the most prominent I suppose developer AI tool) have a blank canvas problem. Ultimately, we do need better tools that enable developers to define orchestration as they understand what they need, enable real verification, review gates, human in the loop, ability to steer mid run and correct when agents drift.
The interesting part is that the question shifts from syntax to agency. Kids do not inherit the same boundary between "writing code" and "directing software" that older developers do.
That makes the teaching problem different too. The durable skill is not memorizing every construct first; it is learning how to specify intent, inspect the result, and understand enough of the system to know when the tool is lying or taking shortcuts.
Learning the fundamentals of coding/programming is as easy as pi. There are numerous organisations that cater for that like kidscancode.org I would say these skills are as important to get some familiarity with as arithmetic and broadening your general knowledge, especially in the STEM fields.
I am a long time software programmer and I fully embrace "vibe-coding" with the explicit understanding that you're the master in control, and ultimately decide what must be done for any particular project. If you don't then that is fine, as long as you are committed to not be a passive participant, but meaningfully engage in the process, so you keep on learning and growing.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.