What are the most interesting, readable software books?

ben profile image Ben Halpern ・1 min read

I'm in the mood for a good read. What books about software development are really well-written and enjoyable at a high level while still technical and informative.

I'm looking more for technical-leaning books as opposed to memoires and stories, etc. But feel free to mention those as well.

Would love some suggestions!


markdown guide

Here is the usual that I hear about (and have read):

But here is one of my favorites that I don't often see mentioned: Game Programming Patterns - (and an amazon link to the book for print/kindle versions)

Now, I'm not a game dev but this is such a fantastic book to read (the web version is free). Code samples are easy to understand and it goes over the standard patterns that you'll find in libraries like Redux, Angular, or when you do animations, or events, etc. Or Node server stuff.

Even touches on how Prototype works in JS!

Seriously, give it a look and read it!


Yes! Game Programming Patterns by Bob Nystrom is excellent. Great examples and explanations.


It's really well written. Bob has an awesome blog and I remember seeing that he's working on a book that walks you through building a language compiler.


Those are the best book in my opinion, I can add algorithm design manual by Steven S. Skiena


I am going to buy "Game Programming patterns"


I second that. For all of the three.


Code Complete is hands-down, just an amazing book. I love anything by Sandi Metz as well, as well as Ruby Under a Microscope.

Maybe someday I'll add my own title to this list 😉


Came here to advice "99 bottles of OOP" by Sandi Metz, she's incredible.


Put me down for a pre-pre-order.


I've just recently read and can recommend:
Coders at work: Amazing insights from the worlds top Programmers. You need to read this.

Release It!: A pragmatic realization of how to ship production ready software and what are the dangers of doing it so. Realy good Read.

I'm currently reading:
The Phoenix Project: A good read that exposes stories and hard lessons about IT.

Team Geek: I've been recommended to read this. So far its good.


Seconded - The Phoenix Project is amazing. Sound advice and recommendations in a story format.


I think coders at work might be my next read.


Let me show my age by recommending, The Mythical Man Month. It is comparatively shorter book written more than 20 years back. The ideas in them are still valid.

We still add people to late project thinking it will somehow rescue the project. And we still look for the silver bullet. We still suffer from lack of effective communication between team-members.

Go read this short book. You will benefit immensely.


So glad someone else recommended this. But yeah, the last edition is 20 years old, and it's the 20-year anniversary edition... The first edition was published in 1975 originally, and some of the essays are a few years older.

Sometimes I think we forget how old our craft actually is.


This cover is straight out of the 90s. I love it 😂


Anything 'Head First' is done well and is actually FUN to read. I used the Head First Java book to get started up with the language in 2006. Now, these may not be the most in depth books but the way they teach, I love.


I second this, I like their pedagogical technique. I feel like it helps me learn better than the more standard format


I've always had Amazon recommend this to me. Now I've decided to cave in and buy myself a copy!


If you know a bit of Ruby, you might be interested in one of its most unique aspects: Metaprogramming Ruby by Paolo Perrotta is very engaging read. I really enjoyed trying out the fascinating concepts for myself.


Nice. I write in Ruby but my metaprogramming toolset is pretty limited. Will definitely give this a look.


Wow, that does look really well-crafted from the pictures on that page. I don't feel like I need to dive into jQuery but I might pick it up simply for reading-UX inspiration.


Yea, it's definitely geared more towards entry-level front end devs. What I really like are the diagrams and code examples - they make it really easy to understand basic JS concepts. There are also interactive lessons that you can follow online that accompany the book as well, making it that much more useful.


I haven't reread it in a while but I've long held that Software Tools is one of the all-time best books on software engineering.


I just recently started to tread Code by Charles Petzold and it seems really interesting. It isn't entirely about software but so far it does help me understand how a lot of things work with a computer.


Javascript books :

1) Professional JavaScript for Web Developers
most comprehensive yet readable JS book.
2) Secrets of the JavaScript Ninja

3) You Don't Know JS: Scope & Closures
If you think you know JS? prepare to be humbled

3) HTML and CSS: Design and Build Websites - by Jon Duckett
because most dev suck at CSS and this book is a great source to learn
4) Javascript Allonge
Taught me new ways to think in Javascript


I second that:You Don't Know JS is awesome and free on github github.com/getify/You-Dont-Know-JS


yeah, the full "You Don't Know JS" is awesome and completely free on GitHub.


Bought the third because yes, I do suck at CSS. I want to improve my web development skills in general, mostly so I can get out of my current line of work and into either that or game dev.


Grokking Algorithms:

Grokking Algorithms teach you not just a difficult topic but how to explain the same stuff to others


On the topic of more memoire-leaning but still filled with interesting insights, I enjoyed Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web by Tim Berners-Lee


Devops 2.X toolkit by Victor Farcic.

These hit a sweetspot for me. Each of my colleagues that took the advice to check them out came away with nothing but good things to say.


I would recommend CODE:The Hidden Language of Computer Hardware and Software. It's not really about programming or software development but more about the elementary building blocks of computers and electronics and he explains them in a really clear and straightforward manner.Here is a great review on the book.


