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.
Thanks for the references. I remember there was a Show HN that actually combed through these threads and made book recommendations based on how good someone is at making book recommendations. But many of those links no longer work.
Based on the discussions from the provided Hacker News threads, here is a list of ten notable books recommended by users, particularly in the context of software engineering and programming:
## Top Ten Recommended Books
- *The Pragmatic Programmer* by Andrew Hunt and David Thomas
A classic in software development, this book offers practical advice and principles for programmers.
- *Clean Code: A Handbook of Agile Software Craftsmanship* by Robert C. Martin
This book emphasizes writing clean, maintainable code and has become a staple in programming literature.
- *A Philosophy of Software Design* by John Ousterhout
This book provides insights into software design principles and the importance of simplicity in design.
- *Domain-Driven Design: Tackling Complexity in the Heart of Software* by Eric Evans
A foundational text for understanding complex software systems and how to manage them effectively.
- *Designing Data-Intensive Applications* by Martin Kleppmann
This book covers the principles of designing applications that handle large volumes of data efficiently.
- *Refactoring: Improving the Design of Existing Code* by Martin Fowler
Focuses on the process of refactoring code to improve its structure without changing its functionality.
- *Code Complete: A Practical Handbook of Software Construction* by Steve McConnell
This comprehensive guide covers best practices in software construction and coding techniques.
- *Effective Java* by Joshua Bloch
A must-read for Java developers, this book provides best practices for writing robust Java code.
- *The Mythical Man-Month: Essays on Software Engineering* by Frederick P. Brooks Jr.
A classic work discussing the complexities and challenges of managing software projects.
- *Programming Pearls* by Jon Bentley
This book presents programming problems and solutions that enhance problem-solving skills and algorithmic thinking.
These books are highly regarded within the programming community and cover a range of topics from coding practices to software design philosophies, making them valuable resources for both new and experienced developers.
This sounds like a hallucination tbh. If you look from the other lists, something like Clean Code is hardly recommended and gets criticized quite a bit. It's not something that stands to the test of time.
It's not a bad book, but it's the type of book a good list in 2025 should filter for.
I tend to agree -- it's hard to say without looking at the data more closely but the list is a little outside the scope and intent of my question. It's also possible I could've asked my "ask" more clearly!
I specifically was curious what the best books the people on HN read and was trying to get at the impact of a book on the person more so than just wanting a list of 10 frequently recommended books on programming according to Perplexity's summary of HN. Experimenting with AI is great, but in this case was looking for a more human and individualistic perspective.
Oh wow, thank you for sharing these past threads. I'd tried searching but didn't have much success before posting my ask so really appreciate you bringing these to light.
- 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.
Great reading recs, thank you. Really appreciate the context as well for each. I'm familiar with a couple of these (not all!) and am excited to dig in.
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
Thanks! Adding this to the top of my reading list. I noticed there's a newer version (Second Edition); any thoughts on if I should read that or the original version?
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.
How did you get into game programming, if you don't mind me asking? I've always thought it would be such an interesting career but have heard horror stories about what the industry is like now...
On the personal interest level? It kind of snowballed. I was 13 when I finally saved up enough allowance money to purchase copies of Minecraft for my sister and I. I can not understate how sad I was when I couldn't find any emerald items, nukes, or clay soldiers to make civilizations for in my creative inventory. This was where I learnt all of those were mods, and not in the base game. I was too young to understand how to use forge (let alone make my own mods), so I got into adventure maps and minigames using command blocks and redstone. I made friends and we worked on each other's stuff. I panned out to have a knack for the command block side of it while others could utilize building skills to make the levels pretty and well designed. It was a lot of fun. When I started taking programming classes in high school and found out the command block work translated over to me doing well with coding, it was pretty set in stone that game programming was what I wanted to go into. I went to a well-ranked college with it as an available major.
> heard horror stories about what the industry is like now...
There definitely are. You have to remember to value yourself and who you are outside of your work, or else you can be taken advantage of. If the amount of work you're doing is so much that you can't do the other things that make you "you," it's too much work.
I graduated at the same time this never-ending wave of layoffs began, so it has been stressful at many points. Some of my best friends have been a part of those lay offs. Some of us pivoted to a new career because there wasn't a chance to even get started. I made do for some time by going to indie game developer events in the city my family lived near. I built relationships, found in-person community, and landed enough contract work as a Unity programmer to pay my student loans until I could find something long-term.
I now work at a small company where we do a mix of Unity and Web development. Sometimes it's our own products/services, but until those are successful enough we do contract work regularly to build out our runway. I enjoy what I do at work a whole lot, and it's been great getting critique from senior programmers with loads more experience than me. Very thankful about where I am.
In the future, I think I'd be okay with changing over to something else in SWE for my career, so long as it was to help people. I know that I love working with others on games enough that I'd still do it in my free time, just like I did when I was "mapmaking" as a kid.
Thanks for the suggestion! Adding this to my reading list. I also love reading physical copies; I have a Kindle for when I travel, but it just doesn't hit the same especially for books that I go back to time and time again.
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
Thanks for the references. I remember there was a Show HN that actually combed through these threads and made book recommendations based on how good someone is at making book recommendations. But many of those links no longer work.
Perplexity:
Based on the discussions from the provided Hacker News threads, here is a list of ten notable books recommended by users, particularly in the context of software engineering and programming:
## Top Ten Recommended Books
- *The Pragmatic Programmer* by Andrew Hunt and David Thomas A classic in software development, this book offers practical advice and principles for programmers.
- *Clean Code: A Handbook of Agile Software Craftsmanship* by Robert C. Martin This book emphasizes writing clean, maintainable code and has become a staple in programming literature.
- *A Philosophy of Software Design* by John Ousterhout This book provides insights into software design principles and the importance of simplicity in design.
- *Domain-Driven Design: Tackling Complexity in the Heart of Software* by Eric Evans A foundational text for understanding complex software systems and how to manage them effectively.
- *Designing Data-Intensive Applications* by Martin Kleppmann This book covers the principles of designing applications that handle large volumes of data efficiently.
- *Refactoring: Improving the Design of Existing Code* by Martin Fowler Focuses on the process of refactoring code to improve its structure without changing its functionality.
- *Code Complete: A Practical Handbook of Software Construction* by Steve McConnell This comprehensive guide covers best practices in software construction and coding techniques.
- *Effective Java* by Joshua Bloch A must-read for Java developers, this book provides best practices for writing robust Java code.
- *The Mythical Man-Month: Essays on Software Engineering* by Frederick P. Brooks Jr. A classic work discussing the complexities and challenges of managing software projects.
- *Programming Pearls* by Jon Bentley This book presents programming problems and solutions that enhance problem-solving skills and algorithmic thinking.
These books are highly regarded within the programming community and cover a range of topics from coding practices to software design philosophies, making them valuable resources for both new and experienced developers.
Citations: [1] https://news.ycombinator.com/item?id=41387062 [2] https://news.ycombinator.com/item?id=35929112 [3] https://news.ycombinator.com/item?id=32130578 [4] https://news.ycombinator.com/item?id=41387062 [5] https://news.ycombinator.com/item?id=35929112 [6] https://news.ycombinator.com/item?id=32130578 [7] https://news.ycombinator.com/item?id=29498220 [8] https://news.ycombinator.com/item?id=29306651
This sounds like a hallucination tbh. If you look from the other lists, something like Clean Code is hardly recommended and gets criticized quite a bit. It's not something that stands to the test of time.
It's not a bad book, but it's the type of book a good list in 2025 should filter for.
I tend to agree -- it's hard to say without looking at the data more closely but the list is a little outside the scope and intent of my question. It's also possible I could've asked my "ask" more clearly!
I specifically was curious what the best books the people on HN read and was trying to get at the impact of a book on the person more so than just wanting a list of 10 frequently recommended books on programming according to Perplexity's summary of HN. Experimenting with AI is great, but in this case was looking for a more human and individualistic perspective.
I assume the "Perplexity" refers to the LLM that generated the list? As far as I can tell, none of the listed books are hallucinated though.
But I completey agree with your take on Martins Clean Code book.
I mean it's not actually summarizing the threads. It's glancing over and then giving itd own personal opinion.
Oh wow, thank you for sharing these past threads. I'd tried searching but didn't have much success before posting my ask so really appreciate you bringing these to light.
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.
Great reading recs, thank you. Really appreciate the context as well for each. I'm familiar with a couple of these (not all!) and am excited to dig in.
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
This is such a comprehensive list, thank you! For current reads, are there any you're especially enjoying?
When I was at university Getting Real was a big influence[1].
[1] https://books.37signals.com/8/getting-real
This is a classic, but it's been a while since I last saw this! Thanks for sharing.
Code Complete by Steve McConnell is a really great book.
Thanks! Adding this to the top of my reading list. I noticed there's a newer version (Second Edition); any thoughts on if I should read that or the original version?
Even the second edition is over twenty years old. I don't think there's any reason not to read the second edition.
Good to know, thanks tasseff!
np. The 2nd edition, have not read the 1st :-)
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.
How did you get into game programming, if you don't mind me asking? I've always thought it would be such an interesting career but have heard horror stories about what the industry is like now...
On the personal interest level? It kind of snowballed. I was 13 when I finally saved up enough allowance money to purchase copies of Minecraft for my sister and I. I can not understate how sad I was when I couldn't find any emerald items, nukes, or clay soldiers to make civilizations for in my creative inventory. This was where I learnt all of those were mods, and not in the base game. I was too young to understand how to use forge (let alone make my own mods), so I got into adventure maps and minigames using command blocks and redstone. I made friends and we worked on each other's stuff. I panned out to have a knack for the command block side of it while others could utilize building skills to make the levels pretty and well designed. It was a lot of fun. When I started taking programming classes in high school and found out the command block work translated over to me doing well with coding, it was pretty set in stone that game programming was what I wanted to go into. I went to a well-ranked college with it as an available major.
> heard horror stories about what the industry is like now...
There definitely are. You have to remember to value yourself and who you are outside of your work, or else you can be taken advantage of. If the amount of work you're doing is so much that you can't do the other things that make you "you," it's too much work.
I graduated at the same time this never-ending wave of layoffs began, so it has been stressful at many points. Some of my best friends have been a part of those lay offs. Some of us pivoted to a new career because there wasn't a chance to even get started. I made do for some time by going to indie game developer events in the city my family lived near. I built relationships, found in-person community, and landed enough contract work as a Unity programmer to pay my student loans until I could find something long-term.
I now work at a small company where we do a mix of Unity and Web development. Sometimes it's our own products/services, but until those are successful enough we do contract work regularly to build out our runway. I enjoy what I do at work a whole lot, and it's been great getting critique from senior programmers with loads more experience than me. Very thankful about where I am.
In the future, I think I'd be okay with changing over to something else in SWE for my career, so long as it was to help people. I know that I love working with others on games enough that I'd still do it in my free time, just like I did when I was "mapmaking" as a kid.
Thanks for the suggestion! Adding this to my reading list. I also love reading physical copies; I have a Kindle for when I travel, but it just doesn't hit the same especially for books that I go back to time and time again.
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.
This is such a strong rec, thank you.
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.
The Goodreads summary for Crafting Interpreters looks fascinating - I've never read anything like that!
https://www.goodreads.com/book/show/58661468-crafting-interp...
《improving the design of existing code》
This is by Martin Fowler, right?
Design pattern in java.
highly recommend “Coders at Work”
This looks really interesting! It looks like there's a founders at work too which might be a good read for different reasons.
the bible it saved my soul so incan sit today and write Rist
Honestly, reading the Bible helped me in ways I never anticipated. Books like Esther are master classes in how to interact with people.
what specifically about it if you don't mind me asking?
if i remember correctly Esther is no different than cinderella or any other rags to riches fairy tale story
if a poor person gets powerful allies they become powerful else they die not a paradigm altering POV tbh
You mean Rust?
mythical man month
How had I not heard of this? adding to my reading list, this looks really good!
Yes! Highly recommend. It has so much wisdom for such a short book.