Ever tried coding without knowing the inputs?
It's messy, frustrating, and bound to fail, just like expecting others to read our minds in real life. Clear communication is our real-world "type hint", and if we really want to avoid confusion, a good "docstring" helps too.
What's in the Box?!
Reading other people's minds would be an incredible superpower—who wouldn't want to be like Professor X (minus the disability)? It would be like flying on a magic carpet, suddenly exploring a whole new world. However, there is only one Professor X, and he is purely fictional. For us, other people's thoughts will always remain hidden. To us humans, other minds are like black boxes; we simply have no way of knowing what is going on inside. We can't access their motives, beliefs, values, or reasons for acting the way they do. But as haters of Uncertainty, we feel compelled to know what's in that box—or at least convince ourselves that we do.
Unfortunately, our Curiosity is often matched by our laziness. Like someone who looks up spoilers for their favorite show, the easiest way to "know" what's inside the box is to rely on assumptions. We tend to believe that others' reasons, beliefs, and values mirror our own, which can be a trap.
In this blog, we will explore the potential downsides of making assumptions about other people's minds. We'll discuss why, even if we could witness every thought, we might still be left in the dark. Finally, we’ll propose a potential solution inspired by programming—using type hints and docstrings—to make the black box a bit more clearer.
When You Assume You Make An....
As the saying goes, assumptions are for donkeys—or something like that. It should be no surprise that if understanding our own mind is so challenging, then grasping someone else's mind should be nearly impossible.
The first and foremost reason is that people are fundamentally different from us. Shocking, I know. It's not just that others have different reasons and values that drive their actions; even their logical reasoning can vary. This means that even if two people share the same motivations, they might still act differently. For instance, when feeling sad, some people prefer to be around others, seeking comfort and talking through their feelings. Others, when sad, prefer solitude, working through their emotions on their own. Same reasons, different actions.
Moreover, people behave differently depending on the Context. We are constantly influenced by the environment around us, which means we might act one way with our friends and another way at work or with family. It’s like how returning to your parents' house can make you feel like the kid you once were.
And even if, by some miracle, we manage to truly understand someone and predict how they will act in every situation—that's great! But remember, you'll have to start all over again in a day, a month, or a year because people are always changing. Denying this is to deny our humanity and the inherent ability to change according to our beliefs. Therefore, any expectation we form about someone else comes with an expiration date.
Don't Skip if You Can't Read Minds
If you didn’t skip this section, then welcome to the club—you’re one of us! Hurray! We “normal” people (if such a term can even be used) have to navigate understanding others without the benefit of mind reading. And just to make you feel a bit better, you should know that even if we could have that ability, it wouldn’t necessarily help us understand others any better (sorry, Professor X).
Even the field of Human Brain research, with all its promise of uncovering the secrets of the mind, is finding it increasingly challenging to pinpoint where “we”—our consciousness—reside within that pink blob of ours. Motives and intentions can be elusive, even if all our inner transmissions were laid bare for everyone to see.
True understanding requires more than just transparency; it needs active efforts to communicate. In programming, for example, everything is always visible—there are no "hidden lines of code." Every action can be traced back to its origin. But if you think this means all code is equally easy to understand, you are, unfortunately, very, very, very wrong. Writing clean, clear code that is easy to understand requires effort, knowledge, and intention.
Similarly, understanding another person's mind is extremely difficult without effort and intention from them to help you understand. By providing translation, a map to guide others through the twists and turns of our minds, we can achieve a level of understanding that even a mind reader couldn’t reach. A mind reader would likely get lost in the maze, just as we do when we try to assume what’s in someone else’s mind.
Anybody Has a Map?
"Does anybody have a map?
Anybody maybe happen to know how the hell to do this?
I don't know if you can tell
But this is me just pretending to know
So where's the map?
I need a clue
'Cause the scary truth is
I'm flyin' blind
I'm making this up as I go."
Couldn't have said it better. These lyrics from Dear Evan Hansen capture the helplessness of trying to understand someone else without a map to guide you.
If you’ve come this far, let’s explore how we can prepare and deliver our own "maps" to others. In programming, we call these "type hints" and "docstrings"—explanations that accompany the main code to make it much clearer. Others who attempt to understand and use our code can rely on these hints to know when it's relevant, what inputs are needed for it to work, and what outputs they can expect.
Interestingly, these are the exact criteria we could use to make ourselves more understandable in our personal lives:
- Context - What situations trigger a specific emotional reaction in you? For instance, introverts might feel uncomfortable in large crowds, or certain words may make you feel loved, ashamed, afraid, etc.
- Inputs - What can be done to avoid negative outcomes and create a better experience for both parties? If I know the trigger words, I can avoid them, and together we can find more acceptable terms to use.
- Outputs - What is likely to happen if we maintain the current situation versus adjusting our inputs? How does a certain action make me feel? Why is it important?
An example combining these elements might look like this:
"Hey honey, I wanted to tell you that when you come home and leave your shoes in the bedroom, it makes me agitated (Outputs). When I grew up, we always kept our shoes next to the door (Context). To me, taking off shoes at the door symbolizes being truly home (Outputs), while guests kept their shoes on. So, would it be okay if you left your shoes by the door when you walk in? (Inputs)"
These hints are useful tools for establishing healthy Boundaries in your life. However, they don’t need to be presented as ultimatums. Instead, they can be part of a conversation where the primary goal is mutual understanding. As with any interaction, first seek to understand, then to be understood. Developing better communication skills is key to improving your well-being, and, of course, both parties must feel comfortable in the process.
And remember—not to forget! When someone has taken the time to provide a "map" to their mind, it’s crucial to use it. If they've made the effort to explain themselves, the least we can do is keep it in mind. Logging can be a helpful tool for that!
Conclusion
Mind reading is overrated—we barely focus on our own thoughts, so who needs more of those? Instead, to understand others and to be understood by them, we simply need to make the implicit explicit. Don’t assume it’s obvious, and don’t assume others see things the way you do. Just say it. You’d be surprised how often five minutes of conversation can solve hours of struggle.
You don’t have to spell everything out, just provide a few hints here and there, like a good programmer. Make your mind more readable by drawing a map for others to follow.
Let me know what you think about communication, boundaries and every thing in between, and until then - Embrace, enrich and evolve.
Further Reading
Other books related to healthy communication The 5 Love Languages (book)