Muddy words, messy thinkers and bad code
You are not alone if you heard someone giving a speech containing words that, at close inspection, sum up to nothing. You are also not alone if you interviewed someone who answered questions with vocal noise that filled the air without giving any meaningful answer.
I have a name for noise disguised as words; probably not an original one: I call it “muddy words.” People who keep speaking with muddy words are not afflicted by the inability to communicate; they are afflicted — at best — by an inability to think clearly. In some cases, muddy words are a deliberate attempt to confuse and deceive. Politicians do that all the time, but that is a story for another occasion.
I also have a name for people who can’t cogitate clearly or stay on a stable line of thinking; I call them “messy thinkers.” They communicate by vomiting streams of consciousness formed by unfinished thoughts stitched together in long, confusing chains. They solve problems jumping around from one conclusion to the next, following random patterns.
Messy thinkers start and end with muddy words. They often get confused during their wild mental ride and fail to understand the results of their chain of thoughts. In fact, the hallmark of a messy thinker is that the result of his or her gyrations is a confusing abomination.
Developers who are messy thinkers tend to write messy code which they don’t fully understand, even if it works. Messy code is a long-term cost and should be avoided if possible. For this reason, when I interview a developer, I pay attention to signs of messy thinking patterns.
Non-linear reasoning by itself is not a bad sign; quite the opposite! I have met people gifted with brilliant minds who take unusual and surprising paths to reach elegant solutions. When I witness such a display of lateral brilliance, I try my best to follow it and learn how to do it.
If you are a messy thinker, you can train yourself to improve your mental discipline. If you are also a programmer, mental discipline will improve your code and produce better results. I’ll write about this topic in future posts. Stay tuned!