To see the previous year list, see 2017 list.
Clean Code is book for programmers who want to be better programmers. It focuses on software quality and craftsmanship. If I had to pick a book, this is the one to read. The author, Robert C. Martin brings a great approach to discuss quality in code by using a lot of code examples to work with. The book shows how we can clean our codebase in a sane, iterative way. You still have to put in the work, but Clean Code will help to get there based on time-tested techniques and solutions.
The C++ Programming Language
As I ramped up my knowledge in C++, this book has been very helpful. From Bjarne Stroustrup, the creator of C++ language, it has helped me to cover a lot of holes in C++ by providing the most concise and comprehensive resource on the language, from fundamentals to templates STL, classes and advanced pointer management. For any C++ programmer this book is a must have.
Another one from Uncle Bob, Clean Coder is a book for programmers who care about their craft. The book introduces disciplines, tools and practices of about software craftsmanship. Once you read it, you’ll learn about communication and fair estimations, face difficult decisions. It will also show to take pride on your knowledge and honor your responsibility to act.
Effective Modern C++
After going through The C++ Programming Language, this was my next step to turbocharge my C++ skills. From Scott Meyers, the book gives essential how-to approaches on key aspects of modern C++ development. It challenges you to use the newer C++11 and C++14 features effectively, so you can write software that is efficient, maintanable and portable.
I had wanted to read this one for a while and I finally got the chance to get it on my hands. The book, by Carl Newport, focuses on how to master and strengthen your concentration skills to reach deep work state, the state where valuable things get done. The book has resonated with me a lot, since I have been thinking lately about ways to improve my productivity and focus. The explanations in the books, as well as the set of rules to master Deep Work, is well worth the price of this book.
Another one from Uncle Bob, Clean Architecture expands on the concepts of clean designs towards software architecture. The book covers designs a variety of topics from a software architect perspective, including: design principles for function and component separation, how to define appropriate boundaries and leyers, among others.
The Devops Handbook
The Devops Handbook has provided with essential advice related to Devops concepts and techniques. The reading is pleasant and motivating, and the use cases, extracted from multiple companies, give real insights about the applicability of these concepts across many domains. Overall, the book gives a strong foundation to build upon for DevOps practicioners like me.