Neither my contractors nor I would want to move to any other platform because no other platform provides that kind of honesty and confidence between Contractor and Employee.
As an employer I can totally see why you would love it, it's an effective way to pay bottom dollar for simplistic computer tasks.
From the stand point of someone looking to get into software engineer contract work it's lame. The guaranteed payment thing you are talking about is only for projects that are billed hourly. If you bid on a flat rate project there is no such guarantee. The hourly pay rate guarantee also requires you to install a spyware app on your computer to monitor your work.
Examples of work that I use it for are simple html/css stuff that just needs to get knocked out prior to integration into an app. I'll pay between $300-500 from some straight forward design to html/css conversion. I want it to be worth their while.
Also, I've use it frequently for GIS work. I'm just not proficient in it and would rather pay someone that is. I managed to find an incredible person on upwork and give him the specs for each project before I quote my customers. He sets the price for the GIS components and I routinely encourage him to charge more.
So to be clear, I don't use upwork to find a deal on the project (no doubt a ton of people do). I use it because it is a platform that can keep talented people busy and available for the next time I need to rely on them. I'd hire a full time GIS expert if I had steady work for the, but I don't so going with a subcontract makes a lot more sense.
1) "Image Viewer - Python: In search of a python developer to build an application which cleanly display and organizes many images (200+) as thumbnails on one interface. The interface will display approx 6 data fields contained in two tables."
Budget: $50 (This client has previously hired 7 other people and spent $477 in total on Upwork)
2) "Python Help: I am looking for help in my python code, searching feature and fixing. Its a assignment if you can do this quickly let me know. Coding is almost completed, you need to correct logic and searching features. Hardly 35-50 line code, small assignment."
Budget: $10 (This client has previously hired 9 people and spent $284 in total on Upwork)
3) "Parse Fields from HTML file: Parse fields from HTML document Required language: Python (Python package BeautifulSoup is allowed/preferred.) Input: Python function that accepts file name (2 HTML files) Output: Python dictionary. All listed fields should be a separate key. Addresses should also be a dictionary so that city, state, and zip are separate Fields to pull out: First Name, Last Name, City, State, ETC ETC roughly 20 fields between two different HTML document types/formats."
Budget: $60 (This client has previously hired 23 people and spent $3,791 on Upwork, they pay an average of $10.10 per hour)
So based on those I don't think it has improved at all.
That's because there are so many low-bar employers.
Many of whom are also hanging out places like HN, complaining that there are no good developers while praising anything which drives down wages.
To know why there are few good developers, look no further than the market price. It doesn't justify top effort. I could sweat blood competing on price and throughput with people who have a cost of living that is a small fraction of mine, hoping against reason that someone will spontaneously give me a raise out of the goodness of their hearts. Or... not.
Most of the people who would eat your projects for breakfast don't want to be worked like pizza delivery drivers, delivering as cheap and fast as possible and hoping for tips. So they aren't on these sites. These sites are where careers go to die.
It has its place and I do my part to make sure that the qualified people that I hire on it are well compensated with clear expectations and no need to hope for tips. Maybe I'm doing them a disservice by offering a glimpse of sunlight on a platform that otherwise stacks the cards against them. You have me wondering.
I 100% agree with you that it's mostly a crap shoot of competing with people that have a cost of living that is so utterly different that ours that it's impossible to make a living. But I do think there are some niche skills where this is not the case and people with a high cost of living can still thrive on the platform.
The majority of projects advertised seemed to be things like web scraping, homework cheating, people who wanted computer software to pick a magic lottery number, etc...
When I first had a look I got quite pessimistic about my chances of finding work and money through it but decided nonetheless to give it a fair go.
I passed a few tests that gave me an initial edge as a newcomer, and decided to follow most freelancing advice I found on the internet: don't down-value yourself with a bad hourly rate, and apply to jobs professionally. It took me a few weeks to get a first contract, and after a month or so I was working 60h per week. I also read "The Freelance Pricing Guidebook" by Glenn Stovall which is a simple pdf of a dozen of pages which really gave me a good think of how to approach being independent and potential pricing strategies.
I also try to get out of the platform once I built the relationship with the client but it is not without risk if they run out of money, you don't have that nice guarantee that the platform offers. It happened to me that a client owed me 5 digits amounts and I regretted for a while having gone directly to him (he ended up paying, he had just ran out of cash).
If you find an USA client and you are not in the USA, with the strong USD it can be really advantageous for both parties. If you are in the USA I'd still say you can do well (I think Australia is more expensive than USA).
Maybe I really got lucky, or necessity forced me to succeed since my girlfriend got sent to a rural area with no work for me. Now days my work is so much more interesting, better paid and I met some amazing people thanks to that platform.
I suspect the secret to contract work success lies in having really good networking skills and a Rolodex of contacts from having worked in a given industry and having a reputation as someone who delivers. If you don't have that then you would probably have better luck finding reasonable work by going to meetups or similar industry events to build a network of professional contacts. The only way I know of to do this online is to become a notable contributor to prominent open source projects and then use that to leverage paid work.