You Don’t Have to Write the Code to Build Something Worthwhile
I keep hearing people dismiss AI-assisted software development as “vibe coding,” as if you haven’t really built anything unless you can write the underlying code yourself.
I think that misses what’s happening.
You can drive a car without knowing how an internal combustion engine works. You don’t need to understand fuel injection, electrical systems, or how to rebuild a transmission to use a car intelligently and get enormous value from it.
Automotive engineers and mechanics still matter. But the technology matured enough that operating the machine no longer required understanding every mechanism inside it.
I think software is going through a similar transition.
For decades, there was a huge technical barrier between having an idea for an application and building it. You either learned to program or hired someone who could.
AI is beginning to lower that barrier. And while the tools are new, the direction isn’t.
Computing has always moved through layers of abstraction: from machine code and assembly to higher-level languages, libraries, frameworks, and APIs. Each layer lets people build without having to manage everything underneath it.
Most programmers today aren’t writing machine instructions in binary. A Python developer is already working on top of decades of engineering by other people.
Nobody says, “You didn’t really build that because you didn’t write the assembly.” Nobody tells a web developer they aren’t a real developer because they didn’t design the processor.
We accept those layers. AI is potentially the next one.
For decades, humans had to learn programming languages to tell computers what to do. Now computers are becoming capable of taking instructions in our own language and translating them into code.
That’s a profound change. And I think it changes where the bottleneck is.
“Can you code it?” has long determined whether many people could get an idea off the ground.
Increasingly, they can get started. Then they have to answer another question: “Do you know what to build?”
That requires more than an idea and a prompt.
You need to identify a real problem and explain what you want clearly enough for something useful to come back. You need to break a large problem into smaller pieces, notice when the AI misunderstands you, and test what it produces.
You need to understand your customer. Make product decisions. Recognize when something technically works but still isn’t good, then figure out what needs to change.
All of that takes judgment. Getting code onto the screen doesn’t settle any of it.
This is where I think some of the criticism of “vibe coding” gets confused.
Programming knowledge is still valuable. An experienced software engineer understands things a non-programmer doesn’t. Security, architecture, scalability, performance, databases, networking: these areas still require deep expertise.
Using AI doesn’t give you that expertise by default.
But there’s a difference between saying expertise matters and saying everyone needs the same expertise before they’re allowed to build anything useful.
An automotive engineer understands things about a car that most drivers never will. You still don’t have to know how to manufacture a transmission to drive to New York.
Increasingly, you may not need to know how to write every line of code yourself to build a useful software product.
You do, however, need to think through what you’re doing.
If you blindly accept everything an AI generates, you can create garbage incredibly quickly. You still have to judge whether the result does what you asked, whether you asked for the right thing, and whether it’s good enough for the people who will use it.
AI makes that judgment more important.
For someone building a product, more of the work may shift from “How do I write this function?” toward “What should this product actually do?”
That opens up software development to people who have spent their careers doing something else.
Designers, filmmakers, musicians, and editors. Doctors and scientists. Accountants, teachers, and small business owners.
People who know the problems in their industries extremely well, but who historically couldn’t build software to solve them without learning to program or paying someone else.
Those people may now be able to turn decades of experience into a working product. They can try an idea, see where it falls short, and keep working on it.
That’s the part I find exciting.
Someone with a good software idea may no longer have to spend years becoming a programmer before they can test it. They can start building while the problem is still right in front of them.
I don’t think that means professional programmers disappear.
Mechanics didn’t disappear when cars became easier to drive. Automatic exposure didn’t make photographic expertise worthless. Making a tool more accessible doesn’t mean there’s nothing left to learn or no reason to hire someone who knows it deeply.
Expertise remains valuable as access expands. Both can happen at once.
And when more people get access, some of them will make things they previously couldn’t. People with useful ideas who were held back by the cost or difficulty of getting them built.
That’s what I think we’re beginning to see with AI-assisted development.
Call it “vibe coding” if you want. The name doesn’t bother me. Dismissing everything built with it does.
For most of computing history, humans had to learn the language of computers. Now computers are beginning to understand ours.
As that gets better, knowing how to write the code may become less of a barrier. Having something worth building, and the judgment to build it well, may matter more.
