• Code Complete - definitely must-read book for every developer.
  • Design patterns : elements of reusable object-oriented software - the best handbook about design patterns in software development written by Gung of Four. The book has detailed explanation where, when and how each pattern should be used to decrease complexity of building your software system. If you are a new in OOP, this book will help you to understand how common principals of Object-oriented-programming work. Patterns help to follow DRY principal but it’s very easy to forget about KISS and create your system even complex and over-engineered then without them.
  • C# in a Nutshell
  • 31 days of refactoring - It’s a small but very informative and laconic book. Each day is one method how to refactor your code with examples of code before and after refactoring. There is no a lot of explanations about where you should use these methods, but examples are transperent , some times very natural and easy to understand. Use it wisely and your code will be better.