Hello everyone. This is Aman, I am a high school student. And, "I DON'T know how computers (and modern software) works AT ALL". I have no idea, except about the abstractions I play on. I understand the case for abstractions, they are what, (arguably or not) run the world forward. But it is really , And by really, I mean really frustrating. To the point where I don't quite enjoy programming (despite the fact that I have had exposure to "programming" for quite some time). I am fascinated by these things around me, computers run the world, and I REALLY want to understand them, just for the sake of it (I guess). I believe what made computers fun, in the old days, was the ability to really talk to it. (even Linus tells this in the "beauty of Programming chapter" in his book, which was written 20 years ago!) Even C feels like an abstraction, hey the "magic" of compilers, and libraries. Even people around me, and 99% of people I find on the internet, to discuss issues like this, too, don't know how a computer, and modern software (which runs the world) really works. And people seem to get fine by it, which is not necessarily bad, but really frustrating to me. And my question is, How do I do it? Should I try to build my own computer? Create a CPU in Verilog on an FPGA. Write an assembler, bootloaders, operating system kernels, compilers, etc.? But what about wanting to read how the modern systems work? But if I want to know how LLVM or Linux works? Or how a modern compiler is created? People have discouraged me to read source codes, and software architectures, saying it may not be worthwhile, even IF you could do it. So what could be done? Maybe, the right question isn't what to do, but why do I want to, so perhaps we can systematically deduce what to do about it. So why? I guess, if you see life as a playground, and I have come into this world, I'd be an interesting task to learn how it all works. This may be a bad idea, and I am open to others. Since nobody I have met, yet, has expressed something like this, I don't know if I am living in a rock (probably I am anyway). But learning how a computer (like your phone) works from scratch, isn't that interesting, and not knowing, down right frustrating to anyone reading this email? Or is it just me for some reason? And it goes both ways right? , even if I create a simple compiler, it'll still be a simple one. Won't it be more interesting to work on things that I might use, and others might get value from too. So this is the dilemma of an 18 year old, confused about what to do about it. (btw, If you reading this, are a hardware person, making chips or something, do you feel like a king/queen? since everyone builds on top of what you do) Regards, Aman