I couldn’t finish Dreaming in Code. The premise is simple: The book tells the story of a massive software project that was poorly managed.
Technical decisions were made with virtually zero research or knowledge, warm bodies were procured as quickly as possible in order to staff the project up. The software aimed to be the ultimate data manager, constantly expanding in scope, and each goal being a moving target. It was given arbitrary and meaningless series of internal milestones that meant nothing to anybody, and it never succeeded in achieving anything useful.
(apparently, half a decade later, the 1.0 release happened in August of this year; I’m not overly impressed by the end result)
I’m pretty sure most software engineers run into a project like this at some point in their career.
As exciting as that all sounds, though, the book itself is written in a style that bores me. To some degree, this is a factor of being familiar with most of the subject matter; explorations of what open source is, who Linus Torvalds is, why Python is different from C++, and about what Joel Spolsky believes are … redundant for me. Especially when explained in terms a layperson can understand. But, then, I enjoyed The Art of UNIX Programming, even though I was familiar with most of the material, so I’m not sure that’s the fundamental problem.
The author’s approach is that of a journalist, and the structure and form of the text has a monotonous din that reads like a long article that should have ended a few hundred pages ago. The style may work for a few pages of text, but it gives me a headache when made book length.
I don’t think this is a good book for programmers or for technical managers. Except, perhaps, if they’re working on or managing a project like this. Of course, they would probably fail to realize the isomorphism.
So, perhaps it’s best as a cautionary tale for complete industry outsiders who want a better sense of how a big software project fails. Personally, I can’t recommend it to anyone; the story would make an interesting feature article, but the rest of the material is superfluous padding. 2/10.