Thanks for taking the time to review the book. I agree with your overall assessment. When I wrote it, I was thinking that some people will just skim the intro, others will get a few chapters in, and even fewer will make it to the end. You have perseverance! I'm glad that the intro and first section were things you found relevant, even if the last section didn't help.
Software development is an interesting field because the people who are doing the hands-on work are the same ones who are doing the big picture thinking. In other fields, those are often separated activities, for better or worse. Most software we write is similar to what we wrote yesterday, so you can skip the big picture thinking. Once you are in unfamiliar territory, however, I think you will end up thinking about concepts that are covered in the end of the book -- the diagrams and abstractions. Most other engineering fields have some split between abstractions (electrical current, mechanical stresses, etc) and what's relevant when you are doing the work with your hands.
Since writing the book, I've stayed interested in the abstractions, but I'm trying to make them relevant to daily software development. That's what my talk at GSAS was about. You might also like Simon Brown's work, as he has done a great job of connecting design ideas with daily coding -- much less distant and less academic.
That's a good point, and it is something I thought about several times while reading the book but failed to mention in the review: the examples provided cover several types of software systems, not only enterprise web applications that are the ones I work and have experience with. Probably my narrowed scope influenced my overall perception of the book. Sounds reasonable that the accurate model representations it describes are more relevant for applications like a car driving system or a factory robot software than for the classic 3-tier web application (and I'm not implying they are irrelevant in such applications).
Thanks for your comment, I wasn't expecting feedback that close to the "core" :)
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Hi Carlos,
Thanks for taking the time to review the book. I agree with your overall assessment. When I wrote it, I was thinking that some people will just skim the intro, others will get a few chapters in, and even fewer will make it to the end. You have perseverance! I'm glad that the intro and first section were things you found relevant, even if the last section didn't help.
Software development is an interesting field because the people who are doing the hands-on work are the same ones who are doing the big picture thinking. In other fields, those are often separated activities, for better or worse. Most software we write is similar to what we wrote yesterday, so you can skip the big picture thinking. Once you are in unfamiliar territory, however, I think you will end up thinking about concepts that are covered in the end of the book -- the diagrams and abstractions. Most other engineering fields have some split between abstractions (electrical current, mechanical stresses, etc) and what's relevant when you are doing the work with your hands.
Since writing the book, I've stayed interested in the abstractions, but I'm trying to make them relevant to daily software development. That's what my talk at GSAS was about. You might also like Simon Brown's work, as he has done a great job of connecting design ideas with daily coding -- much less distant and less academic.
Cheers,
-George
To be fair, I've learned to appreciate this book more and more since I read it.
Hi George,
That's a good point, and it is something I thought about several times while reading the book but failed to mention in the review: the examples provided cover several types of software systems, not only enterprise web applications that are the ones I work and have experience with. Probably my narrowed scope influenced my overall perception of the book. Sounds reasonable that the accurate model representations it describes are more relevant for applications like a car driving system or a factory robot software than for the classic 3-tier web application (and I'm not implying they are irrelevant in such applications).
Thanks for your comment, I wasn't expecting feedback that close to the "core" :)