Everyone, who wants to get into coding, should read this first.


this one really opens your eyes as a Gang of Four version for ruby:

Design Patterns in Ruby

I'd suggest that it is not for beginners though.


There are a few that I highly recommend that were already mentioned. One that I'm finishing up which has won me over is Algorithms To Live By by Brian Christian and Tom Griffiths. It takes a lot of the complex theory of computer science into super easy to understand overview and application in your real life.

Some example of a few of the topics they speak about:

  • Processor Scheduling Theory ~> How to optimize your daily scheduling for maximum efficiency.
  • Various Sorting Algorithms ~> Every day we are constantly sorting & searching from folding laundry to choosing your wedding seat arrangement.
  • Optimal Stopping Problems ~> How long is long enough when searching for an apartment or a spouse or a winning slot maching? Computer Science theory says it's around 33%.
  • Network Packet Switching Theory ~> Humans communicate like buffers and with the dawn of the packet switching paradigm in networks, our society has evolved to buffer things just like our text messages or emails.

Think Python - How to Think Like a Computer Scientist is one of my all-time favorites. Also anything by Green Tea Press, which is run by Allen Downey who is a boss. Great to read even if you know nothing of Python or programming in general.

For the more artistic, The Nature of Code by Daniel Shiffman is awesome. Good if you already know some JavaScript. Daniel is an amazing instructor and has tons of youtube videos to go along with everything else.


C++ Coding Standards, Sutter and Alexandrescu. Save yourself the trouble of writing your own standard, just get everybody on the team one of these books.

Working Effectively with Legacy Code, Michael C. Feathers. Despite the title, this is a book about testing, and every programmer should read it.

The Pragmatic Programmer: From Journeyman to Master, Hunt and Thomas. This is, more than the previous two books, a fun read, with a lot of good advice in all areas of the craft.


The Imposters Handbook looks like a great way to revise/learn useful parts of Computer Science. I've not read it yet, but it's On The List.


I actually love "Becoming a Better Programmer" by Pete Goodliffe.

It covers style of code but also how to think as a programmer in a team and how to change your life. It is quite a stretch but I think it works out nicely.


I'm quite late to the party, since dev.to fb page just reposted it hehe

Currently reading and enjoying the new uncle Bob's clean architecture :) I would recommend it even tho I havent finished it yet


Martin Fowler's "Refactoring: Improving the Design of Existing Code" - a bit old at this point, but you'll still pick up tips on how to improve your code, no matter what you're writing


Double down on that! One of a few books i was able to complete without force ;)


Not hardcore programming - which is just as well since it refers a lot to exciting modern techniques like COBOL - but there's no book I can recommend more highly to learn about development management (even including Agile, amazingly) than Fred Brook's Mythical Man Month:

The Mythical Man Month


My favs are already listed, adding to them,
Designing Data Intensive Applications.It should have been named 'Designing Distributed Systems'. From storage to processing, all the topics are clear and crisp. References to papers and posts, at the end of each chapter, is gold. Next comes Site Reliability Engineering. Most of the books talk about making perfect dish but this is all about serving it fast with consistent taste, and presentation.


for me it is: Lea Verou, CSS SECRETS - Better Solutions to everyday Web Design Problems!


The book itself is produced using only HTML and CSS! It is available in many languages and a joy to read.


I'm quite enjoying Professor Frisby's Mostly Adequate Guide to Functional Programming.

It's a pretty quick read, but also pretty demystifying of all those complicated sounding functional principles



For JS developers I recommend JavaScript: The good parts

Douglas Crockford has a very nice point of view about JavaScript and what makes javascript good (and what make it bad)


Excelent books in leanpub.com in many idioma and languages of programming for example leanpub.com/laravel-y-angularjs


If Hemingway Wrote JavaScript because it's a fun a read and a unique language book.


I really enjoyed Grokking Algorithms manning.com/books/grokking-algorithms
plus, the author also has an amazing blog adit.io


I really enjoyed Eloquent Javascript. Going to take a look at it again actually, since we're probably doing more JS stuff soon.


Head First C, Head First Java & Head First Python.


Head First Java is best for those who think they suck at Java


Discrete mathematics and its applications
Book by Kenneth H. Rosen

Taught me how to link your Math skills to Computer science. easy read


Head First Design Patterns : A Brain-Friendly Guide (O'Reilly)
... if you haven't already.

I'm slowly working through it, myself.



Write code that writes code with Meta Programming in Elixir:



I'd like to submit my own ebook I just launched leanpub.com/agileforteams (free to read online) but more for feedback and review if you guys don't mind.


I recommend The DevOps Handbook: how to create world-class agility, reliability, & security in technology organizations. An amazing read for every developer, even if you are not into DevOps.


One book that I found very inspirational as a junior dev was "Coder to developer" by Mike Gunderloy. An easy to absorb read.


ASP.NET design patterns
Web Application Hackers Handbook