Published: August 26, 2025
Recently, I saw a post on Bluesky that I took serious issue with. I’m not going to link to it directly or mention the author, because I don’t want to direct any negativity their way. That’s not why I’m writing this.
I do, however, want to respond to the core of what was said (and which some were agreeing with). That core sentiment of the post was this:
Somebody who generates websites using AI prompting is also a web developer. The qualification is “do you build websites”, there are no other qualifications.
This did not sit well with me. In fact, I take serious issue with this assertion.
The idea that anyone who manages to prompt their way to a website has earned precisely the s…
Published: August 26, 2025
Recently, I saw a post on Bluesky that I took serious issue with. I’m not going to link to it directly or mention the author, because I don’t want to direct any negativity their way. That’s not why I’m writing this.
I do, however, want to respond to the core of what was said (and which some were agreeing with). That core sentiment of the post was this:
Somebody who generates websites using AI prompting is also a web developer. The qualification is “do you build websites”, there are no other qualifications.
This did not sit well with me. In fact, I take serious issue with this assertion.
The idea that anyone who manages to prompt their way to a website has earned precisely the same title as those who have hard-earned expertise in the web platform—and specifically, the idea that the lone qualification of said title is making a website live—strikes me as both a wildly distorted view of the job, and a derisive view of those who practice it. And so, I felt compelled to respond in disagreement.
As the conversation went back and forth, it became clear to me that the core of the disagreement was the answer to a single question, eventually posed by the original author:
“What’s your definition of a web developer?”
So, this post is my attempt to both answer that question, and to more fully explain my issues with handing out that title indiscriminately.
Defining the terms
I’ll use the term “LLM” quite a bit in this post. If you’re not familiar, an LLM is a Large Language Model, such as ChatGPT or Claude. These are more commonly referred to as “AI,” though I personally prefer LLM, as it’s more accurate; LLMs are not intelligent, let alone any kind of intelligence.
Where I reference using an LLM, I may mean using one directly, or I may mean using an LLM-based tool, such as Figma Make or v0, among many others.
Next: because my stance is that a person who simply uses LLMs without further knowledge or expertise is not equivalent to a web developer, the natural question is: what is that person then?
For the sake of this post, and for distinguishing between the two sorts of website makers we’re talking about: let’s refer to the group of people who use and rely on LLMs to build websites as “prompters.”
I do not mean this as a value statement, and especially not a pejorative; I only intend it to be a useful shorthand for people who might generate websites using LLMs, but who rely on those tools to do the job, and who generally do not have further abilities as it pertains to building things on the web, or understanding their inner workings.
I realize the term “vibe coder” might seem like a better descriptor than a term I just made up. But I chose against that because, to me, vibe coding is a thing that anyone might choose to do, more than something a person is as a title; it’s an approach that anybody might pick up and abandon situationally.
I suppose you could say all prompters are vibe-coding, but not everyone who is vibe-coding is necessarily a prompter.
All web developers make websites, but not all who make websites are web developers.
Prompters do most certainly make websites, and my issue isn’t with that group using a title which conveys that ability. “I make websites, and I can make you a website” is a true statement from a prompter. Even if they’re reliant on a tool to do it—and even if they have no idea how either that tool or the site itself ultimately works—prompters still make websites, and I’m fully behind them claiming that.
My aim isn’t to gatekeep these people or building for the web; my goal is to distinguish this as a separate practice, even if it might produce what appears to be essentially the same end result to most people.
My issue is this:
The title of “web developer” implies a certain level of skill and knowledge that people who merely prompt their way to a website generally do not have.
To call a prompter a web developer both elevates prompters and degrades web developers, in a way that, frankly, neither group deserves. (If this idea rankles you, hold that thought; I’ll elaborate at the end.)
So what’s the definition?
To issue any rigid definition of just about any position is fraught. The more I try to lay down explicit lines around what is and is not a web developer, the more I risk engaging in a is-a-hotdog-a-sandwich style of semantic debate.
I suppose it might even be difficult to come up with a definition of “web developer” that does not include at least some prompters.
Of course, nobody knows this better than people who might disagree with my position. The more specific I get, the easier it is for anybody so motivated to poke holes (which I can’t help but suspect as a motivation for demanding specificity in the first place).
Still, in the interest of illuminating what I believe is the difference, the following is what I consider.
What is web development?
A useful place to start might be with the task itself. I don’t know that I can create a specific definition for what is and is not web development. But I can tell you what I expect that term to mean—and therefore, not mean.
If I post a job searching out a web developer, I’m looking for somebody who knows how websites work, and who puts that knowledge into practice. This mainly includes HTML, CSS, and JavaScript, but probably many other things, like caching, DNS, web performance, accessibility, and so on. This person probably has some backend knowledge, though possibly mainly as a means to putting markup on the page.
I would expect that person can implement this knowledge to build new things on the web, and to maintain and expand on existing things. I’d expect them to have demonstrated ability at debugging websites. I’d expect that I could have a conversation with any applicant about the workings of the web. While we might not have heavily overlapping understandings—it’s a broad and vast field—we at least share some kind of common ground there.
The specifics might vary widely, but ultimately, I would say web development is the knowledge and practice of the fundamentals of the web.
No job posting for a web developer is describing somebody whose main qualification is that they can prompt their way to a website. That’s just not what “web developer” means, and it’s not what an employer seeking out a web developer wants or expects. (After all: why would someone pay you to write prompts if anyone can do it?)
There seems to be a misconception that “making a website” is the one and only thing that defines web development. This is a pernicious misunderstanding.
Web development is much more than making a website appear, in much the same way that being an electrician is much more than simply wiring up a light switch.
I would expect any web development course to cover the technical aspects of how the web works and how to author web code, including (though likely not limited to) HTML, CSS, and/or JavaScript.
Most people, myself included, would very much not expect a so-called web development course to only cover prompting your way to a website by using an LLM. That would be widely considered misleading.
I taught web development for several years. When I say that, I don’t think it crosses anyone’s minds that I might mean I was teaching prompting. (I wasn’t.)
Just about anyone who showed up for a web developer conference would feel cheated if the only topic covered was prompting an LLM, or using LLM-based tools.
People who might sign up for a web development newsletter would likely be miffed if that newsletter utterly omitted any mention of JavaScript, HTML, and CSS.
If I listen to a web development podcast (and I do listen to a handful), I won’t be surprised if they talk about LLMs in relation to web development. But if prompting your way to a website is the only thing that podcast covers, I and most other people who might have tuned in will feel that podcast was not accurately representing itself.
If I tell you I know web development, there’s an implicit understanding that I know how the web works, and how to use the tools of the web.
No reasonable person who heard that statement would expect it to mean “I know how to get an LLM to generate a website.”
A web developer possesses applied expertise in the workings of the web
If you’d like my definition, I guess that’s the closest I care to get. Nitpick it as broad, if you like. That’s somewhat on purpose. Contrary to what some might argue, I’m not here to gatekeep; I’m here to disambiguate.
Web developers are familiar with browser code and related concepts in whatever measure, not because it’s some obtuse, safely guarded pathway to enlightenment, but because it’s the way the web works. It’s the language of browsers.
Web developers know HTML, CSS, and JavaScript because that’s how things happen here in this world, just as a chemist understands matter and a biologist understands organisms.
Again, as some will be quick to point out: it’s possible to put things on the web with none of this knowledge. But that’s been the case for decades now. Before LLMs there was Squarespace and the like; before that, WordPress, and others.
It’s always been possible to build websites without being a web developer. Websites have been democratized in increasing measure since before a lot of us ever even touched a computer. And that’s a good thing.
It’s good that the barrier to entry has been lowered. It’s good that anyone can put things on the web. It’s good that this technology is accessible to anyone.
What’s not good is to denigrate the professional experience of web developers by asserting—implicitly or explicitly—that anyone who picks up a tool represents an exact 1:1 replacement for a web developer.
A person who uses a WordPress page builder, or Squarespace, or LLMs, or whatever other website tool comes next, makes websites. But they are not, just for that, a web developer.
Again: it’s always been possible to build websites without being a web developer.
The emphasis there is the key differentiator. The very fact that the previous sentence makes sense confirms that we have different definitions for “person who makes websites” and “person who is a web developer.”
An LLM is a tool to grant an ability without the requisite expertise; a web developer is somebody who possesses that expertise.
Some might point out that many web developers are actually pretty far removed from web languages already. If you use React and Tailwind, for example, it’s possible you’re writing extremely little actual HTML, CSS, and/or JavaScript. Same if you use a backend language like Ruby or PHP to generate your markup for you.
This is fine, to me, because people using those tools still possess applied expertise, even if there’s an abstraction layer on top of it. There’s still a utilized knowledge of the input and output; what the browser expects, and how that code will make its way there, to be eventually parsed and rendered.
I suppose that’s my line. A prompter has no knowledge of how these molecules interact; they only know how to give instructions to a machine that imitates the understanding.
Titles are earned
I realize it’s 2025, and most people who do some kind of coding are probably using an LLM, to some degree. That’s fine.
For that matter, some web developers may mainly write code through an LLM. That’s fine, too.
LLMs might even be the new first step to learning web development for many people. That’s also fine. Expected, even.
A web developer isn’t somebody who never uses an LLM, or uses it only below a certain threshold; it’s somebody whose awareness and familiarity with the subject domain allows them to be in control of the LLM, rather than reliant on it. A web developer is capable of calling bullshit when the LLM spits out an answer that’s incorrect, no matter how right it might appear.
A web developer brings more to the table than an LLM. That’s what the title implies.
In fact, I’d go so far as to say that’s what any title implies.
If I call a plumber, and the guy who shows up doesn’t know anything except how to ask ChatGPT what to do, I will feel this person has misrepresented themselves.
I would never accept a therapist who simply typed everything I told them into an LLM, and then reported its advice. I would not consider that person a therapist.
I would never visit a doctor again, if that doctor had no ability other than putting my symptoms into some LLM-powered program, and reporting what it said—and I most certainly wouldn’t feel that person deserved the title of “doctor.”
Let’s pause there for a second.
I’d like to point out that whether the LLM gets it right or not is beside the point. (It probably won’t a lot of the time, because LLMs aren’t built for correctness; they’re built to produce the answer you’re most statistically likely to be satisfied with. But that’s beside the point for now.)
It does not matter if I got the right answer this time, in just the same way that it doesn’t matter if a prompter and a web developer both create websites.
A job title very clearly implies a level of expertise, and it is dangerously deceptive to give any title to somebody who completely outsources that expertise.
In my mind, there’s little difference between calling somebody who prompts their way to a website a web developer, and calling a guy dispensing medical advice via ChatGPT a doctor.
Both are bestowing an unearned title, and it is not possible to be okay with this arrangement unless you have a severely deficient definition of what that title means.
Here, I imagine, some might argue there are actual strict rules for earning the title of doctor, and therapist, and even plumber, and that we have no such qualifications in the world of building for the web.
This is true, but I think we probably should have similar rules for the web. We’re arguably just as capable of ruining people’s lives with our work; our craft probably should be similarly regulated.
Regardless, though: take a different, less stringent job title, if you like. Yoga instructor, say. Personal trainer; handyman; math tutor; babysitter, even. Take your pick.
No matter what job we’re talking about, if you have the title, people will very reasonably expect you to bring more to the table than accepting whatever an LLM says.
The first question we should ask such a person is: how do you know the LLM is right?
On the abilities of web developers and LLMs
One other misunderstanding that arises in this conversation centers on the ability of LLMs to write web code in the first place.
It has been my experience that many in tech both underestimate the amount of work that goes into producing adequate web code, and simultaneously overestimate the ability of LLMs to do that work.
There are several reasons for this. For one, it’s easy to create an interface that appears to work correctly, when you only test in one browser, at one font size, at one zoom level, using one input device, on one screen size, on one operating system, with one set of user preferences, by one able-bodied author, on on a high-speed connection with no data restrictions, loading from one server that happens to be near to you, without the aid of any assistive technologies—and this is precisely where many people dabbling in web interfaces will stop and say “looks good to me!”
(A shorter way to say that might be: every job seems easy, when you do it extremely poorly.)
I also suspect LLMs probably perform better in other areas of tech—dealing with backends and databases, say—where success criteria is better defined, best practices are well-established, correct examples are more plentiful in the training data, and things are generally less squishy. Naturally, “it depends” abounds all across the entire field of tech, but perhaps nowhere more so than in frontend/web development, at the intersection of design and development.
In any case, the point is: not a lot of people even know what quality frontend code looks like in the first place—even among web developers, but particularly among other types of developers.
For the current moment, it is objectively true that LLMs generate very poor-quality frontend code.
Let me emphasize that here, “poor quality” is not some artisinal, aesthetic judgment. I’m not a code snob. If the bad code works just as well as the good code, then who cares? I sure wouldn’t.
Sadly, however, this is not at all the case.
The markup produced by LLMs, even when it does appear to work to most users, it is often wrong, or at the very least, some combination of inaccessible, unmaintainable, inefficient, and/or just flat-out slow.
It is, extremely commonly, incorrect on some level or another, particularly when it comes to accessibility (which, as a reminder, is a legal requirement for many websites).
A web developer is, among other things, a person with the ability to spot issues in frontend-related code, identify why it’s wrong, and fix it.
Without this ability, a prompter is analogous to an English teacher who insists that the word “blueberry” has three B’s, because ChatGPT 5.0 said so.
At the very least, a web developer is aware of accessibility principles, and recognizes their own shortcomings in that area. They should know when they need help or are out of their element, and seek out that help and understanding.
An LLM, by contrast (and therefore, any person relying solely on an LLM to generate frontend code) will produce inaccessible, inaccurate, non-semantic, wrong frontend code.
There may be a time when LLMs get better than humans at fulfilling all the myriad requirements of frontend code, accessibility included, but I’ve seen no evidence that’s coming any time soon, and have little reason to believe we’re even on that trajectory.
Until then, the quality of frontend code that LLMs generate, quite simply, must not be trusted.
(And this is all to say absolutely nothing of design, another skill many web developers bring to the table—or of the increasingly generic ouroboros of LLM output. Hope you want a website that looks exactly like Vercel’s homepage.)
The difference between protection and gatekeeping
I imagine some might say my position here is essentially gatekeeping.
I really don’t think that’s the case. I’m all for prompters—for anyone, using any tool—making their own websites.
I love websites, and I love when people are passionate enough to make their own. It’s fun and it’s glorious and I will never want less of it.
Web development isn’t a zero-sum game. (Most things aren’t.) More web developers isn’t a bad thing, for me or for anyone. I’m not threatened by more people building more websites. There is no encroachment happening here, in my view, on the part of the prompters themselves.
Besides, I’ve long been a vocal opponent of gatekeeping in regards to development. I’ve been loudly saying for years that yes, CSS and HTML are programming languages, and yes, you get to call yourself a programmer if you use them, because to assert otherwise is gatekeeping.
Gatekeeping is the false assertion that a person or group deserves exclusion because they have failed at some arbitrary criteria.
I emphasize “false” in the previous sentence, because: this isn’t that.
As we’ve covered already, when you assume a title, you clearly and unmistakably signal that you possess skill and understanding related to that title. And people whose only skill as far as building websites go is telling an LLM to do it, simply is not accurately described by the title of web developer.
This is not an attempt to create an out-group based on arbitrary criteria; it’s pointing out that’s literally not what those words mean. This is an incorrect use of that language.
Despite my protestations, I’m sure some people will nonetheless read this and conclude that I’m a luddite, fighting the future. Or somebody who holds their own title in such precious regard as to resist sharing it.
That’s not why I care.
In fact, in my mind, the offense here is actually going the other direction.
I’m honestly not sure how many prompters would actually even want to call themselves web developers in the first place. I wonder if some might be fighting on their behalf for no reason.
Most prompters, I would guess, would be the first to admit “I’m not a web developer; I just use [some LLM-based tool] to make websites.”
Why it matters
I care because, frankly, those of us who do web development have worked damn hard to earn the proficiency we have, and we, like any other skilled laborer, deserve a measure of respect for that.
In my mind, considering web developers exactly the same thing as people who just showed up with access to an LLM is not just a gross misunderstanding of who we are and what we do; it’s blatant denigration.
I’ve written at length about the devaluation of frontend (which I guess I would say is mostly the same as web development, though not quite exactly). And I’ve already made the point that a job title confers expertise, and that assuming a job title without the accompanying expertise is a lie.
But it’s more than that; it’s diminishing and maligning the people who do hold and deserve the title.
Giving the same title to prompters and web developers is calling our labor so worthless, and our expertise so inferior, that literally anyone with a keyboard is our equal.
It’s an insult, honestly. I’m sorry, but it is. And I think the only reason some people are so comfortable with this unjust comparison is: they’ve already been disparaging and minimizing the value of web development for years.
If you honestly think everything I do—everything any career web developer can do—can be fully replicated and replaced by anyone with access to an LLM, then I am both offended, and convinced you have absolutely no idea what actually goes into my job.
I understand many new people coming into this trade will get here via the easily traveled inroad of LLMs, and we should of course welcome those people, and help them learn what they need to know, without gatekeeping them because of their tools.
I’m absolutely on board for that. I really am.
But we can do that without throwing web developers under the bus, yet another time.
We owe it to web developers to draw a distinction between those who actually possess skills and knowledge, and those who do not.
And we owe it to everyone to show those who want to make a career in this field what that really means, what’s at stake, and how to tell when they’ve even done that job correctly.