Live data from Hacker News

Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

news.ycombinator.com

11–20 of 72 posts

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#11
post #5

Did you get this booklist from ChatGPT?

I don't think so as he got at least one title wrong: Head First Design Principles should be Head First Design Patterns.

I got that book when it came out, and I quite enjoyed it. Their presentation of material was quite different at the time.

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#13
post #12

'A philosophy of software design' by John Ousterhout, great book which provides good understanding of what complexity in software means. Very concrete and short.

Yes, this book is excellent. And it's an antidote to some common advice that really isn't very good.

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#14
Thanks for the list, here it is again:

1. Code: The Hidden Language of Computers (Pure Basic: Starting with Binary)

2. Working Effectively with Legacy Code (Dealing with an ugly codebase)

3. Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code)

4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first)

5. Head First Design Principles (Terminology and concepts for maintainable and extendable design)

6. Algorithms to Live By (Algorithms are fundamental ideas before we write any code)

7. Git Pro (Software cannot run without a Version Control System (VCS). We use it every minute of our working day)

8. Your Code as a Crime Scene (Finding problems in the code using code history)

9. Data-Intensive Applications (Databases are everywhere)

10. Software Engineering at Google (Addressing the biggest scaling problems)

Honorable Mentions:

1. Clean Code (Writing code that is easy to understand by other developers)

2. The Soft Skills (Coding alone is not enough to be a great software engineer)

3. Peopleware (Managing software teams).

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#15
post #14

Thanks for the list, here it is again: 1. Code: The Hidden Language of Computers (Pure Basic: Starting with Binary) 2. Working Effectively with Legacy Code (Dealing with an ugly codebase) 3. Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code) 4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first) 5. Head First De…

And there is a current post on the frontpage about if you could have only 1 book:

If you could only have one programming book on bookshelf what would it be?

https://news.ycombinator.com/item?id=38229464

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#17
post #8

Hacking: The Art of Exploitation (ISBN 1-59327-007-0), Jon Erickson Really helped me bridge the gap with low-level, debugging, and C approx half a lifetime ago.

I enjoyed this one too. I remember reading about the NOP sled and it blowing my mind

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#18
post #14

Thanks for the list, here it is again: 1. Code: The Hidden Language of Computers (Pure Basic: Starting with Binary) 2. Working Effectively with Legacy Code (Dealing with an ugly codebase) 3. Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code) 4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first) 5. Head First De…

>4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first)

I've seen like bilion discussions about TDD and I still dont understand why is it so overhyped.

Additionally it sucks that for some people you either do TDD or dont write tests at all (what the f...., indeed)

This whole red-green step in TDD makes complete no sense when you're writing new code.

The only value provided by TDD when writing new code is that you're forced to think from caller/user perspective, so it makes your API design better, that's it.

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#20
_The Mythical Man-Month_ by Fred Brooks is a short, easy read and remains packed full of timeless truths. His separate essay “No Silver Bullet” is included as an appendix and clarifies which problems to attack. A combination of improvements in tools, languages, and practices over the decades since have led to dramatic improvements since that essay, but, still, the problems of understanding and communication remain.
Post reply on HN