I’m writing this to dump some ideas I had for a while about the excessive use of made up terms and acronyms in the technology field and the feeling I had that the matter is largely an obsession with it more than being a way to compress the language to be more efficient.
If we’re looking at the human language we’ll see we’re trying to communicate ideas and intents with it, and that takes time so we gradually try to make it less time to express the same ideas over and over to other people, to do that we compress the language. So Instead of says “we need to increase our output in the same time frame” we just say “we need to be more efficient”. So we compressed the idea of “increase our output in the same time frame” to be one word “efficient”.
This is done on large scales where the compressed idea is general and people are using it regardless of their field, and also done in small fields and circles to the point where you and your friends can have a made up word that refer to something only both of you know, like a secret language.
In between these two extremes there are the technology field, where we have a specific domain for this domain there are jargons and terms that are very common like algorithms names and data structure names, some are more specific like applications names in specific fields or platforms and it gets more and more specific to the point where you can have terms you and your team only know like a project name or part of the code that you named it “Borg” for example.
The problem is when this compression is made up and used in a way that doesn’t really make any sense anymore and not shared in the minds of people to convey any meaning, and using these terms in marketing for software, for example the term “service mesh” what does that even mean? who made this up? why are people were so obsessed with it as if it’s set in stone, that doesn’t even communicate any meaning.
So first terms became ridiculously vague to the point where it means something different for different people and for that you can compare “stack data structure” with “service mesh” or “service orchestration” one defined a specific set of properties and names for the interface of a data structure and the other is very vague and the meaning is fluid to the point it makes no sense.
Second the terms are made where it try to be smart not communicative so compare a term like “process scheduler” which is a part of the operating system to a term like “service orchestration” which could be just replaced by “distributed process manager” or any meaningful word other than the flashy word “orchestration” which is trying to be more appealing to marketing people.
The issue is very harmful when certain people start to make up terms in their books and then the book readers starts to act as if the terms should be known by everyone.
I think we should be more conservative in using terms and acronyms and try to be more clear in our language, clarity is what makes our communication more effective and make us work better together.