Just have finished reading Code Complete by Steve McConnell. This book blew up my mind. It contains a lot information about programming as a collection of activities. The most useful idea for me was that we program for people first, computers second. Some useful thoughts i wrote out in my recent post "Programming quotes".
The last chapter contains the book list that a developer should read. Here it is: