I'm probably not the first (or the last) person to say Dreaming in Code is the Soul of a New Machine for my generation. The author chronicles the trials and tribulations of a fledgling start-up struggling to develop a piece of software that will change the world. Sound familiar? Yeah, that's pretty much the mission statement of every software start-up I've come across in the last decade and a half.
Unfortunately, these guys have it all messed up right out of the gate. Where most companies start out with a gung-ho entrepreneur and investors and profit expectations, this company starts out with a "socially responsible" "thought leader" philanthropist who has enough money from former successes (Lotus 1-2-3) to fund the venture himself and whose primary goals are to be open source and leverage peer to peer technology. The founder rounds up a few like-minded geniuses from his past endeavors and they start thinking about what to develop.
What happens when you get a bunch of "thinkers" in a room together? You have endless hours of thought-provoking intellectually-stimulating conversation and debates and draw lots of neat diagrams on the white board, hypothesizing solutions to the problems with software design which have have plagued the industry for decades... then you poke your head out of the conference room one day and realize a couple years have passed and you haven't written a single line of code. Been there, done that, have the worthless stock certificates framed and hanging on my office wall as a reminder of a hard-learned lesson.
The company eventually has to come to terms with developing and delivering software, meeting deadlines, making compromises, dealing with feature creep, and the whole gamut of "business as usual" debacles, and that's where things start to get interesting. But, sadly, the author's seemingly self-imposed three-year deadline for going to press came a lot sooner than the launch of the product he was chronicling. On an amusingly serendipitous note, the project in question popped into the news while I was writing this review. The article notes, "It's still very early beta, and there's a lot of polish missing from the current builds." So there's sadly no closure in the book.
Nevertheless, it's a good read. It starts strong, and the author peppers the biographical chapters with tangents on the philosophies of other big wigs in the software industry, trying to tie them all together into a sort of moral tale on how "software is hard" and we're doomed to never really master it. I don't agree with those sentiments, but he covers the topics well in an unbiased manner.