Abstraction will be the answer. We will need very, very high level domain specific "programming languages".
Problem is: I feel like we are abstracting software slower than computers are getting faster. Is Javascript really that much more abstract than machine code (assembly)? I think not. In the long run, what we do now are baby steps.
We are still telling computers exactly what to do. Every step needs to be spelled out. And we're doing it by text files...