Hacker News new | past | comments | ask | show | jobs | submit login

Would you mind elaborating on how you went about learning the fundamentals? I think id benefit from the same.



Check out the online course Nand2Tetris. I took it my senior year of college as a business major (but had a SWE internship/full-time offer). It was an interesting course and definitely filled the gaps in my knowledge OP describes, but didn’t really make a difference for me as a SWE.


“ Code: The Hidden Language of Computer Hardware and Software” by Charles Petzold and “The Elements of Computing Systems” by Noam Nisan and Shimon Shocken are both a great introduction.


+1 for Code, fantastic book especially for self taught developers


I have both books but yet to finish

The latter book you recommend is Nand2Tetris I believe


I've read both books and done the Nand2Tetris course.

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.


I agree somewhat with your assessment of “Code”. I read it first and then “Elements of Computing Systems” and I found reading them in that order was great because the latter puts into practice what the former simply describes.


While you should definitely check the links from other commenters, and targeted resources like that are great, what has worked wonders for me is to just apply a general curiosity. Any time you get a chance to dive into a fundamental topic, do so. Start at wikipedia pages, and before you know it you'll have your bases covered.


Try Computer Systems: A Programmer's Perspective. - https://csapp.cs.cmu.edu/




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: