Engineering's Naming Conventions: A Masterclass in Simplicity
Why is this CodeQuality meme funny?
Level 1: Naming is Hard
Imagine you have a set of toy boxes in different sizes. You label one “Small Box,” the next one “Medium Box,” and the bigger one “Large Box.” But then you get an even bigger box – bigger than “Large.” What do you call it? Maybe “Extra Large Box.” If an even larger one comes along, you might say “Super Extra Large Box!” Suddenly the names sound pretty silly and over-the-top, but you’re just trying to show which box is biggest. This is exactly why the meme is funny: it shows engineers doing the same thing with technical stuff. The tweet jokingly says “naming things is the easiest part of engineering” while the picture shows a list of frequency categories named Low, Very Low, Ultra Low, Super Low, Extremely Low, and even Tremendously Low. They kept adding words like “very” and “super” to make new names because they ran out of simple ones. It’s like when you and your friends make up grand titles or nicknames that just keep growing longer. The joke is that naming things isn’t easy at all – people sometimes end up with crazy long names just to describe a tiny difference. Anyone can laugh at how absurd those ever-expanding names sound, and it reminds us that coming up with good names is actually pretty hard, even for smart engineers.
Level 2: When Names Run Out
Let’s break down the meme in simpler terms. The top part is a tweet by Matt Rickard that says, “Naming is the easiest thing in engineering.” This is sarcasm – a joke that means the opposite of what it literally says. In truth, naming things is famously difficult in engineering, especially in programming. There’s even a well-known joke among coders: “There are two hard problems in computer science: cache invalidation, naming things, and off-by-one errors.” (Notice it lists three problems to make the point – ironically messing up a count, which itself is an off-by-one error. 🤭) So right away, developers reading that tweet understand it’s poking fun at how hard naming really is.
Below the tweet, we see a screenshot of a Wikipedia table titled “Frequency bands”, with the note “Main article: Radio spectrum.” This table comes from real engineering standards. It lists different radio frequency ranges (essentially how fast an electromagnetic wave oscillates, measured in hertz, or cycles per second). Alongside each frequency range, it shows the corresponding wavelength (since frequency and wavelength are inversely related), and then it gives a Full name and an Abbreviation for that band. These are official names defined by the International Telecommunication Union (ITU), used worldwide to categorize the radio spectrum.
Now, the funny part is the pattern of those band names. As frequencies increase or decrease, the names use adjectives to indicate how extreme they are. For example:
- 3–30 Hz is called Extremely Low Frequency (ELF).
- Then 30–300 Hz is Super Low Frequency (SLF).
- Next, 300–3000 Hz is Ultra Low Frequency (ULF).
- Just a bit higher, 3–30 kHz becomes Very Low Frequency (VLF).
On the high side:
- 30–300 MHz is Very High Frequency (VHF).
- 300 MHz–3 GHz is Ultra High Frequency (UHF) – which you might recognize from terms like UHF television.
- 3–30 GHz is Super High Frequency (SHF).
- 30–300 GHz is Extremely High Frequency (EHF).
And when even “extremely high” wasn’t enough (for 300 GHz to 3 THz, which is terahertz, basically infrared light range), they went with Tremendously High Frequency (THF)! On the low end, below 3 Hz (which is an incredibly low, slow wave), they similarly coined Tremendously Low Frequency (TLF).
Reading these in sequence is hilarious because you can almost feel the engineers running out of words to describe how low or high the frequency is. It’s like they set a naming formula: low, very low, ultra low, super low, extremely low, tremendously low… Each step needed a bigger qualifier. The result is technically consistent but sounds a bit over-the-top, almost like a child enthusiastically piling on adjectives (“this ice cream is super-duper mega huge!”).
So, why is this in a developer meme? Because it perfectly mirrors a common struggle in programming: naming conventions and naming things properly. NamingThings in code refers to what you decide to call your variables, functions, classes, etc., so that their purpose is clear. Good naming is crucial for CodeQuality and understanding. But when there are many related items or versions, coming up with distinct and meaningful names becomes a headache.
For a newcomer (junior developer), this typically surfaces when you write code like:
String result = ...; // you have a variable
String result2 = ...; // you need another similar variable, what do you call it?
String newResult = ...; // maybe this one is a new kind of result
String finalResult = ...; // hoping this is the final needed variant
You can see how quickly it can get confusing. If someone else (or future you) reads this, they’ll wonder: What’s the difference between result and newResult? Was finalResult really final? Just naming things result2 or newResult isn’t very descriptive, but often developers do this when they can’t think of a better name in the moment. It’s a RelatableDeveloperExperience because almost everyone has done this under pressure or seen it in legacy code. We laugh about it, but it can be a real problem when maintaining code.
Teams try to avoid such chaos by establishing NamingConventions. These are agreed rules on how to name things (for example, “use nouns for class names, verbs for function names, no abbreviations that aren’t obvious,” etc.). Following conventions improves consistency – similar to how the radio spectrum table at least consistently uses that adjective + “frequency” pattern and handy abbreviations like ELF, VLF, UHF that insiders understand. But even with guidelines, the actual words you choose matter a lot, and that’s where things get tricky. You want a name that’s specific enough to convey meaning, but not so long or flowery that it’s hard to use. Striking that balance is difficult, and that’s where the humor kicks in: sometimes even the pros end up with names that sound silly later on.
The Wikipedia table is a great analog because it’s so systematic yet awkward. It shows engineers in another field grappling with the same issue: how do we label things in a clear, hierarchical way without going insane? Early on, terms like Low Frequency (LF) and High Frequency (HF) were probably sufficient. But as technology advanced, they discovered or utilized bands beyond those, and needed new terms. They logically added modifiers: Very High Frequency (VHF) for higher than high, and Very Low Frequency (VLF) for lower than low. Then radio tech pushed further: what’s higher than “very high”? They chose Ultra High Frequency (UHF) – “ultra” meaning beyond. Then came Super High Frequency (SHF), and Extremely High Frequency (EHF). You can almost imagine the committee discussion when even extremely wasn’t enough: “Uh, what do we call the next one? ‘Incredibly High’? ‘Ultra-Extreme High’? How about Tremendously High?” It sounds facetious, but that became the standard! The same on the low end with tremendously low.
For a junior developer or someone new to this joke, the key point is: naming is hard, and engineers often make fun of that fact. The meme takes an example from radio engineering to highlight a truth in software engineering. It’s a form of tech humor because only people who have struggled with naming or seen how absurd it can get will immediately get the joke. But even without deep experience, you can appreciate the silliness of the pattern. It’s “obvious” to everyone that calling something tremendously low or super high is kind of funny wording. Then you realize: if this is the result of careful, earnest engineering work, maybe naming things really is challenging!
In summary, the tweet+table combo humorously underscores a core developer lesson: naming conventions often start simple but can become convoluted as we need to name more and more specific categories or versions. It’s a relatable part of the DeveloperExperience (DX) – even outside of programming, any time you have to label a lot of similar things (like product versions, file names, or yes, frequency bands), you might end up with a parade of adjectives or suffixes. The meme is essentially winking to the audience, “Naming is the easiest thing, right? Sure it is… just look at this madness.”
Level 3: Nomenclature Nightmares
The tweet caption “Naming is the easiest thing in engineering.” is pure tongue-in-cheek sarcasm. Every seasoned engineer knows that naming things is actually one of the hardest challenges in software development (right up there with cache invalidation and off-by-one errors). The meme brilliantly illustrates this truth by showing the Wikipedia radio spectrum table where engineers have classified frequency bands with an escalating series of adjectives. As frequencies get higher or lower, the official names ramp up from Very to Ultra to Super to Extremely and even Tremendously. It’s a formal naming convention gone almost comically overboard: below 3 Hz is labeled “Tremendously Low Frequency” (TLF) and at the other extreme above 300 GHz is “Tremendously High Frequency” (THF). The humor is that these names sound like a desperate thesaurus exercise – engineers basically inventing new adjectives because the simpler terms were all taken.
This absurd naming pattern hits close to home for developers. In codebases, we often see similar NamingConventions problems. When you have to maintain multiple versions or variants of a thing, the names tend to grow unwieldy. For example, imagine a library evolving over time: you might start with a class DataParser, then create an improved version DataParser2, followed by DataParserNew, and eventually DataParserFinal (which, of course, isn’t final). After a few iterations, you end up with something like DataParserFinal2 out of sheer naming exhaustion. We’ve all seen CodeQuality suffer from classes and methods named with extra words or numbers because a clear single-word name couldn’t be agreed upon. The radio spectrum labels are the same phenomenon on a grand scale – a taxonomy of frequencies where each new band needed a unique name, leading to an avalanche of qualifiers.
In industry terms, this meme is poking fun at DeveloperExperience pain points. It satirizes how naming things in tech can spiral into a farce, with ever-longer labels that barely make sense. The table shown is real (from the International Telecommunication Union’s standards), but out of context it reads like self-parody: “Very Low,” “Ultra Low,” “Super Low”… it’s like a running joke in a code review when someone keeps prepending adjectives to a variable name. There’s even symmetry: the midpoint is just Medium Frequency – a relief of simplicity – then it escalates in the other direction: “High,” “Very High,” “Ultra High,” “Super High,” “Extremely High,” up to Tremendously High. It’s as if the engineers said, “We’ll cross that Super High Frequency bridge when we come to it – and when we did, we had to push the naming convention even further!”
This highlights an inside joke every developer can relate to (RelatableDeveloperExperience): naming is hard, no matter the field. We create NamingThings guidelines and style guides hoping to avoid confusion, but reality finds a way to make even systematic naming feel ridiculous. The tweet’s ironic claim that naming is “easy” mocks our shared struggle. It’s classic DeveloperHumor because it takes a dry technical reality and exposes its silliness. The underlying truth is that finding the perfect name requires capturing subtle differences in meaning – a genuinely complex task for humans and one that doesn’t scale well. Just as radio engineers eventually ran out of simple adjectives, programmers often run out of intuitive names. The result? Names that are technically “correct” but laughably convoluted.
To drive the point home, consider a quick pseudo-code example of how naming can degenerate in a real project:
def process_data():
pass # initial implementation
def process_data_new():
pass # second attempt with improvements
def process_data_new_final():
pass # we thought this was final
def process_data_new_final_2():
pass # oops, one more fix... naming is getting ridiculous
In this snippet, each function is a slight variation or update of the previous one. Instead of a clean naming strategy, the developer just keeps tacking on adjectives (new, final, _2) with a groan of defeat. It’s a lighthearted echo of the frequency_band_naming pattern: when straightforward names ran out, we piled on modifiers like “Ultra” or “Final” until the names themselves became a joke.
The meme lands so well with experienced devs because it captures a universal engineering experience: the longer a project (or standard) lives, the more naming conventions stretch to accommodate new cases, and the more absurd some names become. It’s a gentle reminder that NamingConventions might start logical but can end in semantic spaghetti. “Naming is the easiest thing” – sure, and Tremendously Low Frequency is just another casual term we use every day. The comedic contrast between the confident statement and the reality in that table is what makes this meme pure TechHumor gold.
Description
The meme is a screenshot of a tweet from user Matt Rickard, which sarcastically states, 'Naming is the easiest thing in engineering.' Below this tweet is a screenshot from a Wikipedia article titled 'Frequency bands.' The article displays a table listing the International Telecommunication Union (ITU) designations for radio spectrum frequencies. The humor lies in the naming convention shown in the table, which perfectly illustrates why naming is, in fact, one of the hardest problems. The names demonstrate a simplistic and repetitive pattern, escalating with modifiers like 'Extremely low,' 'Super low,' 'Ultra low,' 'Very low,' and then repeating the same pattern for 'high' frequencies, culminating in 'Tremendously high frequency.' For senior engineers, this is a painfully relatable example of how seemingly simple naming tasks can result in confusing and uninspired taxonomies, a problem that plagues everything from variable names to microservice architectures
Comments
26Comment deleted
Our stack has `billing_service`, `new_billing_service`, and `nextgen_billing_service`. The first one is the only one that actually handles billing
The ITU’s spectrum table looks like the enum you get after seven rounds of code review: Low, VeryLow, UltraLow, SuperLow, TremendouslyLow - still tidier than our ServiceManagerHandlerFactoryFactory
After 20 years in tech, I've learned there are only two hard problems: cache invalidation, naming things, and apparently finding new adjectives beyond 'tremendously' when you've already used 'extremely', 'super', 'ultra', and 'very' twice in your frequency band taxonomy
Ah yes, naming things - one of the two hard problems in computer science, along with cache invalidation and off-by-one errors. This radio frequency spectrum table perfectly captures why: when your 'standard' naming convention requires distinguishing between 'tremendously,' 'extremely,' 'super,' 'ultra,' and 'very' as technical descriptors, you know someone on the ITU standards committee was having a tremendously difficult time. It's like semantic versioning, but for adjectives - and just as consistently applied. At least in software we only have to debate camelCase vs snake_case; RF engineers have to explain why 'tremendously low' is lower than 'extremely low' with a straight face
Naming done right: stacking adjectives like unchecked tech debt until 'frequency' begs for an acronym
Adjective escalation as a naming scheme - VHF/UHF/EHF/THF - is basically the original enum inflation; we just call it FooService, FooServiceV2, and FooServiceV2_UltraFinal
RF bands are what happens when a standards body bikesheds an ordinal: Low → Very → Ultra → Super… now write the ORDER BY and tell me where “Tremendously” lands without breaking prod
Ludicrous Comment deleted
Great naming policy through. Comment deleted
There would be enumerable instead if it would be made by tech. Below 3 Hz - 0 3-30 Hz - 1 ... Comment deleted
If it would be made by mathematicians, there would be no ranges, they require exact numbers Comment deleted
Strange statement Comment deleted
Sorry, not native English speaker (writer?) Comment deleted
"native speaker" works Comment deleted
doubt Comment deleted
y Comment deleted
because that's just not how it works. Those are ranges for use in communication. I'm sure mathematicians have something like this too. Comment deleted
They use powers of 10 Comment deleted
Who "they"? Comment deleted
Mathematicians. I mean without those acronyms Comment deleted
sometimes they do, sometimes they use scientific notation, sometimes they just talk about ranges, e.g. blah blah the value is in the 7th magnitude Comment deleted
(bad translation from what I know from german though) Comment deleted
I think pure mathematician will unlikely deal with frequency ranges like that Comment deleted
All I know exactly is that mathematicians would prefer as short expression as possible Comment deleted
Bonkersly low frequency Comment deleted
Why don't you call it frequency? Comment deleted