One of the basic subjects in human psychology research is to analyze the subconscious and consciousness of people. Freud was the first person to clearly identify and describe the "field" of our psychological activities. In the early days of his famous life, he pointed out that our consciousness was divided into "subconscious", "pre-consciousness", and "consciousness ".
If we want to figure out how they relate to our thoughts, feelings, cognition, judgment, and motivation (which are key factors in our daily and professional life, we can describe ourselves as an iceberg. The tip of the iceberg, the only part that can be seen from the surface of the water, can be considered as our consciousness. It is logical and organized. We can control it, but this part is small. This huge underwater part is invisible to us. They are non-organizational, non-logical, and unrelated, but they determine our behavioral characteristics.
Modern psychology has been trying to analyze the extent to which a person can master a skill by observing how deep a person can be on this iceberg. People describe a person's ability to arrive at four stages. In this article, I will try to apply the skills that we use every day for this classification application. It is programming.
Phase 1: unconscious and incapable
John is a young website developer. He used to be a law student, but he thought his money was not in this aspect, so he turned his eyes and made a decision. He once helped his friends repair computers and was successful, so he thought it should be easy. He quickly found some places where he could learn these jobs (all close to his home, of course ). Six months later, he began to claim that he was a website Expert. His resume already lists many programming languages, applications, and development platforms.
John is actually a cold "copy/paste. He thought that a windows prompt box could be displayed successfully, indicating that he had mastered Javascript. PHP? Simple: he successfully installed Wordpress. Linux? He started the Ubuntu system from LiveCD and was able to build an Apache server load balancer cluster. His consciousness tells him that he knows nothing.
John didn't realize that he could learn more, so he simply stopped learning. He has been in a bubble all the time. Many people in the online forums and email lists he often visits tell him politely that his problem lies in his superficial knowledge, but no one can crack his bubbles. What's even more sad is that his ability in the forum is higher than what you and I add up.
John isUnconscious powerlessness.
Stage 2: conscious powerlessness
Jack is a math teacher. He works at a university in a small town and hopes that his university will have at least five times the number of existing databases. He knows that his university lags behind other research institutions in the field of science and technology, so he decided to do the job on his own. He wants to build an online platform to share their courses in the community.
Mark is a natural logical thinking. He knows that to achieve this, he needs to do research and collect information. His search started from Wikipedia, but after reading a lot, he realized that many teams in the world have provided open-source solutions to his problems.
He selects one of those projects that best meet his needs. He started to read the documents and manuals found on his website, and finally downloaded the source program. His excitement gradually receded because he saw 'database connection error '. He tried again and failed to check every step three times. Mark is not angry because he knows that he is not an expert in this field.
He started to turn to its mailing list platform, where he described his problem in the most accurate language he knew (in fact few. He reminded everyone that he was not clear about what he was doing, so he hoped to get more documents to read, or people could give him tips in this regard. He does not need to wait a long time to get the solution because he has taken the right approach.
Mark isConscious and incapable
Stage 3: conscious ability
It has been two years since Ade picked up his first HTML book. Obviously, this is a way to go. For Ade, every day he thinks about how to improve his favorite major. A few months after he picked up his first book, he got the first job to develop a website as a freelancer. He invested a lot of enthusiasm, no matter how low the salary of the job is, the job has a lot of foundation (or even for his level ).
He believes that the best way to learn is to persevere, defeat, and defeat. He often studies how to execute a function in the best way, because he knows that the best code is not obtained for the first time. He must optimize the code and review it over and over again. He corrected it again and again.
Then, he wrote a program about 30 to 40 rows for himself. A few days later, he couldn't help but feel disappointed because he found a more easy and concise program while surfing the Internet, with only half of his line of code. He is eager to know when he can easily write such high-quality code. However, after a piece of thinking, he began to analyze his own code. He knew that he had to rewrite the code, or he would not be able to sleep well. He does not want to copy and paste them.
Addy is on his way to becoming a good expert, but he will not add this title to himself. He is willing to wait.
Ade isConscious ability.
Stage 4: unconscious ability
This is the ultimate stage of programming. It is not only the result of accumulation of knowledge, but also the result of a series of logical rules that are gradually engraved into a person's mind over several years.
When we face such a person, we have to sincerely admire him for making it easier to deal with such complicated problems. This programmer looks like a solution that can sniff the problem, rather than thinking about it.
Optimized writing, maintenance, and security programs, applying various design patterns, and using the correct combination of development tools will be automatically reflected in his work. This type of person can easily work on multiple operating system platforms in multiple languages.
Conclusion
After reading the example above, I hope you will be convinced that this classification model of psychology is effective in our specific specialized field.
It is worth mentioning that some authors propose the fifth stage: maturity and ability, defined as ability to educate and inherit what he has learned, or even unrealized knowledge. We can see these characteristics from talented people who can teach and explain them (even in the public). These are obviously acquired skills.
Reposted from the IT comment of an external publication. Original article: Here
Four levels of programming capability