I work as a Node/Angular developer in a South Asian country and over the past 8 months have gained domain specific skills comparable to my own team lead who came from a different background. I write tests, APIs, UI features, deploy to QA, fix issues in QA, fix the build pipeline, architectured microservices and micro-frontend pattern, etc. I am not bragging, every of my team member does this and they should be paid more too. I am sure there are developers more competent than me but I really think I should be paid a lot more than $500/mo especially reading developers salary in American and European countries.
How do I as a South Asian junior developer land a better paying job? Remote is almost impossible considering they don't let Junior developers work remote and looks like only option is to move abroad but hardly anyone sponsors VISA especially for a South Asian junior developer.
Am I stuck here forever?
And/or if you're any un/happier than a programmer in north america?
even taking into account self-delusions about whatever people like to be self-delusional about.
south asian dev wants more pay but doesn't realize that living with family can be a boon to personal happiness.
north american dev lives relatively comfortably but is work-stressed and miserable because of the ever-present existential crisis of lack of meaning in their lives, and they're estranged from most of their family.
canadia dev is least unhappy because they have health care at least.
With all of that in mind, some advice from someone who has emigrated abroad for reasons similar to yours. Firstly, the fact that you're currently employed and gaining experience is great — you're already considerably ahead of everyone else trying to break into the market. Take the opportunity and suck in every bit of knowledge you can. From my personal and very subjective experience, having junior developers on-site is valuable for exactly that reason: knowledge transfer. Remote work works when people already know how to do their job, teaching someone over the net is a whole different ballpark altogether. While you might not agree, I invite you to think back and ponder on this point a few years down the line when you've had the chance to coach people with little experience yourself.
As for the meat of your question, how do you land a better paying job, I think the most straightforward path is pretty clear: use your current employment to make yourself more valuable as a knowledge worker. See what your superiors do, ask them if they can teach you to do those things. Take courses or trainings when they're on offer. Etc. Then find better opportunities either locally or globally. Do apply to jobs even if you don't tick all or most of the boxes, getting experience in interviews and navigating the corporate world is also very valuable. As a word of warning, while there are companies that do fully global remote with remote first, those are very, very rare. In most cases, you are expected to hold a visa or a working permit or be sponsored/vetted by the company and then emigrate. Emigration is hard, but it is doable. Beware of finances, if you're emigrating into a country that's considerably more expensive you may end up saving money for a long time to get a shot or two abroad — make them count. Best of luck.
There is quote I recall from a book I read years ago that stuck with me, "The answer is always no unless you ask"