Mike Lemovitz, writing for The Next Web, comments on his experience getting an iOS app built using a contractor on Elance:

In many ways, you could say that I accomplished my mission. However, the frustration that went along with the process, dealing with someone on a completely opposite schedule, and constant battling over the nitty-gritty left me feeling like I should learn how to do it myself.

I understand Mike’s frustrations here as I’ve also worked with contractors on Elance and I’ve found the process to be frustrating for all the same reasons—contractors underbid, then ask for more money, then change the terms. Who wouldn’t be frustrated by this?

But I have to disagree with Mike’s conclusion—learning to code yourself is certainly not an acceptable solution for everyone. Instead, Mike could learn understand the limiting factors of sites like Elance so he can get better results in the future.

budgetFirst, Mike should have realized the challenges working with someone in such a different time zone. ReadyMadeWeb consists entirely of remote workers, but we’ve always been with a few timezones of each other. That way, developers can collaborate with designers and project managers for at least a few hours each day. This real-time communication allow for issues to get resolved quickly, through IM or over the phone.

By contrast, working with a developer who shares no working hours with you means that discussions take place day by day, rather than minute by minute. Progress then becomes grindingly slow as a missed API key or an overlooked design detail costs an entire 24 hours, rather than a few minutes. This encourages overly-detailed emails that cover everything, making it harder to emphasize priorities and leaving both parties with email exhaustion. Solving problems through natural conversation is always a better route.

Second, if Mike had worked with more contractors on Elance, he may have discovered the line between such a service’s strengths and weaknesses. My experience has told me that Elance is good for tasks that aren’t very creative, but require a fair amount of technical expertise. Creating an iOS app—even from the most detailed specs and designs—requires a great deal of creativity. Implementation of an idea will always be more complicated than the best laid plans can anticipate. So tight budgets that allow for no revision, pivoting, or rethinking will always crumble when pixels start becoming lines of code.

Other projects—those that don’t require this sort of creative adaptation from concepts to code—can be far easier to work through with Elancers. When I started ReadyMadeWeb I used an Elance contractor to do some simple optimization tasks on our web servers. The requirements were limited to implementing a very known software platform and then testing the installation with a very narrowly defined set of tests. We never needed to revise the tasks midway through the process and the terms left no room for renegotiation. Routine implementation and testing tasks are the only tasks we ever consider as candidates for freelancing markets such as Elance.

But perhaps the real problem with Elance is that developers are trying to comply with a client’s expectations and budget, rather than educating clients as to what their expectations should be and what sort of budget is reasonable for that work. Any professional offering a service should set their own parameters for their work. That’s what we do at ReadyMadeWeb and it allows us to control our process, set proper expectations, and stick to timetables and budgets. Elance turns that professional approach on its head, so its no surprise that the result is commonly frustration.