Earlier quoted context omitted.
Well that really depends. I was outsourcing to India when it was still cheap. I probably did something wrong, but I provided definition of the project, set of unit tests and access to git repository so they can upload the result. I got completely useless trash code, incoherent excuses and wasted time. I paid the company for their "work" and never considered outsourcing again. Sometimes cheap means horrendously expens…
This might get a bad rep but I've had this experience too. It's not a blanket statement though. Outsourcing is fine but you definitely have need to do your homework. That's why you see a few of the outsourcing companies being bought over by their employers, because they're good. Out of curiosity and related to another HN topic, have you ever hired freelancers directly?
1. I got hardware electric engineer to help me with a design of PCB. Guy was worth every cent.
2. Got embedded developer on separate project. Guy pretended that he can do a lot. I tried to explain to him, that I need a USB CDC device driver in MCU which has USB PHY and I want Windows to recognize and use usbser.sys (generic COM driver) or something similar. He told me that he understand what he is doing, I sent him the dev kit and then he ghosted me and I have ended up doing it myself with TinyUSB.
So as I said, really hit and miss on Upwork. Some people are writing lofty skillset so they can get more per hour and then failing miserably.