Some thoughtful insights in this article. There is one important issue that is left out, however, IMO: learning discipline and sound programming principles.
Also, learning a language for the purpose of future employment might not be wise: there is a-lot of evidence that the days of programming are numbered, and that in the not too distant future more and more programming will be done by AI systems, turning the programming profession into a niche with an uncertain lifetime. Professional programmers should always be learning new languages, but someone just starting out really should not be thinking of it as a career.
There is so much terrible code around today — indeed the Internet Of Things might well be infeasible because of the terrible state of coding — and it is very likely that much of that state of affairs is due to people “coding” instead of “designing”, and learning languages but not learning software engineering basics — and I say this as an Agile advocate, because sound Agile processes include progressive design. To me, coding without knowledge of design basics is “hacking”, in the sense of continuing to “hack” at something (as with a blade or axe), without much precision, thought, or skill — and with predictable results.