Vibe Coders: Stop Misusing "Gatekeeping"

A vibe coding rant, you have been warned

Share

I follow coding on social media and subreddits. There’s a word that keeps popping up in tech spaces right now, and it’s really starting to piss me off. It comes up almost anytime someone has the audacity to suggest that vibe-coded slop isn’t production-ready. That word is gatekeeping, and I need everyone to take a minute to open a dictionary.

Here is the Cambridge definition of gatekeeping:

the activity of trying to control who gets particular resources, power, or opportunities, and who does not

To quote the great Inigo Montoya:

The literal definition of gatekeeping means controlling access. It means being the bouncer at the door and deciding who gets through based on criteria unrelated to merit. Historically, this could be your gender, your school, who you know, or how attractive you are. It is a real thing that happens in real life.

You know where gatekeeping basically doesn’t happen? IT.

There is no licensing board for software engineers. There is no union hall you have to get into. There is no secret handshake, no mandatory degree, and no credential that’s legally required before you’re allowed to write code.

In fact, the entire knowledge base of this industry has been sitting on the open internet for decades. Most of it is free. And a significant chunk of it was put there by people who want you to learn it. In fact, if you have experience maintaining any software, you know that the authors are often desperate for you to learn it.

So, when someone looks at your AI-generated pull request and says, “this code is crap”, that is not gatekeeping. That is a professional with actual standards for doing their job, who actually cares about the users of their software.

Since you’re capable of using AI to generate slop but not for introspection, let me help you out. What you’re actually being told is that no professional is going to praise you for low effort. I’m sorry if that hurts your feelings, but your entire pitch for vibe coding is that you don’t have to put in the effort. Just describe what you want, let the model cook, and ship it. Oops, it deleted our production database. Oops, the crappy software exposed 150,000 API credentials.

I’m so sorry that, as a professional, I expect software to work correctly. My bad if I don’t want to be a member of a team that gets a call at 2 am when something breaks, and now I have to wade through slop to figure out what the AI tool was doing. And don't get me started on how your vibe-coded SaaS is ripping off people who don’t have the tech savvy to ask the right questions before giving you their data. You aren’t a programmer; you’re a parasite.

We have rules and regulations in other engineering disciplines because a faulty design in civil engineering can kill people. A faulty design of airplane components can kill people. Well, guess what, faulty code can kill people, too. Do I want to see vibe-coded pacemaker software? Absolutely not!

Now, let me be clear: I’m not talking about beginners who are trying to learn to code. Beginners are welcome, and I can assure you, as someone who has been a technical educator for over a decade, that the IT community generally goes out of its way to help people who genuinely want to learn. But, as I used to warn my students, there is a big difference between asking a peer for help and asking them to think for you. The first is welcome, the second, if it becomes a pattern, gets you fired.

This is why vibe coders get crapped on by professionals. The gatekeeping accusers are celebrating their ignorance specifically and deliberately. That’s their whole position. They don’t want to understand the thing; they don’t want to put in any effort. They want the output without the craft. And they want real, actual professionals to praise them for it.

Criticizing low quality is not gatekeeping, nor is having a professional bar. Expecting code running in production to work, and for the author of said code to understand what the fuck it does, isn’t gatekeeping. You’re trying to twist the meaning of the word into a manipulation tactic, and I’m not having it.

Because I care.