Here’s what I would do if I were in your shoes:
Step 1: choose an IT field to start with
You cannot learn everything. So you should choose a field you are going to work into, at least at the beginning, and then do the work to get there.
The field to choose will depend on your personality, how much money you want to make, your personal tastes, what the world market needs and what the local market (the country you will expatriate to) needs.
On the long term, you will aim for something else.
Some jobs you could aim for:
Java developer - definitely one of the easier ones. You will mostly be doing back-end work, in a typical big or smaller company. There are plenty of good tutorials online, and the world always needs more Java developers. Salaries can range between 2000€ and 4000€ / month depending on the company (in the Czech Republic, after 2-3 years of experience).
Python developer - probably the easiest language to learn, but you will have to learn many frameworks on the side in order to be able to get anything done. If you are good, you can get into machine learning and start making a lot of money. Expect the same range of salaries as for Java developers.
Web developer - I would not recommend this, for the very simple reason that web developers are not paid well in general. If this is really what you want to do, go at it, as web development is a highly sought skill.
Salesforce developer - This is where you’ll find a job the easiest. Salesforce programming is not taught at school, so companies are sometimes even ready to hire people that have no previous programming experience at all. It will not pay great at first, but developers with three years of experience can easily get to 3000 - 4000€ / month (Czech Republic). If you end up finding Salesforce boring, you will be able to change to another field later.
Step 2: find job offers for that field, in the country you want to move to
I will be using the website jobs.cz for this example. Look for jobs in the field you chose, let’s say Java: Nabídka práce Praha – Jobs.cz
Here is one - the salary ranges from 2400 to 3200€ depending on the profile: Java Web Developer – Wienerberger s.r.o.
Step 3: learn 70% of what is written on the offer
Note: you should do this for multiple offers, and do what they all ask for. Some offers ask for things that most other offers won’t ask.
In this case, you can see you should not just learn Java. You need to learn many other things.
Sure, you cannot do anything about the 3 years of experience part, but if you can do most of the rest, you will be fine.
Use online tutorials. Before learning anything, make sure it is actually useful.
Step 4: you don’t have a diploma, so create something that proves you have the required skills to do the job
Create a small project (this could be one of the tutorials you did) and add it online in a place where everyone can see it (like https://github.com/).
Since you do not have a diploma, you will be using this instead to market yourself during interviews.
Step 5: contact companies and explain your situation - internships would be ideal
After a few months of learning, you should be ready to start.
The problem: you do not have any experience.
To solve this, I recommend contacting companies and explaining your situation. The goal would be to acquire experience through working with them, even if they pay you much less than what you’d like.
Step 6: start your job, acquire experience, get promoted
After 4-6 months, if you can do the job properly, you should see your boss and ask for a raise.
Step 7: choose a long-term goal
The jobs I described above are good short or mid-term jobs. They are relatively easy to get into, and they will pay well after a few years, but you will quickly hit a wall in terms of salary and challenge - after some time, the job will get boring and you will be craving for more challenges.
The idea would be to work on your day job during the week, and work on learning new skills on your free time.
Here are some long-term jobs you could aim for:
Blockchain / crypto developer (what I am doing): excellent way to become a freelance / entrepreneur. Pays extremely well (currently, the average salary for blockchain developers with 2-3 years of experience is around 14-15.000€ / month), you will be able to work remotely, and on your terms. Ideal if you started with Java / web development.
Big data architect / machine learning dev: those jobs are amongst the ones that pay the most and are also amongst the most fun and challenging. Ideal if you started with Python.
Team leader / CTO: you can climb up the ranks of your company and reach the highest paying jobs. You just need to work harder than everyone else. If you work Saturdays on top of your five normal week days, or if you do 10 hour days instead of everyone else’s 8 hour days, you will get there. Those jobs pay very well, but this often comes with a lack of freedom.
Senior developer / consultant: alternatively, you can stay in the field you chose at the beginning, and work to become one of the best developers in your country. Those developers often become consultants, and are paid much more than the normal devs in the company, and on top of this, they enjoy more freedom, because technically, they are not a part of the company. Problem: whenever there is an economic crisis, consultants are fired first.
Never learn something without knowing why. You should do your own research, find what suits you best, what the market is actually looking for, and elaborate a plan for the next five years.
The IT market always is looking for talented developers, and it’s not bound to change anytime soon.
That’s all from my side. Hope that’s helpful