Why do not we learn? "Why do not we learn?" - The title of the presentation, which appeared not long ago an portal infoq : Why Do not We Learn . The presenter describes the mechanisms that accompany the acquisition of new skills and the whole complex is a true (or not) the story of his life. Who wants to can watch presentations, and below I will describe four stages of learning the model of NLP. Take, for example, learning the skills of writing clean code.
unconscious incompetence - I do not know, I do not know
Imagine it. Get interested programming is still in high school where the classes you created the first computer programs for concatenating a hundred times in a row, the word ass on screen. Did you notice that the process of creation of a computer program generates positive feelings, so poświęcałeś him more and more time on Sunday, leaving behind IT. Perhaps you started writing programs commercially (Part illegally), went to college where only utwierdziłeś in the belief that you are somebody but a remarkable testimony to services were made by PHP, which alternated lines of HTML and SQLa but after so well acted and looked. Another piece was a hanged man program written in one line instruction "for".
One day, one of the thousands of possible ways to reach you about your demolition homeostasis IT - your code is chu ** you. Such an event can take many forms:
- wkleiłeś code on the forum and have been panned
- pochwaliłeś the code in the recruitment and interview have been panned
- someone has inherited your code and the act of frustration broke you drove
is a critical moment because this event causes the activation of natural defense mechanisms as "confirmation bias" (do not know what is the Polish translation), or a whole range of self-oszukiwań comprising the "cognitive dissonance". Ever closer, I will describe these mechanisms at a glance though it will look like, that your subconscious mind will look for confirmation that the people on this forum is debile, he certainly did not recruiter knows his stuff because I do not know how to choose a tie for a sweater and those who inherit your code This is basically also debile debile because only they can not handle variable names jednoliterowymi
When, however, succeed you continue to master the mental goblins is over the hill.
conscious incompetence - I know that I do not know
know that your code is flawed but I do not know what it should be. What to do? You have to retrieve the information and based on them to gain new knowledge - nothing could be simpler. In this case, type in google the phrase "pure code" and absorb knowledge. Knowledge can soak in a correct and incorrect (the second model in the most celebrated Polish school.) The problem of "how to learn" is about the river and we are interested in it himself as a first a kind of meta-knowledge about dobywaniu new skills. Below a mass of interesting links:
Dreyfus model of skill acquisition
Competency aware - I know that I know
difficult to say when a transition to this stage in the case of pure theme code.
You gain new knowledge, participate in discussions. Further problems arise but we have a sufficient knowledge base to find answers to most of them. You begin to optimize their own work and acquired knowledge to others. At some point you notice that when think about whether you locked the car doors was pretty neat piece of code. I've just been through the last stage:
unconscious competence - I do not think that I
This condition is easier to explain on the example of riding a bicycle or car. It is a state when I do not think which way to go when the gear lever throw fifth gear because you focus all their attention on bluzganiu the driver ahead of you. In this state, both of these operations go perfectly.
Being on that stage, mainly creating good code skupiając się na ogólnej architekturze, ryzykach i problemach które czekają dwa lub trzy kroki przed tobą. I kiedy czujesz w palcach swoje doświadczenie i pływasz w poczuciu mistrzostwa kodu jakiś debil na forum mówi ci, że coś można jeszcze zrobić lepiej....