BaaS, FaaS, and ASS. The tech world is inundated with acronyms that often make communication more frustrating. There’s even an acronym for ‘Things Without an Interesting Name,’ or TWAIN. Today we talk about the convenience and cost of acronyms, an important topic considering that software developers spend a lot of energy naming things. We open our conversation by touching on the awkwardness of the ever-present ‘As a Service’ acronyms before focusing on niche companies that create acronyms to differentiate themselves. Borrowing insights from domain-driven design, we discuss the bounded context and how acronyms can make sense in some contexts but not in others. While chatting about acronym overindulgence and the recursive acronym, GNU, we derive some general rules about what good and bad acronyms look like. Near the end of the episode, we dive into why making up acronyms is a strategy to avoid coming up with a better name and how acronyms like the PATRIOT ACT deliberately obscure meaning. Tune in to hear more on the art of writing acronyms — along with why you probably shouldn’t be making one in the first place.
Key Points From This Episode:
Transcript for Episode 180. Acronyms for Fun and Profit
[0:00:01.9] MN: Hello and welcome to The Rabbit Hole, the definitive developer’s podcast. Live from the boogie down Bronx. I’m your host, Michael Nunez. Our co-host today.
[0:00:09.3] DA: Dave Anderson.
[0:00:10.1] MN: And our producer.
[0:00:11.3] WJ: William Jeffries.
[0:00:12.2] MN: Today, we’ll be talking about acronyms. Convenience or cost. When companies take it way too far.
[0:00:18.8] DA: Yeah, or maybe not far enough, they could be having more fun with those acronyms.
[0:00:23.7] MN: I’m sure everyone here has worked at places where the acronyms are too difficult and tech just takes it up another notch in general. Well, just try and explore some that we find hilarious and some that are actually useful to us. Does anyone want to kick us off because I have one already on deck.
[0:00:40.8] WJ: Let’s hear it.
[0:00:42.7] MN: Yeah. I think the whole as a service acronym, I dislike it. It’s just like the idea of like, you have, BaaS and fast and ass and it’s just so weird a thing to say and I don’t know if this is because it makes it easier to type than it is to actually say it. Just say, ‘function as a service’ or ‘infrastructure as a service.’ It’s just like, you got to AAS everything to make it cool and it’s just pretty weird. I don’t like to say that acronym because I just don’t like it, I don’t know. Awkward.
[0:01:14.6] DA: I feel like there’s that core idea of software as a service and that’s fine. That’s enough, maybe, you know, that’s a final thing. And then we have it as a shorthand. But there was one that I came across the other day that just enraged me. Because this is like, how am I even supposed to know what this is? I guess this is like such a specific — they’re really trying to differentiate the market for themselves. They were IPS or iPass.
[0:01:44.5] MN: What?
[0:01:46.4] DA: That is an enterprise integration platform as a service. And this particular software or product described itself as a leader in this domain for the 7th consecutive year. Implying that people have been saying this acronym for seven years, which is wild to me.
[0:02:04.6] MN: No one says that. I don’t think I’ve ever heard anyone say that on purpose. I think that’s what they’re saying. If they’re saying it and no one else is saying it for seven years, then they’re the champ, I guess. Is that how that works?
[0:02:17.7] WJ: Do you guys have GaS?
[0:02:19.1] MN: No, that GaS, I don’t know what GaS is at all.
[0:02:24.0] WJ: Games as a service or government as a service.
[0:02:27.8] MN: I didn’t know that.
[0:02:29.1] WJ: I just think it’s funny to ask people if they have GaS.
[0:02:32.7] MN: No, that is not cool, don’t ask me that out in the streets.
[0:02:37.3] DA: No disambiguation there.
[0:02:39.6] MN: Yeah, I guess, with something so specific like that, maybe like there’s a really certain audience that talks about this stuff all the time and needs to abbreviate. Or is, like, a part of the domain and maybe it’s helpful for them. But as soon as you go outside of that area, it’s just not very helpful I think.
[0:03:03.6] WJ: Are you giving me SaaS?
[0:03:04.1] DA: Yeah, SaaS, I’m giving you some SaaS.
[0:03:06.2] WJ: Securities as a service.
[0:03:08.2] DA: No, that’s not what I meant by that. But yeah, I don't know, there’s that domain-driven design concept of, like, the bounded context. Where the words only have meaning with — inside of this area and then as soon as you go outside of it, then the meaning becomes too broad.
[0:03:22.8] WJ: IOT-aas.
[0:03:24.0] MN: No, don’t do that William, come on.
[0:03:27.9] DA: Yeah, come on, we’re going to have to —
[0:03:29.6] WJ: IOTS, internet on things as a service, it’s what it is.
[0:03:33.1] DA: I feel like we’re going to have to put a lot of bunny hops in this episode. Not acceptable.
[0:03:39.7] MN: Don’t ask me if I have IOTaaS, whatever. Even when we were looking this up, I probably would have failed a technical interview because I forgot what JSON meant. But, it’s like a thing that you’re using all the time. And I completely forgot about the on part in JSON but that’s like, I guess, in the bounded context at that point, JSON is now the word you know, it’s more than just the acronym at that point.
[0:04:06.1] WJ: Yeah, it’s sort of evolved into a word.
[0:04:08.3] MN: Right.
[0:04:09.1] DA: If you’re in the context of the web, then JSON makes all the sense in the world. Like, if you’re at your college with your boys then it’s like, it’s just my buddy Jason.
[0:04:21.5] MN: Exactly.
[0:04:23.3] WJ: Yeah, I think part of the reason why we’ve kind of adopted JSON as a word instead of an acronym, it’s because it was such a bad acronym. On check notation, really? That’s what we’re calling it? It doesn’t support functions.
[0:04:34.9] MN: That is true, if you had an object that had something, that had a function —
[0:04:39.4] WJ: The whole idea of object oriented programming is that you’re putting your data and the methods that modify it together.
[0:04:45.1] MN: Right.
[0:04:45.6] WJ: Recreating notation where you specifically cannot do the things that makes it an object. It’s just data, it’s a data notation.
[0:04:54.0] DA: Right, it’s like —
[0:04:55.7] MN: So it’s J-SaaN.
[0:05:09.2] MN: I mean, I guess it’s like for serializing the thing that can have the methods and behavior attached to it. But I get where you’re coming from, it is kind of bad. But I mean it’s like, from a history —
[0:05:19.0] WJ: I mean, I guess if you’re going to stringify the method definition then put -eval on it, but that sounds terrible.
[0:05:25.5] MN: I mean, there’s all those other formatting things like XML or HTML or YAML, everybody loves YAML these days, got to get some YAML in there, which is yet another markup language. I guess they’re just leaning into the joke at that point.
[0:05:41.6] DA: Yeah, I mean, tech definitely has its fair share of acronyms, it’s true. But I think that as industries go, there are worse. I was looking at the C2 wiki, which is a depth of historic software engineering knowledge. So many interesting pages to read on the proto-Agile from the late 90s. There’s one acronym on there that I never knew that this was even an acronym, there is a protocol called TWAIN which — I forget exactly what it’s for. I think it might be, like, for communicating the device or something like that, like a printer. That supposedly stands for - ‘Thing Without an Interesting Name.’
[0:06:25.0] WJ: As embarrassing as all of these are for people in the tech industry, I think the medical field is worse. And that they take acronyms even more too far. Also, the advertising industry, they get really crazy with it and I think it also varies from company to company, like some companies are really allergic to acronyms and some of them are really addicted to them.
[0:06:49.1] DA: Yeah, the thing that gets my goose — that’s an acronym in itself, the GOOSE stands for something. We’ll reveal it later in the podcast. But when a system is just named as an acronym, that doesn’t describe what that thing does at all. If I have a system that’s called PIZZA, sure, that’s fun, everybody loves pizza. And you know, PIZZA talks to NINJA and, well, I love ninjas too, but like, that doesn’t tell me what the heck’s going on here. You better have like a really good read me or diagram that explains this. But even then, you could just give it a name that is descriptive of what it is. Is PIZZA an ordering system and NINJA is your warehouse management system? I don’t know, maybe.
[0:07:40.4] MN: Out here flipping ninjas and eating pizza, that’s what that organizations all about.
[0:07:45.5] DA: Yeah, but then like, when you’re trying to decide, “Okay, where do I make this change or where do I include this new bit of code,” as a new person, I’m not writing any code about pizza or ninjas, so it’s not immediately evident where that should go.
[0:08:00.9] WJ: Yeah.
[0:08:01.4] MN: Right and I think you mentioned a good point and imagine you joining the organization and then you are working on the PIZZA service and you’re like, “Wait, what does PIZZA do?” It doesn’t help the person who was being onboarded onto the team to know the service that they are working on. It is just PIZZAs and NINJAs all over the place. And it just makes it very difficult to onboard people to your organization when you have those acronyms like that.
[0:08:27.7] WJ: Yeah, I think that is one of the big costs of excessive use of acronyms is that it makes it difficult to onboard people. And then the other big one is that it just obscures meaning. I think when you do get good acronyms it’s because they make the meaning clearer rather than less clear. Like DRY — ‘don’t repeat it yourself.’ DRY is an acronym that is designed to make it easier to remember something. It is a mnemonic device and it also kind of resembles what it means.
When you dry up your code, you make it smaller and harder, you know, just sort of like if you were to dry up a piece of fruit.
[0:09:08.4] DA: Delicious.
[0:09:09.5] WJ: Yeah, delicious dried fruit. And I think people even have used that notion of dryness to spawn new categories, like ‘rehydration.’
[0:09:21.0] DA: Or DAMP.
[0:09:22.1] WJ: DAMP.
[0:09:24.2] DA: Which is like the opposite of ‘don’t repeat yourself.’ That is definitely a backronym where they’re like, “Okay, it is just the opposite of DRY so we’ll call it DAMP.”
[0:09:32.5] WJ: Yeah, I think backronyms are a good thing. If you are going to do an acronym, make it a backronym.
[0:09:38.6] DA: All of these?
[0:09:39.2] WJ: Figure out how to make it meaningful in its acronym form first.
[0:09:43.5] DA: Right, DARE.
[0:09:46.1] WJ: To resist drugs.
[0:09:47.3] DA: Yeah, exactly, very —
[0:09:49.2] WJ: [Inaudible: 09:49.2] acronyms.
[0:09:51.2] MN: There you go.
[0:09:53.6] DA: Although that will be DARA, I guess.
[0:09:55.8] MN: Don’t start making acronyms now. We are bashing them right now.
[0:10:00.5] DA: Acronym Abuse Resistance Education.
[0:10:04.9] MN: I think the other one you mentioned before, which is KISS, which is a really interesting acronym, which is ‘keep it simple stupid,’ which, I guess, people keep that in mind when they are designing things like, “Oh yeah, remember that KISS principle.” And that kind of makes sense, although I am not sure how KISS applies to programming. But that is one of those acronyms that exists in the programming space that we kind of accepted as a thing we do.
[0:10:31.7] DA: Yeah, I mean, it has kind of a, like a good snap to it. “Oh KISS,” and then, like, you don’t have to call somebody stupid but then you did call them stupid.
[0:10:40.7] MN: Yeah that is a good one.
[0:10:44.3] DA: Or like YAGNI, also, there is a certain snap back to it. There is a little bit of attitude in YAGNI, like ‘you ain’t gonna need it.’
[0:10:51.3] MN: You have to say what the accent. With the ‘yay’ ain’t gonna need it, exactly.
[0:10:55.9] WJ: You know, Jan You.
[0:10:58.5] MN: Which was that one?
[0:10:59.5] WJ: GNU’s Not Unix. Do you know what the GNU stands for in GMU’s Not Unix? It’s also like them.
[0:11:05.7] MN: GNU?
[0:11:06.9] WJ: Yeah.
[0:11:08.0] MN: No, I don’t know what it stands for.
[0:11:09.9] WJ: So the G in GNU stands for GNU, which is an acronym for GNU’s Not Unix. You know what the acronym GNU in GNU’s Not Unix is?
[0:11:20.5] MN: Not Unix?
[0:11:22.3] WJ: You can see where this is going. It’s a recursive acronym.
[0:11:26.0] DA: Yeah, if a puppy dies every time an acronym is invented, then a recursive acronym is no bueno.
[0:11:36.2] WJ: It is just infinite dead puppies.
[0:11:37.9] MN: Oh no that means at some point in time there were infinite puppies and then got infinitely negative in the first place.
[0:11:46.5] DA: It’s okay, we had an infinite plus however many we have right now, I guess.
[0:11:51.8] MN: We have to kill all the acronyms. Save the puppies.
[0:11:55.0] WJ: I think that one of the things that makes acronyms so tempting is that it is a way of getting around coming up with a better name for something. Like, if you can’t come up with a name for a product or a service — or whatever it is that you’re creating an acronym for. Sometimes you just take a phrase that describes it and then you try and turn that into an acronym. And that’s easier than putting in the hard work of naming things. Which is, like, one of our main jobs as software developers.
[0:12:23.6] MN: Yeah, because I think I guess I will ask us, you all, is a bad name worse than an acronym? What if PIZZA wasn’t an acronym but it was pizza service. Is that a bad name or is it worse than having it as an acronym and then using an acronym or is the bad name still worse than an acronym?
[0:12:42.4] WJ: That is a tough call.
[0:12:43.6] DA: I guess there are really bad names but if you do your earnest best, then I think you can probably come up with something that is somewhat close to what it might be, like, giving you a hint.
[0:12:56.4] WJ: It seems like acronyms are sort of a category of bad name. So maybe you could come up with an even worse name that is not an acronym. It would seem challenging.
[0:13:05.9] DA: Hold my beer.
[0:13:06.8] MN: Yeah and so it is harder to come up, like, if you put some thought into it, you can come up with a name that will still be better than the acronym. Because the name should explain something about the application as opposed to an acronym that is completely off the wall.
[0:13:23.5] DA: You got a better shot. You had a much better shot.
[0:13:26.2] MN: I mean naming things are hard —
[0:13:261.4] WJ: — Like the PATRIOT Act?
[0:13:26.3] MN: Oh that is a long one if I recall correctly.
[0:13:31.5] WJ: It is a good way to obfuscate meaning. Here is the law that actually takes away all of the privacy rights. We are going to call PATRIOT Act. So it sounds super American.
[0:13:42.2] MN: Because America.
[0:13:43.6] DA: #Courage.
[0:13:45.0] MN: I’ve just googled it, so I'm probably going to be tracked after this. ‘Providing Appropriate Tools Required to Intercept and Obstruct Terrorism.’ America. And what is funny is that the USA because it is the USA Patriot Act. They give you a heads up but the USA is not the United States of America. It is ‘Uniting andStrengthening America by Providing Appropriate Tools Required to Intercept and Obstruct Terrorism.”
[0:14:11.6] DA: Taken away with the infinite recursive acronym with that — missed opportunity to make a truly bad acronym even worse.
[0:14:21.3] MN: That is America baby.
[0:14:23.4] DA: Like one of my favorite games when I hear an acronym is just to ask what it means. Especially when I am new and I have some cover to do that. And if you can find the person who knows what the acronym means, like, a lot of times people are like, “I don’t know what that means.” But if you can find that person then that person just knows so much. It’s like a good litmus test.
[0:14:48.6] WJ: Ah yes, this person has been around since the founding of all the acronyms.
[0:14:53.4] DA: Exactly, they are part of the problem but they could also be part of the solution because they may know it actually does.
[0:14:59.9] MN: Well, figure out who is out there making acronyms about your organization and if you are still making them, stop. They are pretty difficult to follow. Think about Dave who is going to come in and ask, “Hey, what does that mean?” And then you wouldn’t be able to answer it six months down the line — or any of your coworkers or your peers may not be able to answer down the line.
[0:15:19.4] DA: Yeah and then I’ll feel dumb, you’ll feel dumb, we all feel dumb. Let just think of a good name and be smart.
[0:15:25.4] MN: Exactly. KISS, ‘keep it simple stupid.’ Come up with the name you could do it.
[END OF INTERVIEW]
[0:15:31.1] MN: Follow us now on Twitter @radiofreerabbit so we can keep the conversation going. Like what you hear? Give us a five star review and help developers like you find their way into The Rabbit Hole and never miss an episode, subscribe now however you listen to your favorite podcast. On behalf of our producer extraordinaire, William Jeffries and my amazing co-host, Dave Anderson and me, your host, Michael Nunez, thanks for listening to The Rabbit Hole.
Links and Resources: