In 2004, you could open a .php file, write <?php echo "Hello"; ?>, upload it to some shared hosting, and you had a working website.
You didn’t understand what you were doing.
It worked.
WordPress runs on this. Half the internet runs on this. Messy, inconsistent, borderline cursed PHP — in production, 💸 making money 💸, right now.
Same movie, different cast
A founder opens Claude or ChatGPT, types:
"build me a landing page with a waitlist and Stripe"
— and gets a nice, deployable pile of PHP in under a minute.
They don’t know what a React hook is. If you say useEffect, they’ll assume it’s a side effect of caffeine.
They don’t care.
The button works. Stripe charges money. That’s the entire definition of “done”.
Meanwhile, somewhere, a developer with 10+ years of experience is having a mild existential crisis over state management.
I know, because I’ve been that developer.
Not “was”. Five minutes ago. Give me ten more minutes and I’ll be back to arguing about state management like it matters.
What actually happens every time
We’ve seen it all before. PHP. Rails. No-code. Now LLMs. Same script. Every time.
PHP → Rails → no-code → LLMs. Same script. Every time.
”But PHP evolved”
Fine. PHP 8 is actually decent.
But that’s not the interesting part. The messy phase wasn’t a mistake. It was the engine.
Same cycle. Different actors. The messy phase isn't a bug — it generates demand for everything that follows.
Millions of terrible PHP sites created demand: for better tooling, for better hosting, for better frameworks.
The chaos was the signal.
Vibecoding is generating that signal right now. Every hallucinated API call. Every production bug in code nobody understands.
That’s not failure. That’s demand.
The part people keep missing
The question is not whether vibecoded apps are good. They’re not. Early PHP wasn’t either. That’s irrelevant.
The real question is: what happens when building software stops being the bottleneck?
When PHP lowered the barrier, we got blogs, forums, e-commerce, social networks. Most of it built by people who would absolutely fail a senior engineer interview.
Didn’t matter. They shipped.
Now remove the barrier almost entirely.
You get: internal tools that actually match how teams work. Niche products no one would ever fund. Prototypes that skip the whole “write a spec, wait two sprints” ritual.
99% of it will be fragile, confusing and slightly broken, shipping fragility as a feature and selling vulnerability-as-a-service. Same as before.
We are shifting from the era of “Cathedral Software”—built to last decades—to the era of “Disposable Code.” In the old world, an architectural flaw meant months of painful refactoring. In the world of vibecoding, you just ask the LLM to scrap it and hallucinate a better version in 30 seconds.
Software is becoming a consumable, like a paper cup. You don’t “maintain” it; you discard it and generate a fresh one. This is what truly terrifies engineers—the realization that our role as the “keepers of the blueprints” is being devalued in favor of high-velocity iteration.
Speed has always been the priority for business. Always. We just pretended otherwise because we were the bottleneck, and bottlenecks get to set the terms. Now we’re not.
And again — the 1% that survives will define what comes next.
A note to the angry developer
If this makes you uncomfortable, I get it.
I care about clean code. I’ve debugged systems where one wrong config flag silently breaks everything. I’ve spent hours figuring out why something “should work” but doesn’t.
And yeah — I used to make fun of PHP too. Actually cried laughing. The memes wrote themselves.
Back when mixing SQL, HTML, and business logic in one file was considered normal. It felt wrong. It was wrong.
And it still won.
That’s the part that’s hard to accept.
Vibecoding feels the same right now. Messy. Wrong. Slightly embarrassing.
And yet — it’s already useful.
So if your main argument is “this isn’t real programming” — you’re not wrong. You’re also not relevant.
That argument has lost every single time in the history of this industry.
Your job is changing in real-time. You aren’t “writing” syntax anymore; you are curating it. You’re moving from the bricklayer who meticulously places every stone to the technical judge who decides:
“Is this hallucinated mess actually going to fly, or will it bury our production?”
Your expertise is no longer found in your memory of an API, but in your ability to smell rot in code you didn’t even write. It’s a massive ego hit, but it’s the only way to stay in the game. You either learn to govern the chaos, or the chaos governs you.
The uncomfortable conclusion
The future does not belong to the people who write the best code.
It never did.
It belongs to the people who ship things that work — even if nobody fully understands why they work.
PHP proved that. And, fine — I’ll say it — neural networks confirmed it.
Nobody fully understands why the weights produce the right answer. It works. That was enough to reshape every industry on earth.