I'm not sure that the issue is with Upwork itself. I have been a long-time Odesk user, almost since day 1, and have sourced many, many freelancers from there. Currently, I'm pretty much done with Upwork (and related platforms). I have developed over the years a solid, quick, and effective method to screen candidates involving Skype interviews and coding tests.<p>The level of fraud is now such that it is no longer cost effective or interesting to use random freelancers. The majority of clients for freelancers on Upwork are non-technical, and it is almost impossible to convince freelancers that you are, in fact, a highly technical client. The typical project progression is that a few days we see useful work, after which there is a steady decline in quality and usefulness of code. Frequently, freelancers ignore technical or functional requirements.<p>Overall, it is mostly a process that appears designed to maximise billable hours whilst looking busy and producing code that doesn't actually achieve anything. This nicely circumvents dispute processes, since they can claim they did, in fact, produce working code. The fact that it took too long isn't anybodies problem except yours. General quality of code produced is typically atrocious. Rating is a meaningless metric, since the majority of clients are non technical and will base their rating on things like presence, pleasant to converse with, and final result (something that mostly does what they asked for) and typically doesn't take into account quality or if in fact this was produced at a reasonable pace.<p>There are so many ways to scam clients, and there are no effective ways to stop these scams. When lucky, you sometimes come across good developers that do a good job and don't mess around. I hold on to those for as long as I can, but eventually everybody moves on at some point.<p>I'm done with this model. It has become too expensive, too risky, and highly unpleasant overall.