DEV Community

Cover image for 20 Most-Recommended Books for Software Developers

20 Most-Recommended Books for Software Developers

Andrew (he/him) on October 19, 2019

"Доверяй, но проверяй" ("Trust, but verify") -- Russian Proverb People are often wrong: we make bad bets, buy property before housing bubbles...
Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

You've got some excellent recommendations in there.

I don't think much of Robert Martin, but given your opening, I suppose an exception could be made. Trust but verify. The advice I hear time and again, at least from anyone who isn't a loyal disciple of Uncle Bob, is basically "read his work with a critical eye." Bring your own discernment so you can separate out objective fact from his own personal opinion...seeing as he generally can't. If you can do that, there's plenty of good ideas to be gleaned. (If you can't, there are plenty of other more objective books and articles on Clean Code/Architecture and Agile, which are valuable concepts in and of themselves.)

One book I don't see, but strongly recommend, is Dreaming in Code by Scott Rosenberg. It's a chronicle of a real life open source project that, some might say, was fated from the start. It shows a lot of the concepts outlined in these books at play in real world software development stories. He cites Knuth, Weinberg, Raymond, and many others.

I'd also recommend The Cathedral and the Bazaar by Eric S. Raymond for anyone who wants to understand the philosophy and history of Open Source software. It's the watershed book that started the entire movement, so it's worth reading.

Collapse
 
itsasine profile image
ItsASine (Kayla)

I'm always suspicious of lists like this that end up mostly Uncle Bob and Martin Fowler (or any other recognizable name in tech). No industry should be run on the words of a few people. It's cool to read their words and make your own observations, but that should be the goal of any reading rather than putting power in the hands of influencers.

Collapse
 
furtleo profile image
Leonardo Furtado

The Cathedral and the Bazaar is an awesome book!

Collapse
 
firozansari profile image
Firoz Ansari

Thanks for recommending Dreaming in Code. It's on my reading list.

Collapse
 
awwsmm profile image
Andrew (he/him)

Thanks for the recommendations, Jason. I'll add them to my to-read list!

Collapse
 
exadra37 profile image
Paulo Renato

A MUST have to read in the bookshelf of any developers is The Phoenix Project

Bill is an IT manager at Parts Unlimited. It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO.

The company's new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill's entire department will be outsourced.

With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited.

In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize. Readers will not only learn how to improve their own IT organizations, they'll never view IT the same way again.

In fact this book should be read by anyone working in a company that produces software, this is not a book just for the DevOps guy.

Collapse
 
jakebladt profile image
Jake Bladt

I'm always suspicious of lists that recommend The Art of Computer Programming. Having spent more than 100 hours on volume one without finishing it, I can say that Knuth's own estimation that fewer than 100 people have read it end-to-end is probably true.

Each one of these books in valuable and every developer should probably read some of them, but each "high-theory" book you read is time taken away from learning practical, hands-on skills. I'm glad I read the top three back when all I was sacrificing was quality time with Access 2 and Visual Basic 3.

Collapse
 
exadra37 profile image
Paulo Renato • Edited

Just for anyone interest The Pragmatic Progammer book had its 20th anniversary edition, that have a more fresh and update view of todays world.

Taken from another dev.to post:

The original version The Pragmatic Programmer by David Thomas and Andrew Hunt has been an extremely influential book for me and (without a shadow of a doubt) many others. However, although a large amount of the essence of the book is still relevant today, most of the technological references are very much outdated. The authors recognise this:

But 20 years is many lifetimes in terms of software. Take a developer from 1999 and drop them into a team today, and they’d struggle in this strange new world. But the world of the 1990s is equally foreign to today’s developer. The book’s references to things such as CORBA, CASE tools, and indexed loops were at best quaint and more likely confusing.

-- "Preface to the Second Edition" The Pragmatic Programmer 20th Anniversary Edition

And in my opinion this SHOULD be the first book for a developer to read.

Collapse
 
elmuerte profile image
Michiel Hendriks

Do not read "The Art of Computer Programming". It is the "War and Peace" of computer science.

It is a shame it will never be finished. It is already a masterpiece of programming principles.

It is however not easy to grok. This is something you should read on a nice autumn Sunday afternoon with a whiskey, when you are 20-30 years into your career.

Collapse
 
awwsmm profile image
Andrew (he/him)

I tried to read it and it's so dry I am now a shrivelled husk of my former self. Note that inclusion on this list doesn't mean I personally recommend these books, just that other people seem to like them.

Collapse
 
eljayadobe profile image
Eljay-Adobe

I agree, lamentably. I read the 1/3 of the first volume, and I that was as far as I could slog through.

Collapse
 
culagovski profile image
𝕔𝕦𝕝𝕒𝕘𝕠𝕧𝕤𝕜𝕚

So even if a book is only "12.5% recommended", it means that, on average, 1 out of every 8 developers has read that book and recommends it to other developers.

It means that 1 out of every 8 people who published the lists you chose recommends it. Not the same thing.
Good list, anyway.

Collapse
 
awwsmm profile image
Andrew (he/him)

Yeah that's fair enough. If you assume that the reading habits / taste in books of developers who write these lists aren't significantly different from those who don't, though, then they're a representative sample of the whole. Maybe I should put the word approximately in there somewhere...

Collapse
 
culagovski profile image

Not to pick nits, but I assume that the kind of people who write this kind of lists read a lot of programming books, probably more than non-list writers. So, again, the 1/8 and such only really applies to the list writers, not devs as a whole. As a sample, it might be representative of which books are more popular, but not of the absolute amount of non-list writers who have read and recommended the books.
I still like the article, though.

Collapse
 
exadra37 profile image
Paulo Renato

You got the first 2 positions the other way around.

First you need to read The Pragmatic Programmer book, and then the Clean Code book, because Clean Code references the Pragmatic Programmer several times.

Collapse
 
ghenry profile image
Gavin Henry

Pragmatic Programmer 20th edition! Awesome.

Collapse
 
awwsmm profile image
Andrew (he/him)

Mine hasn't been delivered yet! Pre-ordered though 😎

Collapse
 
elmuerte profile image
Michiel Hendriks

Same. I'm waiting for the hardcover which should ship in 2 weeks. I wonder what has changed from the original.

Collapse
 
exadra37 profile image
Paulo Renato

Another book that anyone should read, is The Bottleneck Rules, and its free.

This book will show you why the bottleneck may not be where everyone sees it is, but instead is somewhere else in the pipeline of your organization.

From GoogReads:

As featured in The Spectator magazine and The Guardian newspaper.

  • 'It’s a great read' - Oliver Burkeman, author of The Antidote: Happiness for People Who Can't Stand Positive Thinking
  • '[Part of] a series of wonderful short books' - Rory Sutherland, Vice Chairman of Ogilvy UK
  • 'Fantastic book, relevant no matter what sector you work in' - Maria Macnamara, MBE, Founder and CEO of the international charity Smalls For All
  • 'A very good book with a practical approach to Goldratt's 5 steps' - Prof Witold Łojkowski, Head of Nanostructures Laboratory, Institute of High Pressure Physics, PAS

This tiny book shares one little-known concept: there's a bottleneck hiding inside your organisation, but because you don't know where it is, it's in charge. What's it doing? It's slowing your entire team, or organisation, down.

The Bottleneck Rules shows you how to find your bottleneck, then manage it, no matter where you work.

You'll learn how to do this using real examples from a broad range of workplaces and occupations, including accountancy, retail, airports, hospitals, software development, and hotels.

It contains one Dad Joke.

It's not as funny as the author thinks, but you'll find it surprisingly useful.


If you don't know where your bottleneck is, scroll up, BUY the book, and READ it this evening.

Within a week, your workplace will have sped up, and calmed down. You will be in charge of your bottleneck, not the other way around.

This is a book that is quick to read and it will change the way you look into bottlenecks, not only the ones in the organizations, but the ones in your code.

It really changes the way you look into stuff.

Collapse
 
damcosset profile image
Damien Cosset

I actually came back to this list after the Sonmez's story, and after reading your Should we separate the artist from its art? article @awwsmm .

It's interesting to see, and unfortunately not surprising, that most of these books are writing by old white men. Don't get me wrong, there are some great books in this list, books I own myself and that I enjoy. This is the industry we have, dominated by white dudes, who had the most exposure and opportunities over the years. It's only normal that they come up so often in a list like that.

However, I think, and I'm pretty sure @awwsmm will agree with that, we would all be better off promoting books from people coming from different origins. So, here a proposition, is it possible to make such a list while excluding people that already had a good amount of exposure and privilege? We've heard them, and for some in that list, we also know what kind of people they are. Just a thought.

Keep up the good work Andrew ❤️

Collapse
 
techread_dev profile image
techread

Nice list. I also have a list of all time software engineer book at techread.dev

Collapse
 
swarupkm profile image
Swarup Kumar Mahapatra

I do not have the habit of reading books ☹️. I lose patience a lot.
I enjoy live coding examples and conference talks.
I hope a list of best talks and videos be published as well for people like me 🙂

Collapse
 
davidshq profile image
Dave Mackey

Thanks for taking the time to compile this list, I love these sort of data-driven listings, while they have their weaknesses (as noted in some of the comments) they are still valuable in understanding what is popular.

I'd be interested to see if you collated by year if the order of the recommendations changed. One of the issues with recommended book lists is that they tend to be self-reinforcing, people read books on someone's list and then recommend them.

A number of the books on the list are quite old in coding years, while this doesn't mean they don't deserve to remain on the list...I wonder if they would trend less highly given some sort of curve for recency of recommendation?

Collapse
 
awwsmm profile image
Andrew (he/him)

I thought about this as I was making this list, but wasn't able to find enough recommendation lists to do any sort of slicing. You could do something similar with data from big websites with lots of reviews like Amazon. Look at the frequency and median value of reviews over time, and weight more strongly a book with the same median rating, but more overall reviews in a given time period. That's a slightly different question than the one I was trying to answer in this post, though.

Collapse
 
eljayadobe profile image
Eljay-Adobe

I like how this top 20 list was collated. Data Driven Book Recommendation (DDBR). :-)

