Today's computer architecture can be intricate to the point that one might consider it convoluted. With more features than one knows even exists, limited access to the kernel, and other preventive measure to "protect" users, it has dumbed down the use of what computers were capable of (and intended to be capable of) from their inception which was to be a multi-functional and highly developed data processor.
History evolved, computers got more fancy bells and whistles, and genuine programmers who understood the full system were required in order to gain useful operation out of the devices.
That era died with more abstraction and computational sophistication - although real hackers (genuine computer buffs) who understood the ins and outs were still cutting edge. I would argue that is true of today too.
However, today's systems are so much more complex than what the programmers of the past had the boon of "growing up with". They evolved with the systems and gained expertise with the new features and subtle changes as they developed.
But in this day and age, where do you even begin to be able to understand computers with the same level of depth as the programmers that aged with these systems?
In a word - where do we start in the modern day to become a truly effective hacker where total comprehension of the computer, what it can do, and how to be intentional in everything it can do?