Understanding the professional programmer

is an excellent book by Jerry Weinberg (isbn 0-932633-09-9). As usual I'm going to quote from a few pages:
To be a champion kicker requires about one hundred parts motivation to every one part leg.
The professional programmer is a person who solves problems for other people - whatever that takes.
I believe that terminology eventually influences our thinking.
Health comes before all else in producing happiness.
You must begin to see change as something wonderfully rare, and worth observing. You must stop taking change for granted if you wish to master the art of productive change.
Many programmers… work in environments in which they receive essentially no real feedback embodying the consequences of what they do. Lacking no real feedback, they lack the motivation to attempt changes, and they also lack the information needed to make the correct changes.
The number-one problem of both analysts and programmers - as well as their managers - is that they assume too much. They especially assume that they know what kind of problem they're working on - that it's a puzzle and not a problem.
Brains require stimulation.
The secret key to all good writing is re-writing.
As long as the bull lives, there will be bullshit.
Lines of code is a measure of the solution and not the problem.