The Psychology of Computer Programming
Rate it:
Open Preview
Read between June 18 - June 30, 2019
16%
Flag icon
The Hawthorne Effect ("the process of being observed often motivates people to better performance")
16%
Flag icon
Managers who pay attention to people get good results.
17%
Flag icon
much measurement seems to be designed to control individual programmers without interacting with them—that is, to force them to work according to some model that someone else thinks is the right way for them to program.
18%
Flag icon
human interactions are never narrow, never straight, and hardly ever in the directions shown an organization charts.
19%
Flag icon
informal mechanisms always exist and it is dangerous to change things without understanding them, lest you derange some smoothly operating system which you will not be able to replace at similar cost.
19%
Flag icon
If asked, most programmers would probably say they preferred to work alone in a place where they wouldn't be disturbed by other people. The ideas expressed in the preceding paragraph are possibly the most formidable barrier to improved programming that we shall encounter.
19%
Flag icon
Among the general personality traits is one which is measured along three "dimensions"—whether a person is "compliant," "aggressive," or "detached." The compliant type is characterized by the attitude of liking to "work with people and be helpful." The aggressive type wants to "earn money and prestige," and the detached type wants to "be left to myself to be creative."
19%
Flag icon
every person contains a mixture of these attitudes, but most people lean more heavily in one direction than the others.
19%
Flag icon
the majority of people in programming today lean in the "d...
This highlight has been truncated due to consecutive passage length restrictions.
20%
Flag icon
Starting with the work of the social psychologist Festinger, a number of interesting experiments have been performed to establish the reality of a psychological phenomenon called "cognitive dissonance."
20%
Flag icon
To resolve a dissonance, one factor or another contributing to it must be made to yield. Which factor depends on the situation, but, generally speaking, it will not be the person's self-image. That manages to be preserved through the most miraculous arguments.
20%
Flag icon
This is an example of anticipating the possibility of dissonance and avoiding information that might create
20%
Flag icon
A programmer who truly sees his program as an extension of his own ego is not going to be trying to find all the errors in that program.
20%
Flag icon
the human eye has an almost infinite capacity for not seeing what it does not want to see.
20%
Flag icon
Programmers, if left to their own devices, will ignore the most glaring errors in their output—errors that anyone else can see in an instant.
21%
Flag icon
the problem of the ego must be overcome by a restructuring of the social environment
21%
Flag icon
John von Neumann himself was perhaps the first programmer to recognize his inadequacies with respect to examination of his own work.
21%
Flag icon
His very ability to realize his human limitations put him head and shoulders above the average programmer today.
21%
Flag icon
Average people can be trained to accept their humanity—their inability to function like a machine—and to value it and work with others so as to keep it under the kind of control needed if programming is to be successful.
22%
Flag icon
If it is true that programmers have bad coding days—and this seems supported from a number of sources—then a piece of code written on one of these days is going to have an extra long debugging cycle.
22%
Flag icon
Fixation occurs whenever a situation creates an environment favorable for maintaining that situation.
22%
Flag icon
One typical computing example of social fixation is the adoption of one programming language by an installation.
22%
Flag icon
In the same way that an installation fixates on a programming language, it can establish a general social environment which either encourages or discourages egoless programming.
22%
Flag icon
Managers tend to select themselves from the "aggressive" component of society and have difficulty appreciating the fact that other people do not completely share their goals of money and prestige.
24%
Flag icon
If any one thing proves that psychological research has been ignored by working managers, it's the continuing use of half-partitions to divide workspaces into cubicles.
24%
Flag icon
DeMarco and Lister's Peopleware would set that issue to rest once and for all. That is, I might have thought so if I hadn't learned about the managerial psychology that puts social status above productivity.
24%
Flag icon
"I believe the issue is even deeper than social status. I don't know how Peopleware became a best seller. I never run into any managers who have read it. Beyond that, I hardly run into any managers who read about their industry, management theory, or psychology, period. I used to believe that they were overloaded with information regarding the specifics of their job, but frankly, managers still aren't trained, or do not educate themselves, to do their jobs. As for social status, IT managers have been status deprived in their organizations since they were developers, so status is even more ...more
25%
Flag icon
I would use the much more descriptive Myers-Briggs Personality Inventory (MBTI),
25%
Flag icon
I've found the MBTI most helpful in understanding certain tendencies in programmer/manager behavior,
25%
Flag icon
If your reasons for not wanting your code reviewed are not based on logic, you'll never be convinced to change your ways by logical arguments. And, if you're not using logic about your professional life, your professionalism is severely limited.
25%
Flag icon
But I'm not discouraged. I see the emergence of Agile (and other) programming teams as the great hope for the future.
25%
Flag icon
Schedule is similarly limiting—we need only cite the apocryphal experiment which tried to make a baby in one month by putting nine women to work on the job as a team.
25%
Flag icon
almost any program can be produced with less programming talent—if we are willing to allow a stretching of the schedule, and if we have not dropped below the minimum competence.
26%
Flag icon
three programmers organized into a team can do only twice the work of a single programmer of the same ability—because
26%
Flag icon
is doubtful whether nine programmers can do anything useful in less than about two months,
26%
Flag icon
for the best programming at the least cost, give the best possible programmers you can find sufficient time so you need the smallest number of them.
26%
Flag icon
the worst way to do a programming project is to hire a horde of trainees and put them to work under pressure and without supervision—although this is the most common practice today.
27%
Flag icon
These anthropomorphisms do not have to represent rational thinking in order to be important factors in determining team satisfaction with work assignments.
28%
Flag icon
To achieve true consensus on group goals, there is no better method than having the group set the goals itself.
28%
Flag icon
even more difficult situations arise when a group has reasonably clear goals, but has more than one at a time.
28%
Flag icon
The persistence of this kind of argument among team members can reliably be taken as a sign of some deeper conflict—perhaps for "leadership" of the team—and should not be ignored simply on account of its triviality.
29%
Flag icon
Leadership, in the sense that social scientists use it, means the ability to influence people.
29%
Flag icon
When non-programming leaders are brought in to be in charge of programming teams, trouble usually brews unless the appointed leader explicitly and implicitly recognizes his incapacity on technical matters.
29%
Flag icon
Even assuming that the team could be made to give in, nobody who has ever seen the performance of a programming group which has so knuckled under would desire this result.
29%
Flag icon
The important factor in democratic group functioning is not that every member exerts equal leadership, but that the determinants of leadership are based on the inner realities of team life, not imposed from outside.
30%
Flag icon
In a democratically organized group—given, of course, sufficient talent and intelligence to draw upon—the right man can be chosen for each time.
30%
Flag icon
What the team leader must learn is that • Managers—no matter how hard they press for promises—really want results. • Results will be far more easily obtained if they are obtained in the pursuit of goals set with full team participation.
31%
Flag icon
One of the paradoxes of leadership is simply this: only the leader who is ready to step down has a real chance of success.
31%
Flag icon
Paradoxically as it may seem to some, the democratically organized team may present to outsiders a rather cold and unfriendly facade, whereas the members of an authoritarian team may be most warm and friendly toward a newcomer.
32%
Flag icon
in a democratic team, an antisocial member cuts lines of communications and is a constant impediment to consensus in team meetings.