Great article on why software is hard and probably why I'll pickup Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software.

Some of my favorite quotes from the article:

"Software scheduling is an NP-complete bin packing problem where the sizes of the bins are hidden!"

"Software construction is the most complex endeavor ever undertaken by mankind.  It makes building things like cathedrals and space shuttles look like child's play, and it strains our little monkey brains to the utmost."