DEV Community

Tertiumnon
Tertiumnon

Posted on

A minimum of books that should be read by a novice or experienced programmer

Intro

Below a small list of books that I can personally recommend for reading to all programmers, including beginners. As it usually happens that I bought, I sell it.

Computer Science fundamentals

Computer Science Distilled (Wladston Ferreira Filho)

Computer Science Distilled

This is an super-"based" book which is well-suited for beginners, particularly for those who have no specialized education.

Harvard CS50 video course

Harvard CS50

This is not a book, but perhaps the best that you can find for training a base. This is a magnificent Harvard course, on the example of which you will understand why people seek to get to study in places such as Harvard. You can watch this course online absolutely free.

Also, you can earn a certificate on edx.org or on the Harvard website. The course is regularly updated, so if you started, it is better to finish in the same year.

Programming

Object-Oriented Thought Process (Matt Weisfeld)

Object-Oriented Thought Process

I would describe this book as the initial one for those who want to use the OOP in their work. I know that this book is not very popular, but it personally helped me in due time to "set up" some concepts in my head.

Head First Design Patterns (Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra)

Head First Design Patterns

There are two versions of these books - one of them contains illustrations for better understanding. Understanding the patterns will allow you to structure various approaches in your head and communicate in the same language with other programmers, choosing solutions for certain problems.

Clean Code (Robert Martin)

Clean Code

In the book you will find a set of rules that will help you write understandable for yourself and, which is much more important in large companies, a code understood for other programmers. The sooner you read this book, the better.

Test Driven Development: By Example (Kent Beck)

Test Driven Development

Sometimes programmers neglect testing (which is bad). The book will inspire you to write tests, or at least give food for thought.

Algorithms and data structures

Grokking Algorithms (Aditya Y. Bhargava)

Grokking Algorithms

The book gives basic ideas about the algorithms and data structures. The book is loved by many for its simplicity, with which the author explains key principles. If you read, understand and implement everything that is in this book, then you should not have problems with the next book. It is recommended to read the updated (fixed) version of the book.

Cracking the Coding Interview (Gayle Laakmann McDowell)

Cracking the Coding Interview

Essentially, this book is intended for those who are going through interviews at major technology companies. A lot of material is dedicated to the main section – algorithmic.

System Design

System Design (Alex Xu)

System Design

A well-structured book that is often recommended for reading before undergoing interviews. Numerous diagrams, describing various 'IT-related' things, by the same author can be found online.

High Load

Designing Data-Intensive Applications (Martin Kleppmann)

Designing Data-Intensive Applications

Famous "book with the boar", one of the fundamental books for a programmer who wants to proudly call themselves a Software Engineer.

Management

Software Engineering at Google (Titus Winters, Tom Manshreck, Hyrum Wright)

Software Engineering at Google

The book provides general insights into development at tech giants like Google. You can learn how to be a good manager, hire engineers and evaluate their performance, test, scale, and decide on tools to use – a lot of useful content.

Agile Estimating and Planning (Mike Cohn)

Agile Estimating and Planning

In my opinion, the book is somewhat verbose. However, it contains very detailed descriptions of team interactions working with Agile methodology, which you'll start to understand and use better.

Afterword

It would be interesting to see your minimum set of books in the comments. If there are any remarks, I'll try to improve the article or publish an updated version later.

Top comments (0)

👋 Kindness is contagious

If this article connected with you, consider tapping ❤️ or leaving a brief comment to share your thoughts!

Okay