20 Why Is the World Different From Your Understanding

20 Why is the world different from your understanding? #

Hello, I’m Zheng Ye.

Starting today, we are going to embark on a new module: Communication Feedback.

If you see the words “communication feedback,” you might think that I’m going to teach some conversation skills here, but you would be mistaken.

In this module, I intend to discuss with you the topic of living in the real world. How are communication feedback and living in the real world related? Please allow me to explain.

Sherlock Holmes in “Monopoly” has a catchphrase: “There are nine chances out of ten that things will not go as you expect!” But have you ever wondered why life is so full of disappointment? If this were an inspirational article, I would tell you that life is tough. But what I want to say is that the real reason often lies in the fact that you have overly idealistic expectations. Let’s take a look at some examples using our software development process:

  • In our desires, the product we build should become famous overnight, but the reality is a struggle.
  • In our desires, the requirements given by product managers should be clear and straightforward, but the reality is often vague.
  • In our desires, the code we write should be fast and flawless, with easy maintenance. But the reality is that bugs keep popping up, and the more we try to fix them, the longer it takes.
  • In our desires, when you assign us a task, we should quickly understand the key points. But the reality is often far from your goals.

Why is it like this? Welcome to the real world. The real world is not driven by idealistic wishes; it has its own operating rules. Although we all live in the same world, each person’s understanding of the world varies greatly.

We strive to learn various knowledge to better understand how the world operates, and communication feedback is the best way for us to interact with the real world.

You may be curious as to why our understanding of the world can deviate. Next, let us take a look at it from the perspective of information theory.

An Explanation from an Information Theory Perspective #

In 1948, Claude Elwood Shannon published a paper titled “A Mathematical Theory of Communication” in the Bell System Technical Journal, marking the beginning of modern information theory. Information theory has since made significant contributions to various fields familiar to programmers, such as communication, data compression, cryptography, and natural language processing.

What we want to draw upon here is one of the communication models in Shannon’s information theory, as shown in the following diagram:

This diagram contains several elements:

  • Information Source, responsible for generating information (Message).
  • Transmitter, which performs certain operations on the information, encoding it into a signal (Signal).
  • Channel, the medium through which the signal is transmitted.
  • Receiver, which performs the inverse operation of the transmitter, decoding the signal and extracting the information.
  • Destination, responsible for receiving the information.

Of course, there is also an element in the diagram called Noise, which refers to something that weakens the signal. However, it is not the focus of our discussion here, so we will temporarily ignore it.

Let’s use an example from real work to understand this process. Suppose your project manager assigns you a task. In this case, the project manager acts as an information source. His idea is his message, and he wants to communicate it to you. First, he needs to encode it in his brain and express it in language. The sentence he speaks is the signal.

For example, the signal is “complete a requirement.” This sentence is transmitted through the channel, which is the air, to your ears. After receiving the sentence, you decode it based on your understanding, forming your own thoughts. As the destination, you have received the message, and the entire process is complete.

Now, let’s see how understanding deviations occur.

The signal transmitted by the project manager is “complete a requirement”. In the project manager’s mind, the original information of this signal might be something like: write the code required for this feature, then write automated tests for this code, integrate it with the existing system, and verify it with the testers.

But before studying this column, the information you decode from the signal “complete a requirement” is simply “finish the feature code”. And that’s where the problem arises. Even if we ignore the interference of noise, when the encoding and decoding are not synchronized, the project manager’s information is difficult to accurately convey to you.

This is why people often misunderstand the world.

The transmission of information involves both encoding and decoding processes. If either the encoding or the decoding is faulty, the information becomes inaccurate.

On the one hand, some people express themselves unclearly. They may spend a long time describing a simple matter, yet you are still in the dark about it. This is equivalent to the signal produced by the information source already being inaccurate after encoding.

On the other hand, like listening to some technical presentations, even if the speaker explains clearly, we still cannot understand the information being conveyed because we lack the relevant background knowledge. This is equivalent to having accurate signals but lacking corresponding decoding devices, rendering the signals unable to be converted into useful information.

Another example is the mismatch between the encoding and decoding devices of the sender and receiver. The same signal leads to different information, and the purpose of information transmission cannot be achieved effectively.

With the theoretical foundation, it is easier for us to understand why the world always seems different from our understanding - because there is a problem with the encoding and decoding process. Due to differences in experiences and perspectives, each person has a different encoder and decoder. The world is the same, but each individual sees it in various ways.

If we want to live a happier life in this real world, what can we do? The answer lies in improving our encoder and decoder. How can we improve our encoder and decoder? This is the topic to be discussed in the “communication feedback” section.

