Titles matter Recently, I saw a post on Bluesky that did not sit well with me at all. 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. Though I assume it’s intended in goodwill, 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 (to the degree possible), 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, or Claude Code, 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 as a pejorative; I only intend it to be a useful shorthand for people who generate websites using LLMs, but who rely on LLMs to do the job, and who generally have little to no further ability as it pertains to building things on the web, or understanding their inner workings. Prompters may become web developers, if they choose to, but they are not web developers simply by virtue of making websites using LLMs. I realize the term “vibe coder” might seem like a better descriptor than this 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 or abandon situationally. I suppose you could say all prompters are vibe-coders, 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. 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; 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 some 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. 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. Any rigid definition of “web developer” is likely to include at least some prompters. It’s all but impossible to draw a line that completely divides one group from another with no outliers. Language is messy like that. Reality is messy like that. And so, of course, the more specific I get, the easier it is for anybody so motivated to poke holes in the definition (which I can never help but suspect as a motivation for requesting 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. 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. 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. I would probably also expect it to at least touch on related considerations, like performance and accessibility. 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. (Not to mention a course with highly questionable value in the first place.) 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.) I might expect a web development conference to feature talks about LLMs, but I wouldn’t expect that to be the only topic. I’d feel the conference was misrepresenting itself if this were the case. 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, week after week, I and most other people who 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. 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 can 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 heading is 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, and I see no reason to get any more granular than that, other than to invite further nitpicking. I think that definition broadly serves the purpose just fine. Web developers are familiar with browser code and related concepts in whatever measure, not because it’s some obtuse, carefully guarded pathway to enlightenment for the chosen few, but because it’s the way the web works. It’s the language of browsers and the way this whole crazy machine called the internet functions, in large part. 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. 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. That skill, naturally, exists more across a wide gamut than within a precisely defined boundary, which is another reason an exact definition is elusive (and futile). It encompasses new students, old experts, and everything in between. The unifying quality, I would say, is some degree of applied atomic knowledge. Of course, it’s possible to put things on the web with none of this. 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 increasingly democratized for nearly as long as the web has even existed. 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 web developers by asserting—implicitly or explicitly—that anyone who picks up a tool represents a precise 1:1 replacement for everything they are professionally; the entire sum total of their abilities and experience. An LLM is a tool to grant an ability without the requisite expertise; a web developer is somebody who possesses that expertise, as it relates to building for the web. An LLM is a tool to grant an ability without the requisite expertise; a web developer is somebody who possesses that expertise, as it relates to building for the web. Again: it’s always been possible to build websites without being a web developer. Read that one more time: It’s always been possible to build websites without being a web developer. Did you catch it? The very fact that the sentence repeated above makes perfect sense confirms that we have different definitions for “person who makes websites” and “web developer.” 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. 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. 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 without a severely deficient definition of what that title means. I genuinely don’t know why you’d want to group people with knowledge together with people who are incapable of even knowing when they’re being lied to, and call them both the same thing. 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; dog walker, even. Take your pick. No matter what job we’re talking about, if you take on the title, people will very reasonably expect you to bring more to the table than accepting whatever an LLM says. A person with a title should at least know enough to know when they’re being lied to about their claimed profession. 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. 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, on one device that’s probably less than two years old, with one set of user preferences, by one able-bodied author, 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, with little to no conception of what you’ve overlooked.) (No shade intended; I’m sure I’d do the same thing if I tried to, say, build a backend system on my own. It would probably seem to work perfectly well to me, and would probably be a mess to anyone who actually understood all the things I’d missed.) I also suspect LLMs probably perform better in other areas of tech—dealing with backends or 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, and LLMs are not to be unquestioningly trusted in any domain. And to be clear: I don’t mean to denigrate any other practice within tech; we all have considerable challenges, and we all deserve respect for our work. But perhaps nowhere is the quality of LLM code more difficult to qualify than in frontend/web development, at the intersection of design and development. In any case: not a lot of people in tech even know what quality frontend code looks like in the first place—yes, even among web developers, but particularly among other types of developers. But know that, for the current moment, it is objectively true that LLMs generate very poor-quality frontend code a very high percentage of the time. Let me emphasize that here, “poor-quality” is not some artisanal, aesthetic judgment. I’m not a hipster 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, 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). Prompters will overlook these deficiencies, because they largely have no idea how to detect them in the first place. 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. 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 web principles, and recognizes their own shortcomings in that area. They should have an idea of 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 with confidence and authority. 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 and unless that happens, 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 just like Vercel’s homepage.) I fully recognize that actual human web developers have historically done very poorly at writing accessible code for our own part, and that this is no small part of the reason LLMs are bad at it in turn. But this is not an argument to hand things over to a machine who is at least as bad, if not worse. I question whether LLMs can actually learn better before we do. Disambiguation is not 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. There’s room enough for everyone here. 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. To that end, I understand the motivation behind the original Bluesky post that sparked this whole thing, and I even agree with the spirit of it. We should welcome people. We want to encourage newcomers and dispel imposter syndrome. But here’s the thing (and my apologies in advance here, but): it’s not imposter syndrome if you actually are claiming to be something you’re not. Gatekeeping is the false assertion that a person or group deserves exclusion because they have failed at some arbitrary criteria. 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. 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 a jerk who wants to unjustly rain on the parade of newcomers. (“Won’t somebody please think of the children!?”) Or a stuck-up snob who holds their own title in such precious regard as to resist sharing it. None of that is why I care. Though I’d say there is an offense being committed here, in my mind, it’s 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 all other skilled laborers, deserve a measure of respect for our work. 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 quiet, pervasive 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 of so little value, and our expertise so negligible, that literally anyone with a keyboard is our equal. Giving the same title to prompters and web developers is calling our labor of so little value, and our expertise so negligible, that literally anyone with a keyboard is our equal. It’s an insult, honestly. I’m sorry, but it is. And one 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. Furthermore, I suspect the same assertion would not go over as well in any other direction: Do you get LLMs to create databases for you? Then you’re a backend engineer. Do you feed data to ChatGPT? Then you’re a data scientist. Do you ask Claude if your site is secure? You’re a cybersecurity specialist now. Do you have Copilot summarize server logs? If so, you’re a site reliability engineer. To be clear: all of the above statements are made-up (and perhaps a bit extreme), and I obviously disagree with all of them. Still: I have a difficult time believing any of the above assertions would be met with as much agreement as the one about web developers. Because to many other people in tech—implicitly, if not explicitly—we are less. What we do is so misunderstood, it’s widely considered virtually valueless, because so few people can tell the difference between the real practice and a pale, faulty imitation— —well, so few of the people in charge, I should say. A great many users most certainly can tell. 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 again. We owe it to web developers to honor and respect their abilities, rather than implicitly making anyone with a Claude Code subscription their equal. 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 in the first place. JavaScript must be enabled to leave comments.