The Pragmatic Programmer: From Journeyman to Master by David Thomas, Andrew Hunt (Paperback, 1999)