Programming, Coding, Computer Science, Learning.
you follow our suggestions, you should ultimately reach the same level of understanding of computer architecture as a graduate from a top undergraduate CS program. This should equip you not only be more effective as a high level software engineer, but also to venture into lower level software