How to explain technical information to someone with no technical knowledge

Last week as I was asked to describe what a JavaScript callback is to someone without any technical background. I thought about it for a few seconds and couldn’t think of a non-technical way to explain that a callback is a function that gets executed after another function has finished its execution, so then I was asked to explain a 500 error instead.

Explaining what a 500 status code is to someone with zero technical knowledge sounded more interesting and fun to me so this is what I remember saying…

A 500 status code is what you’ll get when a something has gone wrong on the web application’s server but the server doesn’t have any specific details.

Imagine a home with many doors, in this example, each door is a “web application” and the home is the “web server”, the place where all these doors are.

Now imagine that you open a door, and while the door does exist, there is nothing behind it, at this point the home will tell you that nothing specific exists behind the door so in web server language, that would be similar to a 404 status code which means “Not Found”.

What about the 500 status code? Well, if you attempt to open any other door and nothing works inside of it, the home will tell you that there’s something wrong with it, but not sure what it is. For example, there might be no lights or no water, but the home won’t tell you that, it just tells you that there’s something wrong and in web server language that’s usually what a 500 error means. Something is wrong with the web server or the app but it doesn’t know what it is.

If you can’t explain it simply, you don’t understand it well enough.
~ Albert Einstein.

By now you’ll probably already pulling your hair, and I understand, this is painful. My explanation or attempt to explain this to someone with zero technical knowledge wasn’t good enough, at least not in my opinion. But that isn’t the point of this, the point that I am trying to make is that it is very hard to explain something technical that is well understood by us and people that we work with, but not by anyone that isn’t technical and has zero knowledge about programming or web servers in the above example.

In my experience, having the ability to translate a technical problem or solution to a non-technical audience is key, it is something that you as a software engineer, for example, will need to do many times when communicating with business partners, customers, or anyone that isn’t a software engineer or has any technical knowledge.

How do we get better at this? Well, this is something that the more you do, the easier it gets, but it never stops being difficult. You might memorize a couple of examples where you can explain a couple of things, but with technology changing so rapidly it will be hard to have a template or an example of how to translate something technical onto something that anyone can understand.

The ability to tell a story is key to accomplish this, and without at least trying to get good at storytelling, your chances of confusing people and not being able to communicate something technical clearly are very low.

Also, be empathetic and patient. If you are trying to explain a technical concept be aware of who your audience is and tune your technical speak to their level. There might be times where you’ll replace the technical talk with something that your audience will understand, remember that your ultimate goal is to communicate and to do it clearly.

In conclusion, I learned something about myself and this blog post is the first step to improve it, I don’t think too much about how to improve my communication skills when trying to explain a technical concept, idea, or problem, to someone who doesn’t have the technical knowledge or experience with technical terms.

Here are some resources that I am using to help me with this subject:

5 responses to “How to explain technical information to someone with no technical knowledge”

  1. Fernando Zamora (@fernandozamoraj) Avatar

    It’s always a challenge to explain something to someone else that doesn’t have a foundation in that particular area. It’s a fun exercise. You did a good job taking something unfamiliar and explaining in familiar terms. I think a good example is a baby crying from a father’s perspective. You know something is wrong but the baby can’t and won’t tell you what specifically. Now, the mom (the techie in this scenario) has a better way of knowing what’s wrong than the dad (who in this case would be the non-techie). Mom’s usually know if it’s a dirty diaper, hunger, pain, discomfort, teething, etc, due to experience. In the case of a 500 error even within the developer community a developer familiar with the product will have some pretty solid suspicions, where as a developer not so familiar will have a harder time finding the cause (assuming these developers have access to the code and host software).

    Thanks for sharing.

    Like

    1. Ricardo Sanchez Avatar

      You also touch on an important point with your example, it’s not just about explaining something technical in terms that might be obvious to the majority of people, but also, it is about understanding who your audience is as this will help you communicate your message in a way that is understandable and relatable to them.

      Like

  2. […] a friend of mine mentioned in one of his blog posts that he found it difficult to explain a callback to a non-techie or “to someone with no […]

    Like

  3. Fernando Zamora (@fernandozamoraj) Avatar
  4. […] questions through an interview this will ensure you that what they know and how much they have technical knowledge. This will give you an idea of their technical aptitude and how good they […]

    Like

Leave a reply to Points Keep In Mind While Hiring A web development company — Blogs Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

I’m Ricardo

Photo of Ricardo

I enjoy coding and working with great people, as well as taking photographs, writing, reading, and traveling whenever possible.

Let’s connect

Create a website or blog at WordPress.com