For someone without good English verbal skills (but capable of reading/writing) being a 'worker bee' maintaining what's euphemistically called 'legacy code' might be a good point to target.
Maybe pick up a 'legacy' programming language (e.g. Cobol, Fortran) the kids coming out of school will turn their noses up at. Last time I checked (admittedly years ago) there was a desperate need for engineers who could maintain Cobol code. I don't recommend Cobol for fun (it's not) nor maintenance (it's really not).
You can learn Cobol (or other 'legacy' language) from a book or online course - and if you have a family to feed...
The same goes for Ada, but that's more of a US Dept of Defense thing - and I don't think there's much 'remote worker' market.
C is easy if you already have both a flavor of assembler and one of the Algol-based languages. (They're dead-easy to mix if you know about stack-framing.)
FWIW, I learned several assemblers, C plus C++ and Java from books and reference manuals, but it was a progressive thing over years. Also, Python, but mostly just to whip together tools for my own use. What worked for me was building stuff, going back to the book (or CPU reference) as I needed to. So, learning a programming language on your own is entirely do-able.