Old hands in any profession are always remarking that the new boys keep making the same old mistakes, and software development is no exception. Peter Deutsch’s The Eight Fallacies of Distributed Computing is a nice codification of some of our classics.
The majority of Deutsch’s items have more applicability than pure “distributed computing”, of course. Web applications, particularly the multi-tier “enterprise” variety, absolutely fit into this category, but anything on an explicitly parallel computer does, too. Finally, as main memory drifts further and further from your CPU and hardware vendors move towards multi-core chips, pretty much everything looks like ending up “distributed” enough to make the Eight Fallacies relevant.
Read the Eight Fallacies, then pin a copy up above your desk. You’ll be needing it later.
[2013-02-24 Moved link from James Gosling’s web site, which no longer exists, to Wikipedia. You can also view the original page using the Internet Archive’s Wayback Machine.]