> [ The Mythical Man-Month ] Key takeaway: You'll soon fall victim to the problems identified by this book, even after reading it. Yeah, that pretty much describes all of software development in one stroke. But you should read it anyway (if only to experience the feeling of someone predicting your future before (most of) you were born).
I've always like the MMM but there is also an undercurrent of this being a re-telling of xeno's paradox, and its important to remember the rabbit actually does win. So, adding new bodies does incur cost, but the belief that always adding new bodies always adds more cost than adds impetus to the outcome is not always true. The classic example is "the hump" which was the cost in fuel terms to ship fuel to China, to be…
Books I recommend to my software engineering students
61–70 of 119 posts
Re: Books I recommend to my software engineering students
#62Blech. Nothing here that's obscure or likely to alter the path of some one's knowledge. No philosophy, no history, and the list includes Gladwell. Actually, the inclusion of Gladwell probably distinctly colors my thinking on the subject. Maybe "How to read a book" or "The Alchemist" or I don't know, something that's not just so totally typical.
Yeah, I use Gladwell as a negative control on book lists as well, along with Jared Diamond.
:)
Re: Books I recommend to my software engineering students
#63Earlier quoted context omitted.
Design Patterns by Gamma, Helm, Johnson, and Vlissides (aka GoF)
I still don't understand why people worship this book. Contrary opinion here but I think this book is actually below average. I think it's good that it introduces the overall concept of Design patterns, but the book itself isn't really about the general concept of Design patterns. The book is focused on OOP techniques and tricks. It makes the assumption that OOP is the most general way to modularize things and think…
Source: started design patterns study group, still active today.
Re: Books I recommend to my software engineering students
#64I would also recommend two more good books. They are relevant to almost every aspect of life and creation process: - Antifragile: Things That Gain from Disorder by Nassim Nicholas Taleb[1] - Skunk Works: A Personal Memoir of My Years at Lockheed by Ben R. Rich[2] [1] https://www.goodreads.com/book/show/13530973-antifragile [2] https://www.goodreads.com/book/show/101438.Skunk_Works
Can I dive straight into Antifragile without having read the author's previous books?
Re: Books I recommend to my software engineering students
#65Blech. Nothing here that's obscure or likely to alter the path of some one's knowledge. No philosophy, no history, and the list includes Gladwell. Actually, the inclusion of Gladwell probably distinctly colors my thinking on the subject. Maybe "How to read a book" or "The Alchemist" or I don't know, something that's not just so totally typical.
Re: Books I recommend to my software engineering students
#66I've advocated for a "canon" of books for software engineering and computer science that could be taught in school. The canon would accomplish several goals: it'd inform students about the less technical but profoundly important ideas within CS (Brooks' No Silver Bullet, The 10x cost incurred when moving from stage to stage in waterfall, how to treat and manage failure, etc.), it'd teach students how to think about p…
Also detailed histories of the devdlopment of large and complex software needs to be written and studied, but I just don't see it happening.
Re: Books I recommend to my software engineering students
#67Earlier quoted context omitted.
I still don't understand why people worship this book. Contrary opinion here but I think this book is actually below average. I think it's good that it introduces the overall concept of Design patterns, but the book itself isn't really about the general concept of Design patterns. The book is focused on OOP techniques and tricks. It makes the assumption that OOP is the most general way to modularize things and think…
Design Patterns gave us the vocabulary and opportunity to argue about design for a previously ignored level of abstraction. Source: started design patterns study group, still active today.
Re: Books I recommend to my software engineering students
#68I've advocated for a "canon" of books for software engineering and computer science that could be taught in school. The canon would accomplish several goals: it'd inform students about the less technical but profoundly important ideas within CS (Brooks' No Silver Bullet, The 10x cost incurred when moving from stage to stage in waterfall, how to treat and manage failure, etc.), it'd teach students how to think about p…
Design Patterns by Gamma, Helm, Johnson, and Vlissides (aka GoF)
Re: Books I recommend to my software engineering students
#69I bought my boss two copies of The Mythical Man-Month so he could read it twice as fast.
And he hired 4 people to read to him for each book. Now he could learn 8 times as fast.
Re: Books I recommend to my software engineering students
#70I don't think you can teach software engineering. Writing software is more like writing proofs than building airplanes. Take a formally verifiable language like Agda for example. Proofs are indistinguishable from programs in that language. The Curry-Howard correspondence shows this is true for program-proofs in general. Large software systems fail continuously in countless ways all the time. Google search will still…
The irony is airplanes live in a unideal universe where no theory can predict anything to a perfect degree and testing must take precedence. However when building an airplane, aerospace engineers use far more theory than software engineers even when testing and engineering best practices is an absolute requirement for the unpredictable nature of real world physics acting on an airplane.
I feel the reason why the world is the way it is is due to necessity. A buggy program is (usually) an annoyance. A buggy airplane is (always) a disaster. It is necessary to prevent disasters but it is not necessary to eliminate an annoyance.