Re: He didn't really say it was Agile's fault
you will probably never understand the whole system
No one — not one single person in the entire world — understands "the whole system" for a non-trivial software application. Marlinspike is strawmanning to an absurd extent.
And software development has depended on levels of abstraction since we invented assemblers.
The supposed problem that Moxie supposedly identified is simply that most developers don't want to learn and don't want to think. That has nothing to do with Agile, frameworks, abstraction, or any of the other bugbears he and others are trotting out. It's straight-up bullshit.
There is nothing that prevents someone developing, say, a web-front-ended business application from having a passing understanding of not only whatever Javascript flavor-of-the-month framework is being used, but HTTP, TCP/IP, the host OS(es), transactionality, database normal form, race conditions among cooperating simultaneous processes, locking models, the CAP and FPL theorems, business requirements, the latencies associated with various types of resources, CPU versus I/O versus interaction-bound tasks, and so on. That's just a matter of paying some goddamned attention and doing a little intellectual work.
But it is impossible to have deep knowledge of every layer, even if you read at superhuman speeds and retain everything you learn; there are too many levels, too many varieties at each level, and all of it changes too quickly.
So the problem is not the one Marlinspike claims, and neither is the solution.