Software development has many similarities to construction. Each uses technology, tools, and workers to get things done. It is possible to draw a parallel in almost every aspect. Architecture exists in both cases, plumbers, and foundation specialists can be viewed as API and backend engineers, and the list goes on.
This analogy puts freelancing sites into an unflattering spot near home-builder stores with people sitting on a sidewalk waiting for their next project.
Engineers
One major difference between construction and software development is the people. Unlike a generous supply of potentially skillful construction workers, there is only a tiny percentage of the entire world’s population capable of writing quality code. It’s an intellectually challenging discipline that requires years of education and training. Engineering managers know and statistics agree that over half of IT projects fail, even with highly educated, highly paid and highly skilled developers, making it on par with many scientific disciplines where the result is often unpredictable and unknown.
Agile methodology aimed at providing an insight into the process for non-technical people and improving the delivery rates is often abused by project managers, who use it to inflate their contribution into the project, or shift the blame to the developers if it fails or doesn’t complete on time. There are also cases where the agile methodology can actually hurt, as in the case of research projects, bug fixes, or any type of development, where the best method is subject to trial and error.
Offshore development
Freelancing sites advertise engineers all over the world, and the prices reflect the standard of living in their countries. However, good engineers always have options, and it’s very hard to find engineers anywhere who can create a successful product, let alone guaratee a timely delivery. Managing offshore engineers becomes an additional complexity because of a mix of coordination, cultural and time zone issues.
Supply and demand
Outside of the cost factor, there is a larger supply of good engineers offshore than available in the US for hire. The engineers in the US are among the best in the world, but most are busy writing code at major tech companies or their own startups, and not looking to trade their multi-hundred-thousand dollar salaries or opportunities to take on your project.
What to expect
Freelancing sites give you the power to be your own engineering manager.
Without a technical guidance, it will be much harder to successfully complete a software project than, for example, a construction one, because of the inherent complexity, and low outside visibility into the process.
You can expect higher quality offshore developers at lower prices, but organizing and coordinating their development is a real issue.
Upwork
Good source of engineers for simple and short-lived jobs if you can provide technical guidance. You should also consider the amount of time you’ll spend in interviews in case of multiple people being involved.
Toptal
Good source of engineers for a variety of projects if money is no object. The prices will be upward of $70/hr, even for offshore development. The same overhead as always with coordination and management efforts.
Fiverr
Waste of time.