On upwork, it can be tricky to find decent employers that pay well and won't try to burn you, on one-off projects. Make sure you check their history and avoid ones that have no history of paying. Also, it's far better to land a contract with an hourly rate, than a flat rate one. When you check their history and reviews, check to see what they have paid people in the past, to avoid the "bargain hunters" that are looking to outsource at 3rd world rates.
If you really want to have a good source of steady income, long term, look for employers that want to send you work on an on-going basis, 6 months or longer, and pay an hourly rate. You can take a bunch of small contracts that are about 10 hrs or less per week to fill your time & pockets. If you lose one of these small contracts, it won't be such a punch in the wallet, while you look for a replacement.
Just don't grab a bunch of contracts at once, though. Sometimes they become more work than you initially anticipated, which is actually a good thing. If you wait a bit between accepting contracts, to see how their workload will be, it will keep you from biting off more than you can chew.
Make sure you fill out your profile, in full, listing all of your experience and skills, using the appropriate keywords that employers may search for. Add new skill keywords as you acquire them. Show some sort of portfolio with screenshots and other project info. Take any relevant tests on Upwork for your skillset, and make sure to take any and all tests related to
written English skills. That alone will put you far ahead of others with similar programming skills. Experienced Upwork employers that have had to deal with contractors that lack English skills are more willing to pay more, just to have someone that they can easily communicate with. Any test in which you can score in the top 20% or higher will put you at the head of the pack.
And don't forget to list and link to any relevant experience acquired here on the forum, via coding snacks and NANY, if you have any. That's points in your favor, too.
Most of all, make sure you respond to any and all direct interview invitations within 24 hours, even if you are not interested in the job they are offering. How fast you respond to accept or decline interviews can work for or against you, with those that respond quickly getting more invites. Also, actively seek out work through their listings, rather than relying solely on your profile and direct invites to find work.
Good luck! I got a 6 month trial for a job, that lead to the
best job ever, through oDesk/Upwork.