Code Complete, 2nd Edition, by Steve McConnell
Code Complete is an enlightening book. Half of it is pure gold, and coming in at around 900 pages that means 450 pages of gold. It covers, in great detail, every part of the software construction process. I found out about it by looking at this list of top 100 best software engineering books. Coming in at #1 it seemed worth a read.
The most important point: “The primary goal of software engineering is to reduce complexity.” Things such as variable names, comments, live time of variables, cohesion of classes and methods, and coding conventions are all discussed. I don’t agree with all of the specific recommendations, but that’s the point: to consider what matters and decide what is best for the current situation of you and your team.
I also enjoyed what was said about programming in high level languages: “You save time when you don’t need to have an awards ceremony every time a C statement does what it’s supposed to do.”