Andrew, a veteran software developer, recently compiled a list of the most recommended software development books from dozens of programmers, project managers, career coaches, and other industry experts. The list includes 297 books from 36 sources. The 20 most recommended books are as follows:


1. Enterprise Application Architecture Patterns is recommended by 13.0%




This book is really two books in one, the first part is a short tutorial on developing enterprise applications that you can read from beginning to end to get a sense of the scope of the tutorials in this book. The second part, the focus of the book, is a detailed reference to the patterns themselves. Each of the patterns provides usage and implementation information, as well as detailed code examples in Java or C#. The book is also richly illustrated with UML diagrams to further explain these concepts.


This book is written for software architects, designers, and programmers who are dedicated to designing and building enterprise applications. It can also be used as a reference material for computer science majors and related courses in software colleges and universities.


2. The Way to Clean Your Organization is recommended by 13%




Through this book you will learn:
  • Understand the requirements of a software architect and master basic software design principles such as problem solving and data management.

  • Achieve optimal high-level architecture for Web, database, console, and embedded applications

  • Understand why design and architecture bugs go wrong, and how to prevent (or fix) them


3. The Art of Computer Programming was recommended by 13 percent




Though conceived decades ago, the book remains a timeless classic. For decades, the first three volumes have been a valuable resource for students, researchers, and practitioners in programming theory and practice, a bible for all basic algorithms, and one of the great strengths of this book is that each chapter contains a large number of problems. The authors carefully select questions and index them according to difficulty.


4. Coding is recommended by 15.9%




Using everyday and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating story for those who want to understand the inner secrets of computers and other intelligent machines. So when you read this book, you will not feel dull and stiff at all. More importantly, you will gain a deeper understanding of how computers work. This understanding is not at the level of abstraction, but has a certain depth.


5. Agile Software Development is recommended by 15.9%




Written by software developers for software developers, this book is a unique collection of the latest software development methodologies. The author covers OOD, UML, design patterns, agile and XP methods, and details the software design of a complete C++ and Java reusable program. It uses a practical solution to show how to develop an object-oriented application, from the early stages of analysis, through design and final implementation.


6. Introduction to Algorithms (3rd Edition) is recommended by 17.4%




Some of the books on algorithms are rigorous but not comprehensive; Others cover a lot of subject matter but lack rigor. This book combines rigor and comprehensiveness, discussing algorithms in depth and making their design and analysis accessible to readers at all levels. Each chapter is self-contained and can be used as an independent unit of study. The algorithm is described in English and pseudocode, which can be understood by people with preliminary programming experience. Explanations and explanations should be easy to understand without losing depth and mathematical rigor.


Classic materials, rich content, reasonable structure and clear logic, the book is a very practical textbook for undergraduate data structure courses and graduate algorithms courses, in the career of IT professionals, the book is also a necessary reference book or engineering practice manual.


7. “Simple Design Patterns” recommended by 17.4%




Most of the time, what have you been trapped by some software design problems, and these problems you meet someone else may already solved, this book shows you developers to create powerful, elegant, reusable and flexible software through the test of practice mode, after reading this book will be more effective in solving the problems in the software design, And be able to communicate better with your team members in the language of patterns.


8. Programmer Interview Guide (5th Edition)




This book is the experience of the former Google senior interviewer, closely related to every step of the programmer interview, comprehensive and detailed introduction of programmers should deal with the interview, in order to stand out in the interview. Chapter 1 ~ 7 mainly deals with the analysis of the interview process, the behind-the-scenes decisions of the interviewer and possible questions, the preparation before the interview, and the handling of the interview results. Chapter 8 ~ 9 presents 150 programming interview questions from Microsoft, Apple, Google and other well-known companies from four aspects of data structure, concepts and algorithms, knowledge questions and additional interview questions, and provides detailed solutions for each question.


9. “The Midas Touch” recommended by 18.8




This is a book about Web design principles rather than Web design techniques. The author is a Web design expert with rich practical experience. He reveals the important but often overlooked issues of Web design in a humorous way, and in just a few hours, you’ll be able to use the principles of design taught in this book to find the crux of your Web design and transform your website.


10. Programmer’s Professionalism is recommended by 18.8%




This book is the programming master Uncle Bob more than 40 years of programming experience, explain what kind of attitude, principles, what kind of action to become a real professional programmer. The author takes the detour and mistakes made by himself and his colleagues as examples, aiming to guide the successors and help them to a higher level in their career.


11. Soft Skills is recommended by 23.2%




This is a book that really focuses on the development of software developers from a “people” (rather than a technical or managerial) perspective. The book deals with both habits and ways of thinking, highlights the “human” aspect of technology, and provides a comprehensive overview of all the “soft skills” that people in the software industry need to know.


The book is divided into seven chapters, including career, self-marketing, learning, productivity, financial management, fitness, and spirituality. It summarizes the “soft skills” needed by software industry practitioners. By reading this book, software engineers, programmers, and other technical people can think positively about their careers, enrich their lives, and bring themselves closer to success.


12. People Piece was recommended by 23.2%




This book is a best seller about software organization management. The book is a legendary classic in the field of software management and is known as “the book with the greatest influence on the American software industry”. The book explains how to think and manage the biggest problem in software development — people (rather than technology) — from the perspectives of managing human resources, creating a healthy office environment, hiring and retaining the right people, forming effective teams, transforming corporate culture and working happily, so as to achieve effective projects and teams.


