- Code Complete, 2nd ed. by Steve McConnell. Vital info on moving from design to construction to testing. Mandatory for your bookshelf if you give a hoot about being in the 20% of software projects which succeed instead of in the 80% which don't.
- Writing Secure Code, 2nd ed. by Michael Howard and David LeBlanc. Detailed discussion of critical security issues in design, implementation and maintenance. Gotta have it if you want to walk the walk.
- Mastering Regular Expressions by Jeffrey Friedl. A top-notch software engineer pointed me to this six years ago and it opened up a whole new range of skills for me.
- Secure Coding: Principles & Practices by Mark G. Graff and Kenneth R. van Wyk. It's been awhile since I read this, but I remember it having some great background and technical detail. It also is another good book for tossing cold water in the face of developers, leads, and managers who ignore the necessity of addressing security from the start. (Even if it's a risk assessment which shows a minimal need for security.)
- Working Effectively with Legacy Code by Michael C. Feathers. I mentioned this in another post, but needed to document it on this list. Critical reading if you're working with legacy code.
- The Practice of Programming, by Brian Kernighan and Rob Pike. The cover graphic says it all about the book's ideas on constructing software: "SImplicity, Clarity, Generality". Way good reading.
- Writing Solid Code, by Steve Maguire. I read this back in 1993 when I was finishing up night school classes. Concepts I read in the book stuck with me even though I didn't get into software development for another several years.
- Software Survival Guide by Steve McConnell. There's a lot of material duplicated between this and Code Complete, but some gems are unique to this book. Scheduling and estimating are hit much harder in this book, along with some great coverage on schedule reestimation -- not slips.
- Effective C# by Bill Wagner. An absolute necessity on line with the works of McConnell, Macguire, and Kernighan and Pike. This is the C# impementation details to their terrific general practices. Furthermore, it's also moderately useful for other .NET languages.
- The Chicago Manual Of Style, University of Chicago Press. Need to understand why you should write certain things a certain way? Need backup for making your case with "helpers" hacking up your well-written document? Look no further.