After I wrote the article “Why you don’t need to learn Python in the first language,” I regularly get a lot of questions in a personal note, which is better to choose, how to be, and so on. Therefore, in this article I will tell you my thoughts on this. And the most important answer to the "Holy Grail" of all newcomers: "Which language to choose for learning programming."
During my relatively small career, I went from sales manager 1C, technical support specialist, QA-Manual, QA-Automation, QA-Lead, Developer. Therefore, I have a certain experience.

')
Nobody needs you
When they write on the Internet that there is a big shortage of it-specialists, there is a shortage of people who solve problems. Those. This is a middle + level specialist who has combat experience on projects (ideally highload projects), knows all the secondary tools (git / jira / testrail / IDE, etc.). He knows how to write technical documentation, how to prepare code for a review, how to work with product, testers, and so on. He knows the patterns of enterprise development, can in clean code and so on. Such people are actually few.
But those who can not do anything, but at the same time, they want something, a car and a whole truck. Looking through resumes that are sent to developer jobs, I quietly go into shock at how people do not agree with their competencies and requests.
Therefore, we’ll remember that if you haven’t previously had experience in IT, or have just graduated from university and have never worked before, you don’t have any value for the employer. On the contrary, you will harm the work and distract other specialists.
Technology doesn't matter
The second topic you like to chew on is the choice of programming language. In general, it does matter, but not in the plane that newcomers view.
For example, I want to work on python, because it is a laconic programming language, it has built-in decorators, maths and other sugar. All this does not matter, which development with 5+ years of experience can afford.
When you are still at the start, the only thing that should worry you is having work in a specific language in the place where you live, or where you plan to live. And ideally, the work of the initial level, or in companies that by their foolishness (yes, precisely by their foolishness) will decide you to hire.
In the place where I lived, there was a choice to go QA to a taxi company that developed a system to automate receiving calls in Java, or to sit and suck a paw with my desire to write code in Python. For in a radius of 2000km - there was not a single job in Python.
Someone will say about the remote. I tried. All vacancies that were. There were from bodyshop that just throw you on combat projects and see if you crap on them or not. And, frankly, already with my experience, in 99.9% of cases the beginner will not cope. Real projects with 50+ app, configs from enshibla, custom authorizations and other difficult-architectural code - is very different from what the beginner teaches.
Therefore, all you have to worry about when choosing a language is the presence of an entry-level job on this stack.
You need a line in the resume, and nothing more
The career of a programmer can be divided into until the moment when the programmer gets the first job and after.
I remember my first time when I updated my resume, and indicated that I have been working for 8 months with an enterprise-PHP developer (ZEND / SYMFONY) in a relatively good company. For 5 days I received 30-50 calls from all over the world. I felt like the same blonde girl from that famous meme with blacks. And I received suggestions not only for PHP, but also for Java / .Net / Ruby.

And why did it all happen? The proof appeared in my resume that I am better than all those people who drop bids after courses of ayti, personal training, changing specialties, and so on. And then I was able to find fault with the stack that goes, what the payment, the conditions and so on.
Therefore, at the initial level, you need to get a line in the resume that you work as a programmer. Any way, on any stack.
It is better to be a developer on the dumb Spoke to the Guys-stack than a dreamer without work
If someone writes to you that some stack is dull, but you can get a job on it with a greater likelihood than on something fashionable youth - you should consider it.
It is much easier to change the stack when you are already a developer, when you get good money and you don’t sweat about what to live for, rather than learning something cool, but “difficult to convert to a workplace” initially and for months to sit without work.
“Which language to choose for teaching programming” is the one that will allow you to get your first job as a developer. But after that you can already be perverted, somehow, at least #F with Haskell to teach.
PS: and you do not spend money on courses, books are better.