Clean Code: A Handbook of Agile Software Craftsmanship
Robert C. Martin
4.7 on Amazon
43 HN comments
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
Martin Kleppmann
4.8 on Amazon
34 HN comments
The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition: Your Journey to Mastery
David Thomas, Andrew Hunt, et al.
4.8 on Amazon
27 HN comments
A Philosophy of Software Design
John Ousterhout
4.4 on Amazon
12 HN comments
Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture
David Kushner, Wil Wheaton, et al.
4.8 on Amazon
11 HN comments
The Unicorn Project
Gene Kim
4.6 on Amazon
8 HN comments
Game Programming Patterns
Robert Nystrom
4.8 on Amazon
8 HN comments
Refactoring: Improving the Design of Existing Code (2nd Edition) (Addison-Wesley Signature Series (Fowler))
Martin Fowler
4.7 on Amazon
7 HN comments
Operating Systems: Three Easy Pieces
Remzi H Arpaci-Dusseau and Andrea C Arpaci-Dusseau
4.7 on Amazon
7 HN comments
Code: The Hidden Language of Computer Hardware and Software
Charles Petzold
4.6 on Amazon
7 HN comments
The Soul of A New Machine
Tracy Kidder
4.6 on Amazon
7 HN comments
Working in Public: The Making and Maintenance of Open Source Software
Nadia Eghbal
4.6 on Amazon
6 HN comments
The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change
Camille Fournier
4.6 on Amazon
6 HN comments
Cracking the Coding Interview: 189 Programming Questions and Solutions
Gayle Laakmann McDowell
4.7 on Amazon
6 HN comments
Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Robert Martin
4.7 on Amazon
5 HN comments
ZelphyronJune 20, 2021
alexgmcmonJune 20, 2021
I think Code by Petzold is decent in that it's a book you can read in bed etc. but it spends a long time discussing mechanical relays as an analogue and later discusses various processors in depth.
I think Nand2Tetris is slightly better in that it focuses on what I'd consider to be the most important stuff, but it's an actual course and requires significantly more effort.
Nand2Tetris is probably the best course I've ever done though, including my university studies in Physics and ML. It's fun and you learn loads.
runjakeonMar 30, 2021
https://www.amazon.com/Code-Language-Computer-Developer-Prac...
2. Learn C.
3. Learn whatever interests you next.
throwamononMay 28, 2021
https://www.amazon.com/Code-Language-Computer-Developer-Prac...
Minor49eronAug 17, 2021
I would also recommend the book "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold as a general introduction.
TwinklebreezeonApr 14, 2021
I read for escapism, or to explore other worlds in my imagination. Reading gives me something fantastical to think about. If I want something real to think about I use the internet. Books have never filled that role, and I've never really considered them for it. Am I missing out? Should I try and shake my prejudice against non-fiction?
[1]: Code: The Hidden Language of Computer Hardware and Software
cfmcdonaldonMay 28, 2021
There's a bit of crossover insofar as Code uses relays to build an understanding of how digital logic works and has a few brief historical asides. Likewise The Switch provides a few brief technical explanations to help the non-expert reader along. But in general The Switch will not tell you much about how computers work and Code will not tell you much about where they came from.