Back
The internet is locked in a cultural war over whether prompting constitutes programming — and the answer is reshaping what it means to build software, who gets to call themselves a developer, and whether understanding your own code still matters.
Somewhere between a joke and a paradigm shift, the term vibe coding detonated across forums, social feeds, and group chats in recent months — and it hasn't stopped echoing. The concept is deceptively simple: you describe what you want in natural language, an intelligent system generates the code, and you ship it without necessarily understanding every line. You're not writing software. You're vibing it into existence.
The phrase was coined half-ironically, but it struck a nerve that no marketing department could have manufactured. Within weeks, it became the shorthand for an entire cultural rupture. Developers who spent decades mastering syntax, architecture patterns, and debugging techniques found themselves sharing the same job titles — and sometimes the same salary bands — with people who learned to prompt their way to a working product in a weekend.
The debate isn't really about tools. It's about identity, legitimacy, and whether the craft of programming has a future or just a nostalgia section.
Previous waves of abstraction — from assembly to C, from manual memory management to garbage collection, from bare metal to cloud — all provoked anxiety. Every generation of developers feared they were being commoditized. But those transitions still required you to think in logic. You still had to structure conditionals, design loops, and reason about state.
Vibe coding breaks that pattern. The abstraction isn't just removing boilerplate; it's removing the need to think algorithmically at all. For the first time, someone can produce functional software without being able to explain what their own code does line by line. That's not an incremental shift. That's a categorical one.
The question isn't whether prompting is a skill. It obviously is. The question is whether it's the same kind of skill — and whether the industry is pretending it is because the economics are too convenient to question.
Watch any thread on this topic and you'll see the same three positions crystallize:
These developers argue that if you can't read, debug, and reason about your code, you're not a developer — you're a user. They point to the mountain of poorly understood, unmaintainable software being deployed by vibe coders as evidence that this is a bubble, not a revolution. They're not entirely wrong. Code you don't understand is code you can't fix, and production systems have a way of breaking in ways that prompts alone can't resolve.
This camp sees the shift as inevitable and focuses on outcomes. If the software works, who cares how it was made? They argue that every generation's "real programming" is the previous generation's "not real programming." They have a point too — the history of software is the history of abstraction, and every layer removed someone's favorite difficulty.
The quietest and perhaps most important camp. These developers recognize that prompting is a genuine skill but insist it's a different skill — one that complements traditional engineering rather than replacing it. They're building workflows where intelligent systems handle boilerplate and exploration while humans own architecture, contracts, and invariants. This is where the real action is, even if it makes for less dramatic tweets.
Here's the uncomfortable truth: most software doesn't need to be good. It needs to be good enough.
The majority of applications built worldwide are internal tools, prototypes, side projects, and one-off automations. These have always been written poorly. Vibe coding doesn't make them worse — it makes them faster. A script that took a week to write and works 90% of the time is often more valuable than one that took a month and works 99.99% of the time. The economics of software have always been about diminishing returns, and for most use cases, the bar was never as high as engineers wanted to believe.
But — and this is where the debate gets real — some software needs to be excellent. Payment systems. Medical devices. Infrastructure. Security-critical code. The vibe coding wave is creating a massive talent bifurcation: people who can ship fast and people who can build to last. The industry needs both, but conflating them is a recipe for spectacular failure.
The deepest reason this debate is so emotionally charged is that programming has been more than a job for many practitioners. It's been a craft, an art, an identity. The phrase I am a developer carried weight because it implied years of study, practice, and accumulated wisdom.
Vibe coding threatens that identity not by being better but by being sufficient. When a non-engineer can build a functional prototype in an afternoon, the mystique evaporates. The priesthood loses its gate. And that loss — not the technology itself — is what drives the loudest objections.
Stop arguing about labels and start building bifurcated mental models:
Vibe coding isn't a fad. It's the latest expression of a permanent shift: the cost of producing functional software is dropping toward zero, and the cost of producing reliable software is staying the same or increasing. This divergence will define the next decade of tech culture.
The internet is arguing about terminology because that's easier than confronting the structural reality: software is being unbundled. The act of creating code and the act of guaranteeing code are becoming separate disciplines, separate careers, and separate value propositions.
The developers who thrive won't be those who reject prompting or those who worship it. They'll be the ones who understand exactly when each approach applies — and who can move fluidly between vibing and engineering as the situation demands.
That's not a meme. That's a methodology.
0 Likes