Lack of experience at the beginning At any job, a worker must have some experience. And IT is not an inclusion. If you look at job boards, you'll see different experience requirements such as Middle+ or Senior+ in most cases. Because of that, working in IT for beginners can be difficult and unpleasant to do, and someone can even abandon entering IT due to it. That is, in order to get a job, a programmer must have experience in writing real programs, at least small and non-commercial ones. Tester - proven experience in application testing.
So we see: the requirements have increased by an order of magnitude. What follows from this: study, study, and study again! Every day, for three or four hours, at least a year. After that, you need to gain experience and create programs for free. So from the beginning of training to employment, at best, two years will pass. Do you have the opportunity and motivation to work hard (in fact, half a day) for two years after work? If there is, amazing, but here's one thing: no one guarantees that you will last more than a week at your first job! Juniors, especially trainees, are in the most vulnerable positions.
High entry threshold Any programming language does not exist just on its own, but together with tools: compilers or interpreters, which can be several, libraries and frameworks (in English framework), and typical approaches used within the subject area. So, the fact is that for these languages, any of the possible specializations (perhaps, except for android) implies a high entry threshold. In other words, you will have to study especially long. That is why we recommend specializations with a low entry time for those who retrain: first of all, front-end programming using JavaScript and related languages, then website development in PHP or Python, and the development of mobile applications for Android or iOS. But for switchers, it is better not to get involved in the development of enterprise applications on the JavaEE (renamed to JakartaEE in 2018) or the .NET platform, especially in system programming, big data, or data analysis. It will take too long to study. If you think that writing code isn't your knack - try Front-end. But if you like maths, technology, and science - Back-end programming is for you! Everyone, who is new to IT can learn something they don't know because of the enormous community and number of
talented engineers, who are ready to help and give you advice.
Lack of English
For the last decade or even more, this cannot be a big problem, but there are still a lot of people with low English levels. Because of that, communication with clients can be extremely difficult, especially when you meet life or have phone calls.
Choose a valid role for yourself Newcomers who're entering IT, are frequently unsure of what to do and what they actually CAN do. Here's the list of the most popular and demanded roles in IT.