Today I’m answering one of your questions: what are the books I’d recommend to learn more about programming? Before jumping into the recommendations, let me clarify one thing. I did not read all the books listed below. However, I read many of them, and those I didn’t read were recommendations I got in the past or are books highly recommended by others in the industry.
Also, I want to state that books are super important to develop skills, learn about best practices, and acquire general knowledge. Still, the most important thing to do when learning to code is to practice and build things independently. So read the books, and then sit down on your computer and perform your magic.
Let’s now start with my recommendations for developers.
Code Complete by Steve McConnell
This book is a masterpiece that will push your software engineering skills to the next level. The book is well-written and covers a variety of topics that will test your limits to better engineering.
The book covers methods and techniques focusing on code design, routines, and quality. I recommend this book to every developer, though it may be overwhelming for those just starting or with little experience.
Cracking the Coding Interview by Gayle Laakmann McDowell
Planning on landing a new job? Are you taking or planning to take interviews? Then, this book is for you.
It’s a collection of frequently asked questions by the top tech companies covering topics such as Big O notation, data structures, algorithms, dynamic programming, object-oriented programming, among other things.
The book’s author tells his story with interviews, working in giant tech companies like Microsoft, Apple, and Google.
Algorithms by Robert Sedgewick & Kevin Wayne
Algorithms, algorithms, algorithms? We all know some sort of definition of the word like: “An algorithm is a set of instructions that performs a specific task.” Many developers can still go months working on projects without understanding the most common algorithms and data structures. Sometimes we simply don’t need them, or so we think. Knowledge of advanced algorithms can help make your code cleaner, not to mention you would be able to complete more complex tasks, and last but not least, it’s usually a topic for interviews.
The Self-Taught Programmer by Cory Althoff
This is one of the best books of the present time to develop coding skills. It covers and provides a brief introduction to all aspects of coding skills. It consists of five parts that cover 27 chapters. This book offers a complete guide to fundamental concepts of programming (loops, strings, modules, files, etc.), Object-Oriented Programming, and BASH. It also provides basic guidelines for your first programming job interview.
I highly recommended this book for self-taught developers like myself, though it’s a good read for any developer in general.
Coders at Work by Peter Seibel
This book compiles the story of 15 excellent developers in the form of interview questions. All the questions aimed at their daily life and challenges as software engineers. There is much to be learned from others’ experiences, and this book does an amazing job at that. Covering topics such as software development, debugging technics, and programming languages is a no brainer for any developer.
Clean Code by Robert C. Martin
The book about coding best practices. If you often write code, this is definitely for you. Covering topics that will make you write better code every time, no matter the programming language. Though it focuses on java, the concepts apply to many other object-oriented programming languages.
The Pragmatic Programmer by David Thomas & Andrew Hunt
A must-read for software developers, specifically for beginners. The book is like a toolbox, filled with battle-proven tools that will help you be your best self when it comes to writing beautiful and practical code.
I haven’t read this myself, but it looks very promising, and my friends and colleagues highly recommended it.
The Clean Coder by Robert Martin
Just by looking at the glossary, you can tell so much about the potential of this book. Covering all aspects of software engineering, talking about code and how to get better at it, and other soft skills such as negotiation, time management, estimation, collaboration, and much more.
The book is not only the ultimate guide to making you a better software developer; but also to make you a better software engineer, entrepreneur, and team member.
Rework by Jason Fried & David Heinemeier Hansson
If I say that this book is an NYTimes best-seller, you would probably think it’s not a programming book; you would be right; this book is about business and entrepreneurship, and I believe that many developers have this spirit, so knowing a thing or two can be a crucial factor when building your own company.
If you have a million-dollar idea, give this book a try; with all the previous books, you have enough knowledge to build any product you like. Make it rock!
Hooked: How to Build Habit-Forming Products by Nir Eyal
I know we’re software developers and not designers, but believe me that having some knowledge of design and user experience will boost your productivity as a developer, especially when working in teams with designers and UX experts or building your product.