Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
In the 80s, Tracy Kidder'sThe Soul of a New Machineattempted to define the story of the development of a minicomputer: from the new science to the business and nascent culture of electronic hardware and software that was characteristic of that time. Scott Rosenberg'sDreaming in Codedraws on Kidder's model as it attempts to document the state of software, the Internet, and everything circa 2006 through the lens of Chandler, an as-yet-unfinished software application for the management of personal information.The Chandler project--driven by Mitch Kapor, the founder of Lotus Development and main designer of its 1-2-3 spreadsheet, and later co-founder of the Electronic Frontier  Foundation--isn't the primary point ofDreaming in Code, though reading about software people and their social behavior is at least as interesting as reading about that of meerkats or monkeys. Rather, Chandler is a rhetorical device with which Rosenberg takes on the big questions: How do software development teams work (or not)? Why does the reuse of software modules rarely work altogether correctly? Does open-source development by volunteers on the Internet lead to innovation or just insanely bifurcated chaos? Chandler helps his readers think more clearly about all of these issues; however, "answers" to these questions are, of course, not to be had, which is one of his points.The problem with books about technical subjects that aspire to appeal to a general audience, particularly computers and software, is that such subjects are so far outside the  realm of familiarity of most people that the prose bogs down in analogy and metaphor.  Rosenberg manages to avoid too much of that and deliver a readable account of software development and culture.--David Wall