So why did I never use UpWork? Or more accurately, why did I never win a bid that I submitted of UpWork? Well let's start with an actual contract post from UpWork.
"We are looking for someone to design a website that sells the design services site where a customer goes online uploads pictures and fills out a survey for the room that they are looking to have designed. We are also looking for the ability to funnel traffic from the social media sites through an Amazon store front for the sales of furniture and other home decor"
Fixed Price: $1,000
Location: Only Freelancers from the US may Apply
Skill Level: Intermediate (looking for a mix of experience and value)
This is a fairly typical example of a project description that customers post on UpWork. At first glance it might seem like a legitimate requirement, but the moment we delve deeper it falls apart.
Let's start with the very first line of the request "we are looking for someone to design a website....". The first question that comes to mind is this - who is this "someone"?. Is this someone a designer? Is this someone a developer? Is this someone a unicorn designer-developer that can magically make a site appear? This statement also misses out on any UX requirements. Will they be happy with a basic bootstrap theme? Does the site need a complete custom look and feel? Do they already have low or high fidelity mockups?
Let's look a bit further,
"....that sells the design services site where the customer goes online uploads pictures and fill out a survey for the room that they are looking to have designed."
From this I can gather that site is for a design services company of sorts. The site will involve a customer uploading a picture of the room that they would like designed, and will require the customer to fill a survey form, which will ask the customer some details on the room that they would like designed. These are all reasonable assumptions, but given the vagueness of the language I might be completely wrong. More importantly though, if I am right, there are several open questions that need to be clarified:
Image Upload Related Questions:
Survey Form Related Questions:
Now comes the vaguest and final part of an already very poorly defined request:
"We are also looking for the ability to funnel traffic from the social media sites through an Amazon storefront for the sales of furniture and other home decor."
What does this even mean? It seems like a completely different set of unrelated requirements added as an afterthought.
Now let's look at some of the metadata associated with the request - this is where things get even more interesting. The fixed price bid on this project is $1,000 and it has to be from an on-shore US-based, intermediate skill freelancer. This seems incredibly unrealistic. To objectively determine how unrealistic the ask is, I priced this myself. I consider myself to be an "intermediate" level Solution Architect based out of Australia, which has similar price points to the US.
Below are some of the key assumptions that I made with the objective of keeping the cost to a minimum:
Based on these assumptions here is a breakdown of the time it would take me or someone like me to complete the work:
All in all, this looks like a full work week + weekend worth of work given the assumptions made above. At my general hourly freelance rate of approximately 50 USD per hour, this works out to about a $2,800 project at a bare minimum. For someone based out of let's say India with a similar skill set to mine the price might be $1,000, but barely.
The level of detail that developers can get out of the customer prior to providing a bid is usually similar to what have seen in this example. The customer is often not willing to elaborate further until the bid is accepted, either because someone will steal their grand idea or they want to force the developer to a fixed cost bid.
By the time the bid is accepted, it's already too late - the magnitude of the problem becomes clear, and the developer cannot back out of the bid. As a result, they cut corners everywhere in development. In this example, you can see the assumptions that have to be made in order to deliver this project. In the end, the customer will most likely not be happy with the result even if they agreed to a higher price point of nearly $2,800.
The only developers that will bid on something like this are either developers that are extremely inexperienced and naive or those that serve as proxies for developers in lower-cost countries. Even if the work is taken on by a US-based "proxy" developer - i.e. a developer that takes on the work and then simply farms it out to his/her trusted developer partners in a lower-cost country, the assumptions made will severely limit the quality and functionality of what can be delivered. Additionally, intermediate level developers in a lower-cost country are not super cheap. They can charge anywhere from between $15-$25/hour, which will most likely leave nothing in terms of profit margin for a US-based proxy. The only way for the US-based proxy to make any money on this transaction would be to farm out the work to an inexperienced developer from a low-cost country, which will then further compromise the quality and velocity of what is delivered.
This is a lose-lose value proposition from the point of view of both the developer and the customer. Now if this type of request was an anomaly on UpWork then I would still consider using the site and filtering it for nonsensical requests. However, on UpWork, this is the norm. UpWork makes its margins regardless of whether or not a request is successful from the point of view of the customer or the developer. It's a system with misaligned incentives in which the house (UpWork) always wins. It's a system that I want no part of.
I helped conceptualize Archimydes to solve for the problems I encountered with UpWork. What we have built is a system that enables customers, developers, and the platform provider to engage in a much more fair and transparent manner. A system in which the customer, developers, and the house all win!