Whether it is to stimulate your mind or to fill it with as much knowledge about the various facets of software development, there is no better way to expand the database of your scientific brain than by reading thought provoking books. The enhanced analytics abilities you will gain from reading will definitely come handy when designing solutions to complex software development challenges. We have compiled this list of 110 software development books that you must absolutely read in order to broaden your understanding of the binary world of software and give you a brand new approach and wisdom to delivering real world solutions.
- Types & Programming Languages by Benjamin Pierce
- C++ and Patterns fame by James O. Coplien
- Software Patterns by James O. Coplien
- Multi-paradigm Design for C++ by James O. Coplien
- Lean Architecture: for Agile Software Development by James O. Coplien and Gertrud Bjørnvig
- Effective Java by Joshua Bloch
- Java Concurrency in Practice by Joshua Bloch & Brian Goetz
- Beautiful Data by Peter Norvig
- Artificial Intelligence: A Modern Approach by Peter Norvig
- Paradigms of AI Programming: Case Studies in Common Lisp by Peter Norvig
- On Lisp by Paul Graham
- Refactoring: Improving the Design of Existing Code by Martin Fowler
- Patterns of Enterprise Application Architecture by Martin Fowler
- A Little Java, A Few Patterns by Daniel Friedman and Matthhias Felleisen
- A Pattern Language by Christopher Alexander
- Code Complete by Steve McConnell
- The C Programming Language by Dennis Ritchie & Brian Kernighan
- The Pragmatic Programmer by Andrew Hunt and David Thomas
- Programming Clojure by Stuart Halloway
- “Head First” book series by Kathy Sierra & Bert Bates
- Inside the IBM PC by Peter Norton
- Programmer’s Guide to the IBM PC by Peter Norton
- The Deadline, Adrenaline Junkies and Template Zombies, Peopleware: Productive Projects & Teams by Tom DeMarco
- Linux Kernel Development by Robert Love
- Coding Horror by Jeff Atwood
- Dive into Python by Mark Pilgrim
- Journey of the Software Professional by Luke Hohmann
- Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman, Julie Sussman
- The C Programming Language by Brian Kernighan and Dennis Ritchie
- Introduction to Algorithms by Charles E. Leiserson, Clifford Stein, Ronald Rivest, and Thomas H. Cormen
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm
- The Mythical Man Month by Fred Brooks
- The Art of Computer Programming by Donald Knuth
- Compilers: Principles, Techniques and Tools by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman
- Gödel, Escher, Bach: an Eternal Golden Braid by Douglas Hofstadter
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Effective C++ by Scott Meyers
- More Effective C++: 35 New Ways to Improve Your Programs and Designs by Scott Meyers
- CODE by Charles Petzold
- Programming Pearls by Jon Bentley
- Working Effectively with Legacy Code by Michael C. Feathers
- Peopleware by Demarco and Lister
- Coders at Work by Peter Seibel
- Surely You’re Joking, Mr. Feynman! by Ralph Leighton, Richard Feynman
- The Little Schemer by Daniel P. Friedman and Matthias Felleisen
- The Seasoned Schemer by Daniel P. Friedman and Matthias Felleisen
- Why’s (Poignant) Guide to Ruby by why the lucky stiff
- The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity by Alan Cooper
- The Art of Unix Programming by Eric S. Raymond
- Test-Driven Development: By Example by Kent Beck
- Practices of an Agile Developer by Venkat Subramaniam
- Don’t Make Me Think by Steve Krug
- Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
- Domain Driven Designs by Eric Evans
- The Design of Everyday Things by Donald Norman
- Modern C++ Design by Andrei Alexandrescu
- Best Software Writing I by Joel Spolsky
- The Practice of Programming by Kernighan and Pike
- Pragmatic Thinking and Learning: Refactor Your Wetware, by Andy Hunt
- Software Estimation: Demystifying the Black Art by Steve McConnel
- The Passionate Programmer (My Job Went To India) by Chad Fowler
- Hackers: Heroes of the Computer Revolution by Steven Levy
- Algorithms + Data Structures = Programs by Niklaus Wirth
- Writing Solid Code by Steve Maguire
- JavaScript: The Good Parts by Douglas Crockford
- Getting Real by 37 Signals
- Foundations of Programming by Karl Seguin
- Computer Graphics: Principles and Practice in C by Andries van Dam, James D. Foley, John F. Hughes, and Steven K. Feiner
- Thinking in Java by Bruce Eckel
- The Elements of Computing Systems by Noam Nisan and Shimon Schocken
- Refactoring to Patterns by Joshua Kerievsky
- Modern Operating Systems by Andrew S. Tanenbaum
- The Annotated Turing by Charles Petzold
- Things That Make Us Smart by Donald Norman
- The Timeless Way of Building by Christopher Alexander
- The C++ Programming Language (3rd edition) by Stroustrup
- Computer Systems – A Programmer’s Perspective by Randal Bryant
- Agile Principles, Patterns, and Practices in C# by Robert C. Martin
- Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce
- Framework Design Guidelines by Brad Abrams
- Object Thinking by Dr. David West
- Advanced Programming in the UNIX Environment by W. Richard Stevens
- Hackers and Painters: Big Ideas from the Computer Age by Paul Graham
- The Soul of a New Machine by Tracy Kidder
- CLR via C# by Jeffrey Richter
- The Timeless Way of Building by Christopher Alexander
- Design Patterns in C# by Steve Metsker
- Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig
- About Face – The Essentials of Interaction Design by Alan Cooper
- Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky
- The Tao of Programming by Geoffrey James
- Computational Beauty of Nature by Gary William Flake
- Writing Solid Code by Steve Maguire
- Philip and Alex’s Guide to Web Publishing
- Object-Oriented Analysis and Design with Applications by Grady Booch
- Computability by N. J. Cutland
- Masterminds of Programming, by Federico Biancuzzi and Shane Warden
- The Tao Te Ching
- The Productive Programmer, by Neal Ford
- The Art of Deception by Kevin Mitnick
- The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan
- Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas with Matt Hargett
- How To Solve It by George Polya
- The Alchemist by Paulo Coelho
- Smalltalk-80: The Language and its Implementation by Adele Goldberg
- Writing Secure Code (2nd Edition) by Michael Howard
- Introduction to Functional Programming by Philip Wadler and Richard Bird
- No Bugs! by David Thielen
- Rework by Jason Freid and DHH
- JUnit in Action by Ted Husted and Vincent Massol
Error: Contact form not found.