How to be a Programmer: A Short, Comprehensive, and Personal Summary [a must read]