Reading notes on The Pragmatic Programmer by David Thomas and Andrew Hunt