Top Programming Books on StackOverflow

There is a popular opinion that developers do not read professional literature nowadays but according to the survey held by, reading business and scientific books is one of the biggest hobbies of most IT specialists (37% of all respondents).

So how often do you ask yourself – what to read next? DevBooks has analyzed StackOverflow’s survey on the most popular programming books, and listed the most popular ones that were recommended on the platform. Let’s find out what books are the most popular?

StackOverflow was created in 2008 and since that time it has become the largest online community for developers. The website serves as a platform for programmers to ask and answer questions in order to solve common problems. Often developers recommend programming books to one another during discussions.

Authors at DevBooks have collected together the most recommended books on StackOverflow. For that, DevBooks first got the database dump of all user-contributed content on the website. After extracting StackOverflow questions and answers (more than 40 000 000 items), all links to books were counted.

The website has also sorted the books on the basis of sub-topics and created a tag-based search for users’ convenience.

According to this data, 3 most popular programming books on StackOverflow are:

1. Working Effectively with Legacy Code

Written by Michael C. Feathers, this book is on Agile software that can help you to get more out of your legacy systems. The author describes different start-to-finish strategies to effectively work with large untested legacy code books.

2. Design Patterns: Elements of Reusable Object-Oriented Software

Written by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, this book covers the design of object-oriented software. The authors describe many design patterns and the solutions of how to translate the design into software.

3. Clean Code: A Handbook of Agile Software Craftmanship

Written by Robert C. Martin, this book describes a practical method for writing a better code and building successful applications. It includes several case studies of increasing complexity as each case study is an exercise in cleaning up a code.