The Pragmatic Programmer: From Journeyman to Master
Andy Hunt and Dave Thomas
Andrew Hunt and David Thomas codify many of the truths they've discovered during their respective careers as designers of software and writers of code. Topics range from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. This book covers what makes a pragmatic programmer, and helps developers examine and improve their craft.
code-quality backend intermediate practical refactoring design-patterns
clean code clean-code hands-on hands on
pragprog pragmatic programmer