The way programmers practiced From small workers to experts _2011 edition _ the latest version