Programming Books

Programmers need to know a lot more than knowing the syntax of a programming language. These books cover topics that helped me become a better programmer.

A Philosophy of Software Design

John Ousterhout

This is hands-down the best book about software I have ever read. When you’ve reached a level of experience in programming where you know how to solve problems, but not how to solve them in a good way, this book will give you the answers. It explains complexity, modular design, abstraction, design principles, red flags and more.

Clean Coder

Robert C. Martin

This book teaches you how to be good at everything programmers need to do besides designing and building software. It explains how to talk to project managers, how to give estimations, how and when to say no and much more.

Clean Code

Robert C. Martin

The first chapter of this book is a great introduction for everyone learning programming to think about what good code is rather than just how to solve problems with it. If one wants to go deeper into this topic, I recommend reading “A Philosophy of Software Design” by John Ousterhout.