10 Books Every Software Developer Should Read

Books are a neglected resource in the software development community.  Programming books about specific languages often have a short lifespan because the technology evolves so quickly.   Versions come and go, syntax is deprecated, paradigms shift.  

Books provide a context and a depth of understanding that technical articles fail to offer.   A great developer should have a deep understanding of the methodologies, principles, and best practices of software development.  

The books I'm recommending are language agnostic, but may use code examples to illustrate their points.  Topics range from code styling to project management to user interface design. 

Reading List