Dreaming in Code

dreaming_in_code_rosenberg Recently finished Scott Rosenberg’s Dreaming in Code. I think I might be in the minority as a perfect audience for this book. I learned a lot from it. But for the general audience it is probably way too technical, and for those who’ve worked on large scale programing projects before it’s probably too much of a rehashing of their very real and annoying reality. It would have been great if it was more accessible for normal folk as it would probably explain a lot for them if they were interested in understanding the peculiarities of programmers and programing in general.

The book is sort of comprised of two halves intertwined. One “half” is the history of programming, its beginnings, notable practitioners, thinkers and its possible (or impossible) futures, sprinkled with psychological forays, technical explorations, and proclamations molded into laws of programming. The other “half” is the author following a very specific large scale programming project called Chandler, and its seeming inability to ever move forward despite great amounts of time, programmers and money being thrown at it. While it’s interesting to have a real world example in the book (it’s exciting to see they’ve finally reached v1.0!), and there is much to learn from it, Rosenberg might have done better to drop this half of the book entirely.

First of all, as he himself points out repeatedly, programmers are not good at learning from history and the previous mistakes of others, but more importantly, that way even though Chandler might have taken 3+ years of work, at least reading the book wouldn’t have felt like it was taking that long.