Yes I have hired a few times through Upwork. Mostly app development and scraping jobs.
My key advice:
Rather spend some more on someone experienced rather than lowball
Communication is underrated. Make sure their english is on point and that there is nearly zero language barrier.
Take some time while interviewing
If you do hourly, set a weekly limit of $250 and set firm dates for deliverables. Don't be scared to deny payments if you don't get deliveries. Check their status regularly.
Don't be scared to cancel a project if you have some doubts. Especially long response times or if you see that they are wasting time. Often not worth it to try to work it out.
In general, always set firm goals and dates and describe exactly what you want. Don't let anything be open ended. Be mean or 'difficult' if you have to.
I know most of these seem mean, but I lost so much money due to freelancers wasting time, scamming me, being unqualified - I gathered some experience.
That being said, done right it is an incredibly powerful tool to have freelancers and if they are good, you are getting some nice product. Usually you can also always go back to them after.
Feel free to contact me via Twitter if you want to talk or need help.