Well we all started somewhere, and I had too much free time in my youth, since I did not spend it socializing much, or getting along with others, had like 1 or 2 friends I spent time with, family life was difficult at the time, and all the other time was used for programming, reverse engineering, studying some sys internals and such. That I got into the scripting scene as dev was pure coincidence, but was in the end where I had the most fun till now. But in the end we all learn by doing, as programmer its almost mendatory to atleast fail once or twice at a project, completely rethinking the structure, learning from it and taking the lessons to the next problem, and when high level languages are enough for the problem and you do not need low level code, I don't really see a reason to spend the time with learning all the internal stuff, you should roughly know how the Von Neumann architecture works, but you usually don't even need to differentiate stack from heap or a vector from an array. This is more important for actual low level, or really performance concerning applications, so wasted knowledge if you don't work with such applications