HACKER Q&A
📣 nadis

What's the best book you've read regarding software development?


Today's thread on the Debugging book made me realize there are likely great books related to software development that I've never even heard of, never mind read. I'd like to find (and eventually read) them.


  👤 Jtsummers Accepted Answer ✓
Kind of hard to search for because the titles are all over the place, but here are some of the past book discussions I've found that had a lot of comments and good suggestions and discussion.

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

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

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

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

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


👤 jjice
My personal favorites:

- Patterns of Enterprise Application Architecture (Martin Fowler) - early-mid 2000s and it stays valuable to this day. It's nice to have a formalized view of concepts you know in practice.

- Clean Architecture (Robert Martin) - Great application architecture concepts being formalized

- Designing Data Intensive Applications (Martin Kleppmann) - Fantastic perspective on your application's data. This is probably the most recommended book I've seen on Hacker News.

- SQL Performance Explained (Markus Winand) - Just a killer, concise book to make you truly understand basic DB performance, specifically with indexes. I've met so many developers (myself included before this book) who thought any index will work and then they'd just wing it. Your RDBMS has tools for finding the best optimizations in your queries and you should use them. Your indexes are also more picky than you may think, but they're also incredibly fast if you place them correctly. It's a lot easier to see once you understand.


👤 schappim
When I was at university Getting Real was a big influence[1].

[1] https://books.37signals.com/8/getting-real


👤 onename
Code Complete by Steve McConnell is a really great book.

👤 Fyid
Game programmer here. The book Game Programming Patterns by Robert Nystrom is a great book that expands upon some of those in Design Patterns, and even teaches about additional ones that are very core to game development. It's a great read; I own physical copies of both books I find them so valuable.

👤 skydhash
The C programming language (ansi edition) - I had it before even leaning how to program properly. The explanations was so clear you could work out the examples with pencil and papers

Mystical man-month and the pragmatic programmer. The former gave insight about managing a team, the other about managing yourself.

Currently I’m reading:

Unit Testing: Principles, Practices, and Patterns by Vladimir Khorikok

Designing Data Intensive Application by Martin Kleppman

And very recently completed Learning Domain-Driven Design by Vlad Khononov

I think the three are quite good too


👤 caviv
Design Patterns by Erich Gamma (https://en.wikipedia.org/wiki/Design_Patterns)


👤 slipwalker
Programming Perl, by Larry Wall.

just the preaching of "the three great virtues of a programmer" makes it the most influential book in my entire ( 25+ years and counting ) carrer.


👤 purple-leafy
C Programming: A Modern Approach (K N King) that I recently finished, has been great.

Prior to that, JavaScript the Definitive Guide.

Also cracked into Crafting Interpreters (was great) but got sidetracked.


👤 markhan-nping
《improving the design of existing code》

👤 ebcode
highly recommend “Coders at Work”

👤 revskill
Design pattern in java.

👤 gunian
the bible it saved my soul so incan sit today and write Rist

👤 koolhead17
mythical man month