Developers, of course, love to design and write software and are always on the lookout for source material on the subject. Yet there are times when its appropriate to read something else entirely—and its a lot easier to justify the time if the book can add to your creative or technical wisdom.
Here are a few books that every developer should at least browse through in the bookstore, if not take home to read.
"How Buildings Learn: What Happens After Theyre Built," by Stewart Brand. This book was originally recommended to me by Grady Booch. As Booch explained, this book is obviously about physical architecture, but it also makes you think about how computer systems change as they respond to users.
"Shockwave Rider," by John Brunner. Thank goodness this 1975 science fiction novel is back in print. If I said it was the granddaddy of cyberpunk, it might turn you off. Im not terribly fond of that genre myself. Instead, its a darned-good story about what it means to live in a virtual world—and Brunners vision of what youll recognize as the Internet even includes worms. (This book is where the word "cyberpunk" was coined.)
And if you enjoy this story, in the same vein is Vernor Vinges "True Names." Originally a novella, but later available in collected works, it was arguably the first book to explore the nature of online relationships.
"Bellwether," by Connie Willis. This novel isnt about technology at all; its about survival in the corporate world, fads and getting your hearts desire. And its hysterically funny.
"The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully," by Gerald M. Weinberg. Even if you have no intention of hanging up your own shingle, this wonderful book gives real-world lessons about business relationships, negotiation and product quality ... and did I mention that its hugely entertaining?
When I described this column idea to my friend eWEEK Technology Editor Peter Coffee, he immediately suggested several more books: William Gibsons "Neuromancer" and "Burning Chrome" (the latter is a short story published both in a print collection and online and includes the first actual use of the term "cyberspace"); T.J. Ryans "The Adolescence of P-1," which Coffee described as self-awareness and self-preservation in a system; Robert Heinleins "The Moon Is a Harsh Mistress"; and Neal Stephensons "Cryptonomicon" and "Snow Crash."
Another eWEEK friend, Steven J. Vaughan-Nichols, agreed on the recommendation for Stephensons novels. Vaughan-Nichols also insisted that the list should include Douglas R. Hofstadters "Godel, Escher, Bach" because, he wrote, "It makes you reflect on how to think about thinking, and whether there are formal rules to words and thoughts anyway. Great book. I should re-read it soon."
Regular Devsource.com contributor John Mueller recommended "A Whack on the Side of the Head," by Roger von Oech. "Its a favorite of mine because it points out the advantages of being weird ... er, thinking outside the box," Mueller said.
Lynn Greiner, whose articles frequently appear on Devsource.com, had several reading suggestions:
- Keith Laumers Retief series (they teach you how to spout impressive-sounding phrases with zero semantic content—plus, theyre fun);
- L. Sprague DeCamps "The Incomplete Enchanter," which deals with symbolic logic as magic;
- "Dont Forget Your Spacesuit, Dear," an anthology edited by Jody Lynn Nye;
- "Virtual Leadership," by Jaclyn Kostner, which offers advice for working on virtual teams; and
- "Making Time Work for You," by Harold Taylor. Greiner wrote: "Ive never yet met a developer who wasnt time-challenged. The big take-away I got from [Taylor] is that it isnt time management so much as its managing ourselves with respect to time."
A few of these books are new to me, but theyre certainly going on my reading list.
Esther Schindler is the former editor of Devsource.com, a position she held for three years.