P.S. EDIT:
The big question will soon become - how technical do you need to be to build a system, because most of those learnings, concepts and associations are surely at the domain level. Or phrased differently: to what extent will future software development shift from hands-on engineering to hands-off technical guidance? Perhaps the future developer role would be much more similar to today's TPM (Technical Program Manager)?