Collapse
 
creyin profile image
Creyin • Edited

Quite cool books are given here, but unfortunately, they will be as boring to a large enough circle of professionals as they are to beginners. Because in today's world, there is more value in various courses, which are much more effective in squeezing out information. Take automation testing courses, and for example, they are more effective than any book, any of them.

Collapse
 
jrohatiner profile image
Judith

Great post! I always thought that quote came from Ronald Reagan! Trust but verify - good advice.

Collapse
 
dantefrank profile image
David Dante Frank

Thanks a lot.. I have enjoyed this.

Collapse
 
maartz profile image
Maartz

Thanks !

Collapse
 
yucer profile image
yucer

Thanks!

I'm just curious. Which library is that from the image?

Collapse
 
awwsmm profile image
Andrew (he/him)
Collapse
 
wfelix profile image
W. Felix

Great list! Amazon's wish list and buy one every month. 😀

Collapse
 
essentialsoftwaredevelopment profile image
Essential Software Development

This is a good list of books. Some to add Psychology of Everyday Things, About Face for design. And of course ours Essential Software Development Career + Technical Guide :)

Collapse
 
codeoftheprogrammer profile image
CodeOfTheProgrammer

I've read both "Head First Design Patterns" and the Gang-of-Four, but the patterns book I recommend most is "Design Patterns Explained" by Shalloway and Trott.

Collapse
 
renesansz profile image
Rene Padillo 🇵🇭

Awesome list of books here!

I know I might not able to digest some of it, but I'll try reading them anyways.

So thank for sharing! 🙂

Collapse
 
leewhoward profile image
LeeWHoward

What would be the recommended reading order of these statistically most recommended development books?

Collapse
 
kousik_mitter profile image
Kousik Mitra

What about system design? any recommendation? Which one will be good?

Collapse
 
weuze profile image
weuze

Thanks for these recommendations.

Collapse
 
renso3x profile image
Renso3x

Thank you for the list of recommended books to read.

Some comments have been hidden by the post's author - find out more