There are many great software companies in China, besides the offers are competitive.
I used to code in Matlab and hate to code in C or C++ until I got my first job in HUAWEI as an image software engineer. There are two reasons, firstly, there are many many very good open projects are written in C or C++, secondly, you cannot expect the installation of Matlab in any consumption level product.
The best way to learn how to program is to code one line by another. But the progress may be so boring for all of us to continue.
I think leetcode is a pretty good start, as you can code from easy to hard gradually. I taught myself coding using a similar website only accessible in conpany. From time to time, I use leecode to practice.
I am working in an internet company in China. I usually pick up similar questions in leetcode as interviewer. It will tell me the interviewee is a coder or not.
For those who want to improve your programming skill, I hope LeetCode finds you, and finds you well.