Ultimate List of 110 Must Read Software Development Books

Ankita Katuri By Ankita Katuri on August 7, 2015


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.

  1. Types & Programming Languages by Benjamin Pierce
  2. C++ and Patterns fame by James O. Coplien
  3. Software Patterns by James O. Coplien
  4. Multi-paradigm Design for C++ by James O. Coplien
  5. Lean Architecture: for Agile Software Development by James O. Coplien and Gertrud Bjørnvig 
  6. Effective Java by Joshua Bloch
  7. Java Concurrency in Practice by Joshua Bloch  & Brian Goetz
  8. Beautiful Data by Peter Norvig
  9. Artificial Intelligence: A Modern Approach by Peter Norvig
  10. Paradigms of AI Programming: Case Studies in Common Lisp by Peter Norvig
  11. On Lisp by Paul Graham
  12. Refactoring: Improving the Design of Existing Code by Martin Fowler
  13. Patterns of Enterprise Application Architecture by Martin Fowler
  14. A Little Java, A Few Patterns by Daniel Friedman and Matthhias Felleisen
  15. A Pattern Language by Christopher Alexander
  16. Code Complete by Steve McConnell
  17. The C Programming Language by Dennis Ritchie & Brian Kernighan
  18. The Pragmatic Programmer by Andrew Hunt and David Thomas
  19. Programming Clojure by Stuart Halloway
  20. “Head First” book series by Kathy Sierra & Bert Bates
  21. Inside the IBM PC by Peter Norton
  22. Programmer's Guide to the IBM PC by Peter Norton
  23. The Deadline, Adrenaline Junkies and Template Zombies, Peopleware: Productive Projects & Teams by Tom DeMarco
  24. Linux Kernel Development by Robert Love
  25. Coding Horror by Jeff Atwood
  26. Dive into Python by Mark Pilgrim
  27. Journey of the Software Professional by Luke Hohmann
  28. Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman, Julie Sussman 
  29. The C Programming Language by Brian Kernighan and Dennis Ritchie
  30. Introduction to Algorithms by Charles E. Leiserson, Clifford Stein, Ronald Rivest, and Thomas H. Cormen
  31. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm
  32. The Mythical Man Month by Fred Brooks
  33. The Art of Computer Programming by Donald Knuth
  34. Compilers: Principles, Techniques and Tools by Alfred V. Aho, Ravi Sethi and Jeffrey D. Ullman
  35. Gödel, Escher, Bach: an Eternal Golden Braid by Douglas Hofstadter
  36. Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
  37. Effective C++ by Scott Meyers
  38. More Effective C++: 35 New Ways to Improve Your Programs and Designs by Scott Meyers
  39. CODE by Charles Petzold
  40. Programming Pearls by Jon Bentley
  41. Working Effectively with Legacy Code by Michael C. Feathers
  42. Peopleware by Demarco and Lister
  43. Coders at Work by Peter Seibel
  44. Surely You're Joking, Mr. Feynman! by Ralph Leighton, Richard Feynman
  45. The Little Schemer by Daniel P. Friedman and Matthias Felleisen
  46. The Seasoned Schemer by Daniel P. Friedman and Matthias Felleisen
  47. Why's (Poignant) Guide to Ruby by why the lucky stiff
  48. The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity by Alan Cooper
  49. The Art of Unix Programming by Eric S. Raymond
  50. Test-Driven Development: By Example by Kent Beck
  51. Practices of an Agile Developer by Venkat Subramaniam
  52. Don't Make Me Think by Steve Krug
  53. Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
  54. Domain Driven Designs by Eric Evans
  55. The Design of Everyday Things by Donald Norman
  56. Modern C++ Design by Andrei Alexandrescu
  57. Best Software Writing I by Joel Spolsky
  58. The Practice of Programming by Kernighan and Pike
  59. Pragmatic Thinking and Learning: Refactor Your Wetware, by Andy Hunt
  60. Software Estimation: Demystifying the Black Art by Steve McConnel
  61. The Passionate Programmer (My Job Went To India) by Chad Fowler
  62. Hackers: Heroes of the Computer Revolution by Steven Levy
  63. Algorithms + Data Structures = Programs by Niklaus Wirth
  64. Writing Solid Code by Steve Maguire
  65. JavaScript: The Good Parts by Douglas Crockford
  66. Getting Real by 37 Signals
  67. Foundations of Programming by Karl Seguin
  68. Computer Graphics: Principles and Practice in C by Andries van Dam, James D. Foley, John F. Hughes, and Steven K. Feiner
  69. Thinking in Java by Bruce Eckel
  70. The Elements of Computing Systems by Noam Nisan and Shimon Schocken
  71. Refactoring to Patterns by Joshua Kerievsky
  72. Modern Operating Systems by Andrew S. Tanenbaum
  73. The Annotated Turing by Charles Petzold
  74. Things That Make Us Smart by Donald Norman
  75. The Timeless Way of Building by Christopher Alexander
  76. The C++ Programming Language (3rd edition) by Stroustrup
  77. Computer Systems - A Programmer's Perspective by Randal Bryant
  78. Agile Principles, Patterns, and Practices in C# by Robert C. Martin
  79. Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce
  80. Framework Design Guidelines by Brad Abrams
  81. Object Thinking by Dr. David West
  82. Advanced Programming in the UNIX Environment by W. Richard Stevens
  83. Hackers and Painters: Big Ideas from the Computer Age by Paul Graham
  84. The Soul of a New Machine by Tracy Kidder
  85. CLR via C# by Jeffrey Richter
  86. The Timeless Way of Building by Christopher Alexander
  87. Design Patterns in C# by Steve Metsker
  88. Zen and the Art of Motorcycle Maintenance by Robert M. Pirsig
  89. About Face - The Essentials of Interaction Design  by Alan Cooper
  90. Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky
  91. The Tao of Programming  by Geoffrey James
  92. Computational Beauty of Nature by Gary William Flake
  93. Writing Solid Code by Steve Maguire
  94. Philip and Alex's Guide to Web Publishing
  95. Object-Oriented Analysis and Design with Applications by Grady Booch
  96. Computability by N. J. Cutland
  97. Masterminds of Programming, by Federico Biancuzzi and Shane Warden
  98. The Tao Te Ching
  99. The Productive Programmer, by Neal Ford
  100. The Art of Deception by Kevin Mitnick
  101. The Career Programmer: Guerilla Tactics for an Imperfect World by Christopher Duncan
  102. Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas with Matt Hargett
  103. How To Solve It by George Polya
  104. The Alchemist by Paulo Coelho
  105. Smalltalk-80: The Language and its Implementation by Adele Goldberg
  106. Writing Secure Code (2nd Edition) by Michael Howard
  107. Introduction to Functional Programming by Philip Wadler and Richard Bird
  108. No Bugs! by David Thielen
  109. Rework by Jason Freid and DHH
  110. JUnit in Action by Ted Husted and Vincent Massol

6 misconceptions about what software developers really want

Subscribe to Email Updates