We will see, I still think we will need engineers who understand fundamentals, and yes we need to teach new devs these like we teach them how assembly, computer architecture works, even though we likely don't build our own compilers or hardware. But as time goes on there is less need to know about the lower levels.
This is a trap. If you don't have control over your code you dont have control over the product. Someone, somewhere in the stack needs to understand how everything works.
Would two great developers produce the same output given a spec, probably not. The spec and validation would be part of the solution. The code can be different each time.