Our civilization runs on software. Yet the art of creating it continues to be a dark mystery, even to the experts, and the greater our ambitions, the more spectacularly we seem to fail.
Big software projects regularly crash and burn--just ask the FBI and the IRS, the Pentagon and the FAA, or any decent-size corporation. The software that runs our personal computers is just as trouble prone: The latest version of Microsoft Windows took years longer than planned, and it will still have mountains of bugs. Never in history have we depended so completely on a product that so few know how to make well.
Why is it so hard to bend computers to our will? Is creating a great program more like building a bridge or making a movie? Why do software projects display an almost metaphysical capacity for making time come to a stop? And will there ever be a bug-free program?
To answer such questions, Scott Rosenberg spent three years following a group of men and women--led by Lotus 1-2-3 creator Mitch Kapor--who are developing a novel personal information manager named Chandler (as in Raymond) meant to challenge market-leader Microsoft Outlook with elegant innovations. Their goal: to build something truly different--an application versatile enough to allow you to take emails, appointments, and notes and effortlessly transform one into another, organizing and displaying them as you please.
The team included legendary programmer Andy Hertzfeld, author of much of the original Macintosh operating system, and Lou Montulli, the Netscape cofounder who invented the Web browser "cookie." Chandler's first manager, Michael Toy, dreamed of speedy releases but found himself stuck in quicksand; its second, Katie Parlante, resolutely held together a crew of gifted but stubborn programmers--including John Anderson, a philosophical coder who frequently found himself chasing elusive bugs down "ratholes," and Andi Vajda, a database expert who once hacked open his high school's minicomputer and found his future inside.
Their story takes us through a maze of dead ends and exhilarating breakthroughs as they and their colleagues wrestle not only with the abstraction of code but with the unpredictability of human behavior, especially their own. Along the way, we encounter black holes, turtles, snakes, dragons, axe-sharpening, and yak-shaving--and take a guided tour through the theories and methods, both brilliant and misguided, that litter the history of software development, from the famous "mythical man-month" to Extreme Programming.
Not just for technophiles but for anyone captivated by the drama of invention, Dreaming in Code offers a window into both the information age and the workings of the human mind.
About the Author
SCOTT ROSENBERG is an award-winning journalist and the cofounder of Salon.com, where he served as technology editor, then managing editor, and is now vice president for new projects. His writing has appeared in the New York Times, Wired, The San Francisco Examiner, and other publications.