Understanding the professional programmer

is an excellent book by Jerry Weinberg (isbn 0-932633-09-9) (I've blogged a snippet review of it before.) As usual I'm going to quote from a few pages:
In the past, we depended on meetings because little was written down.
There are very few ways to measure the quality of a programmer's work unless you are a competent programmer yourself.
How do I work on those aspects of my own personality and problem-solving approach that are so personal I can't even see them, even though they may be the most important factor in my effectiveness as a programmer?
The next generation will come when we outgrow our adolescent fascination with toys and develop an adult interest in people.
I believe the first manager failed because she thought that to manage change you must interact directly with the employee.
If you want people to change what they're doing, make sure they are fed back the consequences of what they're doing.
90 percent of all illness cures itself - with absolutely no intervention from the doctor.
It's sometimes hard to know when someone is listening - rather than merely waiting to seize control of the conversation. One way everyone knew Mack wasn't listening was by noticing how seldom he allowed other people to finish what they were saying.
The secret to all good writing is re-writing.
Our tests have shown that certain implanted errors take fifteen minutes for one person to find, fifteen hours for another, fifteen seconds for a third. A few more people can't find the error no matter how long they search. This kind of variation hardly forms the basis for estimating.
The situation is hopeless but not serious.
Rules are not made to be broken, but neither are they made to be not broken. Rules are made so that the organization operates more efficiently.