Top 5 Books Each Programmer Must Read During His Entire Life. Part 1

2 min readJan 8, 2020


It is barely possible to imagine modern education without reading books. To become a professional, one need not only to read specialized technical literature, but also books of a more broad kind that refer more to the “philosophy” of programming. When the first type forms professional competence, the second type helps to shape thinking, basing on the knowledge that was accumulated for years.

However, it will take years to read all these books and even more time to think them through and build an understanding.

What to begin with, though?

How we supposed to approach such vast diversity?

In this Series of Articles we’ve collected the most important works that every professional developer should be familiar with.

First of all, we would like to begin with a wonderful book called “Code Complete” by Steve McConnell.

This book was translated to Russian in 2005 and one year later there hardly had been a professional who didn’t read it at least once. Yes, it is big and contains about a thousand pages, but it covers almost all aspects of modern software development.

It includes such topics as aspects and peculiarities of good coding, testing problems and their solutions, as well as debugging and optimizing strategies. The most important thing about this book is that McConnell answers such conceptual questions as controlling the complexity, quality, and scalability of a system.

He thoroughly describes all the rules and details that a programmer should stick to in order to create a good and supportive code. He draws a line between necessary level of abstraction and sufficient level of details, describes different approaches to development and using of qualitative interfaces of classes and packets, even speaking about such nuances as variable naming.

For instance, there are more than 30 pages dedicated only to the general principles of function naming and using of variable names, with all rules and advices given from the practical point of view.

Besides, the book contains formal and informal principles of commercial software development, code refactoring rules, inspection methods, and ways of optimization, and approach to a test driven development.

Many specialists consider it the best book on software making and believe that every developer should reread it at least once a year.

Please stay tuned! In the next Part of that Series of Articles we will talk about the book, written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides “Design Patterns”.