markdown guide

Being able to explain advanced topics simply is actually a sign of mastering a topic, so it's actually a very good skill to master.

Challenging yourself to explain topics simply is a good way to learn. It's one of the many reasons working with junior programmers is very valuable for senior developers.

Granted, some topics are just complex and deserve more than a pithy paragraph or two but most of the ones I see here dont fall into that category.


I am all for simply. However, I don't understand the obsession with "I am five"


The idea started from one of the original subreddits from Reddit with the same name.


Many times explanations add more complexity than they subtract. They use terminology that won't mean anything so someone who doesn't already understand the concept being explained, or use examples that include other technical concepts or unfamiliar business logic.

For example, Google "dependency inversion", look at the first few explanations, and consider whether someone who read them without already understanding it would learn anything from reading them. The diagrams are incomprehensible and are likely to make people feel stupid.

"Explain it to me like I'm five" means "Teach me instead of overwhelming me with extraneous jargon."


I agree with your last statement. My point was that many of the "like I am five" explanations do a poorer job of teaching the concept by sticking only to "childish" concepts.

In you example about "dependency inversion". I am gonna assume you are a programmer, not a five year-old. This helps me make assumptions of what you might know and makes my job of explaining much easier because I can build on common ground. Otherwise I have to impose on you MY understanding of what a five year-old would comprehend without taking into account the available information -> you are a programmer.


Did you think it was literal, as if someone was going to explain a programming concept to a five year old child?

There are a number of people who do take it literally. Sometimes it's a harmless conceit; other times it leads to tortured metaphors which do a markedly worse job of furthering the asker's understanding of the topic than does a simple but still-technical breakdown taking for granted a minimal shared understanding of the context.


If you don't like the “like I'm five“ analogies you could always say “Explain this in plain english, please?“, it's the same without the childlike analogies.

Some topics are just to abstract to be understood with full technical terminology, using a simpler language surely can help you understand new concepts. :)


What's your reason for asking this question? Are you hoping that this site will get rid of the category? Do you have suggestions for how to make things better?

Here's a suggestion: for folks who don't want a childlike metaphor, request that when you ask your question. Something like "I'm having trouble understanding this, please explain to me as you would to a {5,10,15,20}-year-old."

Not everybody here is a professional programmer at the same skill level. So it helps to clarify if you want something different from the norm.


I didn't understand why anybody would ask for explanation like they were five. To me this is saying:

  • I haven't done ANY research on a topic that I am interested in (huh?). Or I have but I am so overwhelmed by it that I don't even grasp the fundamentals but please explain the advanced stuff simply to me. Again - huh?

Why would I bother answering? To me this is for one of two reasons, maybe more - to prove that I am super duper smart so I can deconstruct an advanced topic in super easy constructs. This is a common motivation I guess as I have come across "childish" explanations not only in blog posts here, but in books as well, that are so contrived that their only utility is boosting the author's ego rather than helping the reader grasp a difficult concept. The other reason - for fun as mentioned in one of the previous comments.

As suggestions go - maybe people could do a little bit of work before asking questions -> "I have gotten so far, I just don't get that next piece...could you help me."


I haven't done ANY research on a topic that I am interested in (huh?). Or I have but I am so overwhelmed by it that I don't even grasp the fundamentals but please explain the advanced stuff simply to me. Again - huh?

As an introvert, I agree with you. People like me (and I'm guessing like you as well) tend to do a lot of research before they ever would consider asking a question. However, not everybody's brain works that way. Some people process thoughts better in a group, and they think to themselves "why would I look in some book or read some article when I can better ask a question from a smart human that's available?" For many people (extroverts), asking questions of people is the very first step, not the very last, on a new project.

It follows then that there might be people on the other side, who have learned a lot, that would want to answer questions more socially for the same reasons. As has been stated here on Dev.to a few times, we have Stack Overflow for folks who are well into their research + knowledge phase but need specific answers. We have Dev.to for folks that need or prefer more qualitative conversations about / perspectives on these topics.

By taking a more charitable view of folks with a variety of learning styles and preferences, you'll probably enjoy this site more.

Thanks for the great reply. I agree with your reasoning :)

Classic DEV Post from May 13 '19

How to approach solving a challenge during a coding interview

Like many things in life, mastery requires practice and the coding interview is n...

Ivan Petrov profile image

Build community