Adventure Code

Logo

Personal blog

View My GitHub Profile

back to Book reviews

The Psychology of Computer Programming - by Gerald Weinberg, 1971

alt text

The main ideas discussed in the book:

What makes a good program?

These 4 factors that affect good programming:

What makes a good programmer?

Egoless programming:

Egoless programming results in:

Personality is more important than intelligence in programming

And also we cannot hope to measure intelligence by performance on a problem

Creative communication

Humility is a crucial trait

And what if we become better, more productive programmers, what work shall we turn our talents to?

What makes a good manager?

Team goals

Many programming projects are late, because not all objectives are clearly communicated (like work for speed or efficiency?)

But the danger is that communicating objectives can change estimates. A goal explicitly set has these two effects:

In contrast estimations on goal not emphasized/communicated will be unreliable:

Parkinson's law: work fills the time allotted

Learning

Surprisingly, the only time we fail to learn is when there are negative forces set up against it (ego, fear of failure).

When faced with a problem there are two general errors we can make:

Self-taught students have one major advantage over classroom students, individual attention and lessons precisely tailored to their needs.

The optimum conditions for learning, performing widely vary for each individual (time of day, body position, environment, noise, tools used)

Documentation

Cannot satisfy all readers equally, but the goal is to do reasonable good documentation.

Convince the programmer that they will benefit from writing documentation

There is not much point having easier acces to information you didn't want in the first place