In the eyes of psychologists, the performance of a person in accomplishing a particular task is determined by the task itself and its stakeholders ' depth of understanding of the task. Psychologists also believe that job performance is also influenced by the differences in personality and intelligence among task-holders. Although personality can be changed and intelligence can be improved, the real improvement in job performance depends on training and practical experience.
But psychology itself is not a rigorous science, and it has never been close. Regardless of how the psychologist examines the task and its stakeholders ' depth of understanding, regardless of how they measure all the differences among the individual task-holders, there are many aspects of the job performance that cannot be explained, regardless of how they consider the training and practical experience. After all the factors are taken into account, the remaining parts that cannot be explained are called "positivity". Often the case is: if a person's enthusiasm is not stimulated, it is impossible to easily put him into the study, on the contrary, if he is very motivated, there is no way to stop him from learning.
=====================
Enthusiasm
People, not just passively subject to the environment of the doll. On the contrary, people prefer to believe that humans can determine which stimuli in the environment they should respond to, what should be neglected, what information is worth learning, and what information can be ignored. The conclusions of these observations form the basis of a theory that can be used to explain some of the intrinsic "guiding forces" or "intrinsic elasticity" of people. This inner guidance is exactly what most of us mean by "positivity".
One of the mistakes executives make is that they always assume that the reason for poor job performance is due to lack of motivation. So they tried to use a little "external driving force". At this time, in fact, the external pressure of the programmer is often big enough, not enough. One of the most widely accepted studies on motivation is that, if the "driving force" is appropriately increased, job performance can actually be improved at the beginning, but once a certain limit is exceeded, continuing to increase this "drive" will only quickly reduce job performance to 0. Applying high pressure to programmers to quickly rule out a program error has proven to be the worst strategy, although this is still the most commonly adopted strategy.
Anyone who is in touch with the programmer at work will understand that the process of developing the program is itself the most motivating, as long as it allows programmers to work in the way they prefer.
=====================
Training, curriculum learning and education
Members have worked together for an actual project for several years under the leadership of a formidable leader. However, these years of time mean the accumulation of training and experience.
In general, what we call "education" refers to the process of mastering general principles and techniques, and what we call "training" is just the process of learning a particular skill.
=====================
Resistance to Learning
Surprisingly, learning can only fail if there are negative forces that hinder learning. In the process of teaching, people over-emphasize, how to use a variety of ingenious measures or tricks to stimulate students ' learning enthusiasm. However, as long as you look at the learning process of children, we will find that as long as the children themselves to determine the direction of learning, they can always learn a lot of things, although these things are not necessarily what we expect, but in any case, they will learn a lot.
For adults, however, barriers to learning often come from within ourselves, and once you can make your own decisions, adults are no longer able to learn anything new. The first (and most important) point is that before we begin to learn, we need to admit that something is worth figuring out and that we don't understand it. In the concept of a professional programmer, admitting that the lack of knowledge in one aspect means that the status is reduced unless he realizes that, as a veritable professional, as a truly powerful person, there will be no loss of recognition of his shortcomings.
Some people are always willing to admit their own shortcomings, rather than try to learn any new things. The reason for this is that they always think of course they cannot succeed. This fear of failure is due to lack of self-confidence, and also from the failure experienced in previous such efforts. But more generally, such fears are largely not the failure itself, but the failure that may be seen by those around them.
If you are in a group, people are more willing to apply what they already know, which hinders the acceptance of new knowledge. If we want to learn, we must first of all make mistakes, but if there are others around us, then it will be more difficult to overcome their fear. It is true that if the knowledge used is well known, then perhaps it is because of the presence of the people around us that we try to avoid making mistakes. If this conclusion is extended to the development of learning programs, we can naturally speculate that, in the first learning of a new programming language, if it is in a terminal-only, isolated environment, then the effect of learning will be the best, because then any error is not known.
One of the most important concepts here is the so-called "technology extensibility", that is, the ability to re-apply under other environmental conditions after the first learning of a technology. When we have mastered a common technology, our ability is not simply increased, but multiplied. There is also a technology that, contrary to universal and scalable technology, is called "dead-end" technology.
In terms of program development, we often run into a programmer who does a good job of solving a problem of no more than a certain range, but he can't go beyond that scale. In fact, sometimes we also encounter the opposite situation, some programmers are usually unknown, until the need to solve larger problems, they have a hero. In the former case, the technology that has been used on small-scale issues will not be able to be applied effectively in large scale problems, whereas in the latter case, a powerful and versatile technique to solve very simple problems can only create huge overhead.
As an example, let's compare the differences between binary search and sequential search. When you write a program that needs to search in a list that contains only 10 of pages of records, if you use a binary search, it is possible that the program's development progress will even slow down the program. And when it comes to solving this particular problem, programmers who may not even know the binary search may be eclipsed by the programmer of this "advanced" technology, which, while mastering this advanced technology, is unaware of the scope of the technology. In any case, after doubling the scale of the problem, the speed of the binary search would not be reduced by 50% per cent. However, sequential search does not, the scale of the problem is slightly expanded (for example, in 1000 records to search), the speed of the decline is much more than this degree.
Whether in a formal classroom environment or in a working environment, fear of new things, fear of failure, and reluctance to acknowledge your weaknesses can be a direct obstacle to learning. Other problems are indirect, and most of these problems are caused by the lack of sufficient knowledge of what to learn and how to learn.
If the problem comes from a background that you're not familiar with, then usually we can make two mistakes, or overestimate the difficulty of the problem, or think of the problem as too easy.
=====================
How to Learn program development
The first step in mastering the way of learning is to understand what you have and what you lack, that is, to have "self-knowledge".
[Here's an example to enlighten yourself]
In one test, two students were doing a math problem: 25-16. If one of the students gives an answer of 19 and another student gives 41, they will usually be labeled "Students who do not know how to subtract". But as soon as any one of the students is lucky enough to meet a good teacher, the teacher may dig deeper into the wrong answers and make use of them.
As a programmer, if you want to learn, you have to take the time to summarize your success while resisting the pressure from management. For managers, a good thing to do is that every time a programmer claims that his project is "done", giving him a day to relax is not a reward, but a way for programmers to deepen their understanding of the project.
In order to improve programmer productivity, we can start with two main aspects: develop their desire for work, and give them the knowledge they need to get the job done. The former is called "positivity" and, on the other hand, it is called "training" (or, if its content is sufficiently generic, it can be called "education").
#读书笔记 # The trilogy of technical thought of Weinberg: The Psychology of program development--10th chapter, enthusiasm, training and experience