The Software Development Book
by Mark Watson
The goal of this book is to encourage the reader to step back and reevaluate how they design and write software systems. Although the book is about Software Development, it is also about working in the IT field, dealing with competition from very low cost knowledge workers in countries with very low cost of livings, etc.
Download or read it online for free here:
by Derick Bailey - LosTechies.com
S.O.L.I.D. is a collection of best-practice design principles which can be applied to your design, allowing you to accomplish various desirable goals such as loose-coupling, higher maintainability, intuitive location of interesting code, etc.
by Richard P. Gabriel - Oxford University Press
An informative inside look at the world of software design and computer programming and the business that surrounds them. Written for computer scientists and software entrepreneurs, but the essays are accessible to everyone.
by Matthias Felleisen, et al - The MIT Press
The focus of the book is the design process, from problem statements to organized solutions, it deemphasizes the algorithmic and language details, and specific applications. Programming is a fun activity, and a way to express abstract ideas.
by Agner Fog - agner.org
These manuals describe everything you need to know about optimizing code for x86 and x86-64 microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of processors.