13. Programming Abas was recommended by 26.1% of people



This book is a classic in computer science. The book revolves around a series of practical problems faced by programmers. With insight and creativity, Jon Bentley guides readers to understand these problems and learn the solutions that are crucial to a programmer’s practical programming career. This book features thorough and intelligent descriptions of practical programming techniques and basic design principles through some interesting and instructive programs that are well designed to provide clear and complete solutions to complex programming problems.


14. “The Art of Fixing Code” is recommended by 27.5%




This is another landmark book on modifying code techniques after Refactoring and Refactoring and Patterns, and it surpasses the previous two classics in both coverage and depth. The book covers not only code in object-oriented languages (Java, C#, and C++), but also chapters on procedural languages like C. The author will understand, test, and modify the code, the principle of the technology and the latest tools (automated refactoring tools, unit testing framework, imitation of object, integration testing framework, etc.), and rely on technology and a large number of development and the principle of good code design, best practices, the combination of many content is very deep, and often hair predecessors have not hair.


15. The Myth of man-month is recommended by 27.5% of people



The book is based on Brooks’ experience as a project manager for IBM’s System/360 computer family and its massive software System, OS/360. In this book, Brooks offers some of the most insightful insights into managing complex projects, with many thought-provoking ideas and a wealth of software engineering practices, offering insights for every complex project manager.


16. Refactoring was recommended by 33.3%




For more than two decades, experienced programmers around the world have relied on Martin Fowler’s refactoring to improve the design of existing code, make software more maintainable, and make existing code easier to understand.


This long-awaited new release has been updated to reflect important changes in the programming world. The second edition of Refactoring, with a switch to JavaScript code examples, and examples of new features that demonstrate classless refactoring. Like the first version, this version explains what refactoring is and why it should be, how to determine which code needs refactoring, and how to successfully refactor.


17. Design Patterns is recommended by 33.3%




This book is not an introduction to object-oriented technology or design. Many books already do this well… , this is a book of design patterns, describes the specific problems in the object-oriented software design simple and elegant solution, this book combined with design practice cases selected from the object-oriented design out of 23 design patterns, object-oriented design are summarized in the most valuable experience, and expressed in the form of concise and reusable.


18. Code Is recommended by 44.9% of people




Widely regarded as one of the best practice guides to programming, Steve McConnell’s Complete Code has been helping developers write better software for more than a decade. This classic book has now been completely updated and revised, with the addition of cutting edge practices — and hundreds of new code samples — to illustrate the art and science of software construction. No matter your level of experience, development environment, or project size, this book will inform and stimulate your thinking — and help you build code of the highest quality.


19, “the way of programmer training” 44.7&recommended


Book is made up of a series of independent parts, covering topics from personal responsibility, career development, know to make the code stay flexible, and easy to adapt and reuse of architecture technology, using many examples of entertaining anecdotes, thoughtful and interesting analogy, fully illustrates the many different aspects of software development best practices and major trap.


20. The Code Clean Way is recommended by 52.2%




This book advances the idea that the quality of code is proportional to its cleanliness. Clean code, both in quality is more reliable, but also for the later maintenance, upgrade laid a good foundation. As a leader in the field of programming, the author offers a series of proven clean code practices. These practices are embodied in rules (or “Revelations”) in The Code Clean Way, supported by positive and negative examples from real-world projects. By following these rules, you can write clean code and improve the quality of your code.


Follow public accounts

【 Pegasus Club 】



Past welfare
Pay attention to the pegasus public number, reply to the corresponding keywords package download learning materials;
Reply “join the group”, join the Pegasus AI, big data, project manager learning group, and grow together with excellent people!

RSVP number “2” machine learning & Data Science must-read classic book with resource pack!

Into AI & ML: Learning machine Learning from Basic Statistics (PDF download)

Answer the number “4” to learn about ARTIFICIAL intelligence, 30 books should not be missed (with electronic PDF download)

Reply number “12” small white | Python + + machine learning Matlab neural network theory + practice + + + depth video + courseware + source code, download attached!

Reply number “14” small white | machine learning and deep learning required books + machine learning field video/PPT + large data analysis books recommend!

Reply to the number “16” 100G Python from beginner to Master! Complete video tutorials + Python Classics for self-study!

526 Industry reports + White papers: AI, Artificial intelligence, robotics, smart mobility, smart home, Internet of Things, VR/AR, blockchain, etc. (download)

Reply digital “30” receive | 100 + artificial intelligence study, deep learning, machine learning, big data, algorithms such as data, decisive collection!

Reply number “35” 40G Ng Machine learning + Lin Xuan Tien machine learning (cornerstone + techniques) advanced mathematics and linear algebra and other videos + books to receive!

Reply number “36” 286 pages PDF teach you how to understand deep learning algorithms, theories and computing systems! (Downloadable)

Reply digital download “37” timed | 265 g python a full set of video tutorials, from entry into order to interview skills!

Reply number “38” blockbuster | Wu En of new book “the Machine Learning Yearning, 58 latest chapter 1 – (download PDF)

Senior programmers want to change careers? Click on “Ai Engineer”