A Good Programmer: Why You Need to Avoid Being One
thoughtworks.com