I’ve long ranted about gatekeeping in tech to the point of it nearly becoming my focus of academic research. It has bothered me so much that I’ve written multiple articles complaining about different takes I’ve seen in the community. Hell, I have a wall of shame dedicated to toxic comments I get from people in the community.
So, what would possess me to create yet another rant? Well, today I thought it would be fun to set aside some of my own personal grievances with gatekeeping, and instead let the gatekeepers do the talking. In other words, let’s take a look at what kind of toxic garbage gets thrown around the community all the time.
Since I’m trying to meet my Friday deadline (it’s Monday), this will be a short piece. That said, I plan to keep it updated every time I see some new garbage. In the meantime, let’s dive in!
Table of Contents
Meet the Gatekeepers
In this section, I’ll be dumping a ton of content shared by gatekeepers in the community. Gatekeeping happens all over the place, but I generally see it on Twitter and through other blogs, as you’ll see. To keep things somewhat permanent, I’ll be transcribing most of the content. That way, we can continue to build up this archive even if gatekeepers purge their content. With that said, here’s our first gatekeeper.
HTML Is Not a Programming Language
A tireless debate in our community is over the classification of various programming languages—primarily whether or not HTML is a programming language. As I’ve argued countless times (exhibit A, B, and C), this debate is completely pointless. Not once has one of these gatekeepers managed to come up with a compelling argument. More often than not, they tend to position themselves as just providing “objectivity” (perhaps a rant for another time), but they never seem to explain what value this objectivity has. Otherwise, they would be giving up the game, right?
Today, I bring to you a thread from a relatively popular tech bro (55K followers on Twitter) who argues that classifying HTML as not a programming language has nothing to do with gatekeeping:
Mosh: did you say HTML is not a programming language? How dare you? It discourages newbies from becoming programmers. Some say it so they feel superior to others!
No! “HTML is not a programming language” is NOT to make a group superior or inferior. It’s a purely technical statement about HTML not people.
I educate and encourage people interested in coding to become software engineers everyday. So I never discourage. I even wrote a blog post years ago telling people not giving a damn about what others think and pursue their passion.
Programming is not easy. Logical thinking and implementing algorithms is not even remotely similar to coding in HTML. Anyone learning HTML and find it easy may get the false hope that programming is as easy and can be mastered in weeks.
Is this discouraging? No! It’s showing them the truth and preparing them for challenges. I’d rather show my newbies the truth than give them false hopes.
IMHO, anyone wanting to become a programmer should start with Python (because it’s the most beginner friendly) and learn data structures and algorithms. If they like it, they’re on the right track. If not, they’re probably not gonna go far.
You can get offended and I’m sorry. My intention is not to offend you but to enlighten you. I can learn how to inject and call myself a doctor and get offended if anyone says I’m not a doctor. Becoming a doctor is hard and takes time. Becoming a programmer is the same.
As promised, I’ll try to keep my personal grievances out of this for the sake of the archive, but who the hell unironically uses the word “enlighten?”
It’s Not Okay to Like a Programming Language
To a tech bro, you are not allowed to enjoy writing code. That’s illegal, and anyone who does must fall into a number of “not real programmer” buckets. Here’s a perfect example of that by an academic, no less:
When someone really loves a programming language, it’s because 1) they don’t write much code in it 2) they just started using it recently (the zeal of the convert) or 3) they are one of its designers.
I particularly like this tweet because it’s fun to apply programmer logic to it. Let’s say I’ve been writing a lot of code in a particular language for a long time, and I still enjoy it, am I its creator? Cool! Peace, Guido. I’m the captain of Python now.
Imagine Using a Mouse
One of the weirder bits of gatekeeping in tech stems from the types of tools people choose for development. For example, there have long been debates around the best text editors and IDEs. Today, tons of tech bros still gatekeep people for using tools other than vim. Apparently, one tech bro draws the line at computer mice:
If you call yourself a developer and use a mouse for editing code, I just assume you are a junior.
I always find this form of gatekeeping funny because it leads to a race to the bottom. If this guy draws a line at mice, surely I can draw the line at punch cards, right?
Developers Must Code
Much like tech bros love to draw boxes around what is and isn’t a programming language, they do the same thing when it comes to defining roles. Personally, I have long struggled with role terminology in tech because the words all seem to mean the same thing. What’s the difference between a coder, a programmer, a developer, and an engineer? I could not tell you, but I don’t think the definitions actually matter.
A tech bro, on the other hand, will be happy to draw lines between these terms to maintain some form of superiority. For instance, one tech bro got caught up in a debate around what it means to be a “developer”:
Community Member 1: One of my best friends works in localization in Japan and he really knows his mecha too (he worked on the localization for Super Robot Wars V), but he would never call himself a game developer. So it’s definitely an ego thing it seems, sadly.
Community Member 2: They are absolutely developers. They have just as much skin in the game as everyone else, and wholly affect how the product is perceived out of its home market.
Gatekeeper: They are absolutely not developers. They create no code. It doesn’t matter that they provide feedback to the actual developers to refine the game, which is a valuable function and which Ollie has repeatedly praised- they still aren’t developers.
Community Member 3: A large percentage of any given team also creates no code. Programming is one part that applies to specific roles.
Gatekeeper: If they aren’t writing code, then they aren’t developers. They’re another role that is still important to the creation of the end product, like art asset designers and creators, but they are not developers. Words have meanings. Stop trying to change them to mimic stolen valor.
Community Member 4: I don’t know how to code yet I made two iPhone games in their entirety. Control systems, menus, gameplay logic, collision rules, art, music, testing, production, advertising – to say I didn’t develop them is a complete nonsense. If I didn’t, who did?
Gatekeeper: You created them using various tools that actual developers created, if you never coded a line of code to create those games. And that’s perfectly fine- you don’t need to be a developer to create a game, thanks to such tools. RPGMaker has long been an example of such a tool.
I’ll never understand why “writing the code” is the line that is drawn. Again, this quickly becomes a race to the bottom as jokingly shown by several retweets:
– Unless you build your games in machine code you’re nothing but a fraud wanna be programmer.
– Pfft imagine not programming in binary
– yep, might as well write your own notepad replacement while you’re at it
If the argument is that you use tools written with code to create something then using tools written with code to write code must also not be development, right? The only real developers are the people who first routed electrons through silicon—or perhaps even before that.
Help the Archive Grow
There are probably hundreds of examples of this gatekeeping happening across the internet on a daily basis. Have you experienced them? Why not share them with me so we can poke a little fun at them in this archive? Hopefully, someday this archive will provide enough evidence to convince gatekeepers that it’s time to have a change of heart.
With that said, if you liked this article and you want to see more, head over to my list of ways to grow the site. There you can find links to Discord, Patreon, YouTube, and so much more. Take care!
The backbone of any Python program is decision making. In other words, given some input, what should our program do? Today, we'll answer part of that by learning if statements.
The first step in opening a jar is to get a jar. But, how do we do that? Let's let recursion figure that out for us.