Live data from Hacker News

Books I recommend to my software engineering students

web.eecs.utk.edu

21–30 of 119 posts

Re: Books I recommend to my software engineering students

#22
post #6

> [ 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…

From what I recall, it talks about 3 somewhat related things.

First is that adding people slows things down in the short term.

The second is that due to overhead, adding people won't give linear speed up in completion time.

And third, adding people won't help a project that is linear in nature. The common example is using 9 women to get a baby in 1 month.

Re: Books I recommend to my software engineering students

#23

I'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)

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 about computation and design.

Additionally a lot of the "patterns" aren't actually good, they're actually really bad. Many of the patterns introduced by this book actually increase complexity of a program while giving only an illusory sense of increased modularity and reuse-ability.

Re: Books I recommend to my software engineering students

#24

These books will tell them nothing. I legit think that there is only one way of engineering complicated software and that is Entity-Component-System ( https://en.wikipedia.org/wiki/Entity_component_system ).

As inflammatory and irrelevant as this comment is or seems to be, I'd have to agree ECS is, at least, underrated. My mind was blown when I learned about it.

Re: Books I recommend to my software engineering students

#27
Software Tools by Kernighan and Plauger was the first programming book to blow my mind, and changed the way I approach working in difficult/legacy systems. As a programmer, you don't have to accept the limitations of the system you're working with and by building simple tools can make even the worst system bearable.

And of course The Elements of Programming Style is a classic.. The lessons seem like clichés now, but there was a time when things that seem obvious now were hotly debated.

https://en.wikipedia.org/wiki/The_Elements_of_Programming_St...

Re: Books I recommend to my software engineering students

#28
I would swap out Outliers for Dark Pools, which better highlights how a revolution driven by Software Engineering in its purest form looks like, and is still ongoing to this day.

Outliers is kind of entrepreneurship junk food and 10,000 hours has already been debunked.

Re: Books I recommend to my software engineering students

#30

I'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…

History and culture is under-taught and under-appreciated. Maybe students can have a big debate in their third year about whether or not worse really is better?
Post reply on HN