Improving Encoding and Decoding #

From the perspective of improving encoding and decoding efficiency, what factors should we consider?

First, let’s consider the effectiveness of the encoder. In other words, when we want to convey information to others, we need to encode the information into a valid signal, at least ensuring that no information is lost from our end.

Let me give you an example. Once, when I was consulting at a client’s site, one of their programmers introduced their system to me. He spoke for twenty minutes, but I was completely confused. So, I interrupted him and spent five minutes explaining it in my own words and asked him, “Is this what you mean?” He nodded vigorously and said, “Yes, exactly.”

Why did this happen? The reason is that he jumped right into explaining implementation details without any introduction.

You see, I came to understand the situation, so my background knowledge was definitely insufficient. It is very difficult to understand these details out of thin air. From a communication perspective, this approach wasted a lot of time because I had to constantly ask him to provide the missing background information. This is actually a common problem among many programmers: going straight into details when explaining something.

I have also encountered similar situations during interviews. Some candidates start talking about technical details, but I have no knowledge of the systems they have worked on, so I have to interrupt them and ask them to give me an introduction to the background first.

Similarly, many people complain that others can’t understand them, but the first question they should ask themselves is whether they have made their speech clear enough. This is when the encoder has a problem.

Secondly, we also need to consider the effectiveness of the decoder. In other words, when a signal is presented in front of us, as the receiver, can we decode the information effectively?

Famous writer Wang Xiaobo once told a story about a messenger in the Kingdom of Khwarazm in Central Asia. According to the story, it was a strange custom in the ancient country that any messenger who brought good news to the king would be promoted, while those who brought bad news would be sent to feed the tigers. In this way, who would dare to bring bad news to the king? But the problem is, if the king doesn’t listen to bad news, does it mean that bad news doesn’t exist?

This is equivalent to a problem with the decoder, filtering out a lot of real information. But the real world is the real world, and it does not operate according to people’s wishes.

Let me give you another example from our daily lives. Programmers are usually very intelligent people. When several people discuss a problem together, one person often thinks they understand the other person’s ideas as soon as they start talking and then starts expressing their own opinions. Without complete information, how can there be effective decoding? Therefore, in team discussions, it is common to have someone talk at length about something completely off-topic.

If we want to work and live better, we must accept the feedback from the real world, and to do so, we need to open our receivers and accept signals and feedback. This is the premise of decoding. Second, we need to broaden our horizons and improve the effectiveness of our decoders in order to better understand what others are trying to express.

Having discussed the problems that may arise with the encoder and decoder, let’s look at another potential issue: encoding and decoding algorithms, or how to facilitate more effective communication between the two parties.

Since we have already mentioned that a subpar algorithm can affect the transmission of information, the next question is how to find a good algorithm. In fact, all the best practices we have discussed throughout are good algorithms that help improve communication effectiveness.

Let’s go back to the example of “completing a requirement” that we discussed in the “Starting with the End in Mind” module. By defining the “definition of done,” we can improve this process. In other words, both parties in communication have a coding and decoding manual.

When a signal like “completing a requirement” is sent, as the receiver, your decoding action becomes checking the manual to see what the standard actions are for “completing a requirement.” Then, you won’t make such simplistic estimations about the matter.

In the “Communication Feedback” module, I will introduce various “algorithms” or best practices to help you improve the efficiency of “information” transmission in your work.

Returning to our main topic, communication feedback is the way to improve encoding, decoding, and algorithm coordination. Whether it is about sending clearer messages, receiving them more clearly, or coordinating through various algorithms, it is all about preparing both parties for effective communication.

Conclusion #

In life, most of the things that do not go as expected are due to unrealistic fantasies or desires we have towards the real world. The same applies to software development. Although we all live in the same world, our understanding of the world varies greatly.

We can use a communication model borrowed from information theory to explain why everyone sees the world differently. The key lies in the fact that people possess different encoders and decoders. To live a happier life in this real world, we need to continuously improve our encoding and decoding abilities.

Improving encoding and decoding requires several approaches: improving encoders to output more accurate information, reducing signal filtering and improving decoding abilities, and using industry best practices as encoding and decoding algorithms to facilitate communication between parties.

If there is only one thing you can remember from this content, please remember this: continuously upgrade your encoding and decoding abilities through communication and feedback.

Lastly, I would like you to reflect on any problems you have encountered at work due to poor communication and feedback. Feel free to share your thoughts in the comments.

Thank you for reading, and if you found this article helpful, please consider sharing it with your friends.