I get this question many times, what book would you recommend to a software engineer? Being jumping to the answer, let me clarify a few things. I did not read all the books I will recommend below. However, I have read the majority of them, and the ones I did not read were recommended by others in the industry.
Additionally, I cannot state this enough, books are a great way to develop skills, acquire general knowledge and mainly learn best practices. Yet nothing can beat practicing when you are trying to learn to code.
Let’s get into book recommendations for software engineers.
Code Complete by Steve McConnell
If you want to push your software engineering skills to the next level, this book is for you. It is well-written, easy to absorb and will test your limits to better engineering by covering many important topics.
It may be overwhelming if you are just getting started, but it will definitely teach you techniques and methods that will improve your routines and quality of your code.
Cracking the Coding Interview by Gayle Laakmann McDowell
Planning on finding a new job? This book is for you.
Collection of frequently asked questions in interview by the top tech companies, covering topics such as, data structures, Big O notation, algorithms and object oriented programming.
The author narrates his story in interview, working for the big giants, Microsoft, Google and Apple.
Algorithms by Robert Sedgewick & Kevin Wayne
We have all heard the definition of an Algorithm, it’s a set of instructions that performs a specific task. Many developers can go years working on a project without actually needing to use algorithms, or so we think? Understanding algorithms will make you complete more complex taxes and make your code cleaners, if anything, it will be a topic for interviews.
The Self-Taught Programmer by Cory Althoff
This book is a complete guide to fundamental concepts of programming, so if you are just starting out, this will help you understand, loops, modules, strings, files, etc.
You will also learn Object oriented programming as well as BASH.
You can start your self-taught programming career by reading this book; it will also give you insights on your first job interview.
Coders at Work by Peter Seibel
In a form of interview questions, this book offers the story of 15 developers; they tackle the daily challenges that face developers.
There are a lot to be learned from other people’s experiences and this book is a perfect example of that.
Clean Code by Robert C. Martin
Coding has a lot of best practices, if you are writing code then you need to learn them, they will go a long way to making you a better code writer for any programming language, although it focuses on Java, it applies to any other language.
The Pragmatic Programmer written by David Thomas & Andrew Hunt
If you are a beginner, this book will be your toolbox; it will help you master how to write beautiful and practical code.
I have never read this, but it comes recommended from many people as must-read for any software engineer.
The Clean Coder by Robert Martin
Taking a look at the glossary, you can easily tell that this book has a lot of potential. It covers every aspect of software engineering; you will learn other soft skills besides coding, like negotiation, estimation, collaboration and time management.
You will not only learn how to be a better software engineer, you will also learn what it takes to be a better entrepreneur and team member.
Rework by Jason Fried & David Heinemeier Hansson
This is a NYTimes seller, yes you have guessed it right, it is not a programming book but rather a business and entrepreneurship one. So if you have the intention to building a company in the future, you will definitely learn a thing or two from this book.
If you have an idea, this book will help you bring it to life.
Written by Eyal Nir: Hooked How to Build Habit Forming Products
Yes we are developers and not designers, but having a glimpse on their world will help you be more productive especially when working in teams and collaborating with designers.