The Three Great Virtues of a Programmer: Laziness, Impatience, and Hubris