"Sometimes, your app can have countless issues, due to the use of the wrong data structure, leading to unnecessary asymptotic computational complexity, that will negatively affect UX and lead to poorly optimized cloud deployment."
I sounded pretty intelligent saying that stuff, right? Wrong. That is just a bunch of mumbo jumbo that developers use to feel included in "technocratic" environments such as work and coding forums. But in reality, not a single soul outside the tech community, which forms the largest subset of the population, cares one bit about that phrase. They might feel intimidated about the big words you are using, even if they don't have a clue what you are saying, but trust me, they will respect you more if you can explain it in simple terms that people who can only speak in English (and are not fluent in Python, C, C++, JavaScript etc.) can easily understand.
Being a self-taught developer, I have had the pleasure, and also some not-so-pleasurable experiences, of encountering many teachers. I have come across a free-code camp tutorial in which the teacher explained everything in a way that a nine year old would understand. I have come across Ivy Leagues classes that made me feel stupid from the get go, because I did not understand a single word from the sentence that the teacher had just said. Now, I get it, but back then, it sounded like whole bunch of gibberish.
Well, I have come to realize something profound: people that explain stuff very simply are the best teachers. They not only understand the concepts much better than 90% of the teaching committee out there, but they also understand the most important concept: How to teach.
For years, I tried to learn how to program, but always gave up at 2-hour mark of the tutorial, because I did not understand what arrays and dictionaries had to do with computers in the first place. But after a year or so of doing something else, I would always feel the tug to go back to trying to learn how to program, and I would do the same, and then, fall of the course at the third hour, and on and on it went.
But then one day, I came across Harvard University's CS50 course on YouTube, the holy grail of introduction to computer science courses in the world. When taking the course, I became acquainted with the most excellent teachers of all times, David J. Malan. This dude explained programming in such a simple way, that even toddlers would understand it. The first lecture was taught in "Scratch", you know Scratch, the programming language used to teach kindergarten students how to code. And that was the very first time, I would say that it clicked for me. That was when everything made perfect sense. I won't lie, CS50 is a difficult course for newbies, but damn was that teacher good at his job. He taught very complex concepts in such a simple manner, that anyone would understand. I guess that was the first time I realized that I would never be the "sophisticated-sounding" dev everyone else aspires to be.
The point of communicating with non-technical people is to make the process seamless. Help them understand what they can, and don't explain what they cannot. Telling them how your app is slow because you haven't figured out how to memoize the data or create a cache to make the retrieval simpler and less computationally taxing, doesn't help anyone. When speaking with your fellow devs, by all means, splurge out the latest vocabulary that you have come across. Tell them of how you optimized Dijkstra's Algorithm by harnessing the power of dynamic programming, and creating your own version of the Bellman-Ford algorithm, that is so different from Bellman Ford that it almost resembles, a* algorithm, but its not a* either, because it is something completely new that you just named after yourself. You colleagues will eat that stuff up. They will bow at your highness and greatness. They will exalt you as "[insert your name]" the great. But when speaking with the rest of us mere mortals... Keep that shit to yourself. We don't care that much.
I guess the point I am making is, K.I.S.S (Keep it Simple, Stupid). I think the rule of thumb is to ask yourself, could a 12 year old understand what am saying, or should I just skip it to, "give me a few minutes and I will fix it." I know am not the best at keeping it simple, but at least, people can google a vocab I just installed in my text and get its meaning at first glance, and not need to take an entire college course to understand what the heck I meant in the email I just sent them. And I am not sure if, developers and engineers do that intentionally, or lack the skills of simplifying concepts in a way that non-technical people can understand, or they just enjoy the "intellectual and linguistic masturbation" where they find listening to themselves speak an extremely pleasurable experience. Keep It Simple, Stupid... With that said, till the next read "au revoir les gars."