People are often trying to find a quick shortcut to the goal. This leads toward cheat-sheet or video learning or game-development at the beginning of the software development journey.
I have been always a shortcut person, tried to develop video games in Java even have no idea what is OOP. After some time of frustration and self-questioning, I have realized the importance of understanding basic coding structure.
A good book can always be best friend.
This list will contain 7 books on software development or related topics. I have made this list especially for the beginners, college student or career switching persons.
I’ve compiled the suggestions of dozens of programmers, managers, career coaches, university professors and other industry professionals to bring you a list of Must read Software development books for beginners 2020, with some short summaries (courtesy of Amazon).
I have tried to streamline the suggestion into the category of software development areas.
So, without further discussion, list below:
Design Patterns: Elements of Reusable Object-Oriented Software
Also, known as “Gang of four”, very renowned book within the software development community. This book all about design patterns and how to use them efficiently. Lots of other books reference this book. A must-have collection for your entire career as a software developer.
The Art of Computer Programming
Another bible for a computer programmer, a very vintage book. Although this book was conceived several decades ago, it is still a timeless classic. One of the book’s greatest strengths is the wonderful collection of problems that accompany each chapter. The author has chosen problems carefully and indexed them according to difficulty. Solving a substantial number of these problems will help you gain a solid understanding of the issues surrounding the given topic. Furthermore, the exercises feature a variety of classic problems.
Introduction to algorithm
Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in-depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.
Clean Code: A Handbook of Agile Software Craftsmanship
Coding is easy when you are alone, but not in a team of developers.
Maintaining a clean code base very important for enterprise software development. As a beginner, you might want to work for a software development company. This book will help you understand about code organization and maintain.
Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code — of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Code Complete: A Practical Handbook of Software Construction
No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking — and help you build the highest quality code. Widely considered one of the best practical guides to programming, Steve McConnell’s original Code Complete has been helping developers write better software for more than a decade.
If learning Python by creating video games is too frivolous for you, consider Allen Downey’s book Think Python, which takes a much more serious approach.
As the title says, the goal of this book is to teach you how coders think about coding, and it does a good job of it. Compared to the other books, it’s drier and organized in a more linear way. The book focuses on everything you need to know about basic Python programming, in a very straightforward, clear, and comprehensive way.
Let me know what do you think about this list and did I miss any books.