Socrates said it the best “True Knowledge exists in knowing that you know nothing” and programming field is no exception (get it?). The more i explore new topic or learn new things i notice the things that i don’t know. And that’s just not me everyone feels the same. I’ve met programmers who have 5 or 10 years of experience in programming, they feel the same.
Technology is evolving so fast. It’s hard to catch up on everything. Even Google keeps releasing notes about how badly they’ve written their code and they need to change the architecture every 2 or 3 years. As you become better at something, you realize how little you know.
John Sonmez feels the same way:
Simple Programmer: The More I Know, the Less I Know
This all has to do with something called Dunning Kruger effect.
Dunning Kruger is a “type of cognitive bias where Individuals of low ability experience illusory superiority and incorrectly assess their cognition at a level greater than it is.”
In other words, people can be unaware of how bad they are at some things, because they do not have enough relevant knowledge to judge their abilities accurately. Unfortunately, this also means that we all suffer from the effect in some aspect of our lives; i did, and are simply oblivious to it.
This phenomenon is more prominent among beginner or intermediate level programmer .After a certain struggle they might get overconfident about their skills. Inflated ego and overconfidence are also markers of “stupidity”. The dichotomy is that people are often attracted to and more likely to follow egotistical, confident people as these attributes can be mistaken for leadership qualities.
This creates situations where confident, unskilled people have an advantage when determining technical direction. It’s easy to trust someone who’s confident over someone who isn’t sure of the right answer. This can lead to poor choices or, worse, hampers them coming up with better software designs.
Let’s face the fact, programming is hard or generally speaking every learning process is hard. Programming might be easy to you if you relay too much on framework, copy/pasting codes from tutorial and stackoverflow but programming is not easy if you write scalable and optimize codes, make things from scratch, and read entire documentation to determine how specific stacks works.
If you find yourself being influenced by this cognitive bias, it doesn’t automatically mean that the code you construct will be bad. This does mean, however, that there is a strong possibility that the code you wrote is not the best way to do that certain task.
How to overcome Dunning Kruger’s effect?
To minimize this effect you should accept the fact that you don’t know everything. It doesn’t matter If you are successful or not. Admit the fact that there is something you don’t know. It’s perfectly fine. You just need to continuously improve yourself.
The most intelligent people/geniuses of this world came to the inclusion that in the grand scheme of things, we know nothing. We haven’t even mastered our own planet we live on, or even ourselves.
Once i came to the conclusion that i know nothing, life truly blossomed. I even started to see life in a totally new perspective. None of us know anything TO ITS PURIST FORM! Life is beautiful once we get over ourselves .
Also check: Why persistence is key in programming