The Pragmatic Programmer - D. Thomas and A. Hunt Clean Code - Robert C. Martin The Art of Computer Programming - D. Knut Refactoring - M. Fowler Working Effectively With Legacy Code - M. Feathers Introduction to Algorithms - Cormen Leiserson Fabricio Damazio Grokking Simplicity - Eric Normand Extreme Programming Explained - K. Beck Compilers - Aho and Lam Seven Languages in Seven Weeks - Bruce Tate Refactoring to Patterns - Kerievsky The Object-Oriented Thought Process - Weisfeld Design Patterns - Gamma, Helm Grokking Algorithms - Aditya Bhargava