What are your top 5 software books of all time?

They can be about coding, design, best practices, etc but they must all be related to software development. When deciding, please take into account reading style, depth of content and influence they had on your career.

My top 5 (in no particular order)

  • Bruce Eckel → Thinking in C++. C++ is complex but Bruce made it simple with a great reading style and clear, specific explanations. I didn’t really understand C++ until I read this book.
  • Russ Olsen → Design Patterns in Ruby. Simply, the book that made Ruby click for me. Great structure, examples and explanations of how Ruby makes us think differently. Makes you grok design patterns and Ruby at the same time!
  • Joel Spolsky → Joel on Software. I’ve been following Joel’s blog for most of its lifetime and some of his essays, brought together in this book (“the law of leaky abstractions”, “Javaschools”, etc ) really defined me as a programmer. His “can your language do that?” article was what pushed me to try Ruby.
  • Douglas Crockford → JavaScript, the Good Parts. The book that convinced me that there’s more to JavaScript than design flaws and bad syntax :smile:
  • Brian Kernighan & Dennis Richie → The C Programming Language. A dry, content-heavy book that -as a coding beginner- had to slog through at least five or six times before I could absorb it. It does one thing and does it exceptionally well: teaches you all you need to know about the C programming language in a series of detailed, structured exercises.
1 Like

I love these:

Design Patterns in Ruby by Russ Olsen
Eloquent Ruby by Russ Olsen
The Well Grounded Rubyist by David A Black

Although I’ve read quite a few programming books I don’t think I’ve read enough to create a list of 5 yet. I’ve got a few Elixir books to read so hopefully I will be able to add a few more to this list soon :slight_smile:

1 Like

Boy, 5… let’s see:

  • Code Complete - First book I read the wasn’t about how to program, but how to be a professional programmer.
  • The Pragmatic Programmer - Taught me how to level up as a professional programmer.
  • The Little Schemer - Taught me a style of problem solving that I still leverage today, in any language I use.
  • Implementing Lean Software Development - How to build and release software efficiently

I guess the 5th spot will have to remain open until I finish SICP or something.


what’s SICP ?

Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)

I’ve heard of the book several times. It comes highly recommended.

I’ve heard of it too - it’s also now being ported to other languages, like LFE (Lisp Flavoured Erlang) http://lfe.gitbooks.io/sicp/content/

oh yeah, I actually downloaded this after you mentioned it last time. Haven’t read it yet :confounded:

Nor me :stuck_out_tongue_winking_eye: tho tbh, I am not sure LFE is my sort of thing : /