Why Good Programmers Are Lazy and Dumb