This depends on how deep you want to go. I honestly recommend starting small.
First, Code by Petzold to make sure you understand how a computer truly works. Then I recommend:
Understanding Microprocessors (Motorola)
8086/8088 Assembly Language Programming
Dissecting DOS
Practical Filesystem Design
FreeBSD Internals
The reason there are so many books is because it’s a big topic. The reason most are old is that things were once much simpler. Modern stuff builds on old, so if you get a good understanding of older stuff, you have an idea of what is happening. From there, I strongly recommend getting a good understanding of UEFI. UEFI will handle most of your system initialization no boot requirements, allowing you to focus on higher level stuff. Prior knowledge of systems will still be a requirement so that you can understand some of the assumptions and choices that UEFI makes.
Don't be discouraged at the moment. A lot of places aren't hiring. That being said, i myself don't have a formal comp sci education either, but I haven't let that stop me from being a dev. Comp sci is the one field where regardless of your former education, you can still make it based on your own merit. Plus the way i look at it if you have an undergrad is engineering i am sure you can learn comp sci. Keep on learning and don't give up.
Solid post. I think someone who's just starting out with ML or even basic mathematically notations would find this very helpful. Especially someone knows programming, but struggles with mathematically jargon
Technologies: RoR, Python, nodejs, html5, css3, reactjs, TypeScript
Résumé/CV: Available upon request
linkedin: https://ca.linkedin.com/in/jay-engineer-66b71644
Email: jayengineer6@gmail.com
I'm a full stack web developer who's been developing web applications for years. Would love to connect with other devs and folks from HN.