Clean Code
This is one of the best books every fresher as well as experienced programmer should read. Write Code the way you want will surely help you achieve your task, but how you write the code is very much important. It will improve the readability, maintainability etc. This Books teaches you all the things right from how you should write the variable names, method names etc.
The Pragmatic Programmer
If you are moving away from the role of a developer then this book has much needed advice for you all.
Head First Design patterns
This book will makes your design patterns concepts easy to understand. It’s also a useful book for learning how to teach complex topics and make them interesting.
The Passionate Programmer
This book teaches you how to look yourself from the perspective of being just a code and what else you can achieve and thing beyong being just a programmer.
Domain Driven Design
This book is more leaned towards building the architecture based on the domain modeling