there is a thing called structural limitations, they are very important to understand in all engineering disciplines
the human brain has structural limitations
as the complexity of information it manages goes up the chances of error go up with it
if you want a reliable system you remove excess complexity and layer it into separate sections that can be reasoned about separately
it's not that a programmer can't manage all of those things, just that in practise you simply cannot manage them all at once and the more they interpenetrate the less fun is the process of debugging