Isn't the problem with these marketplaces that most projects are for like $5/hour, while rates for "real professionals" are more like $100/hour and (sometimes way) up?
I am not sure if I understand your point correctly. Are you implying that clients only hire beginners on UpWork?
I am hiring there and I certainly have to pay way more than $5 per hour. My experience is that the price for software development starts at about $25/hour. That is for a student with a little bit of experience and rather low morale. Devs with actual work experience start at about $50 per hour. Again, morale will be kinda low at that price. For a really smart, motivated dev with a lot of experience, you have to pay more.
Doesn't it matter where is the developer from? There's a lot of places in the world where $50/hr is way above local market rates, but is it easy for a developer outside US or UK to make that much on Upwork?
I wound up not taking it because I had something that at the time seemed easier for me, but I negotiated a $100/hr contract on UpWork just fine looking for some part time work to hold me over on something. This was in the Data Engineering space fwiw.
Good to hear. Note, I'm a freelancer as well, so my information is only incomplete about Upwork. I know the local (Germany) agencies with the usual rates, 75-100€/h for C++ work.
There is most definitely a higher end market on upwork. I freelance part time there, at between $95 and $299 per hour. (The low rate for stuff that buffs my resume, the high one for deep expertise).
I wrote an article about getting decent rates a while back...