Margo Redfern's first attempt at building a website was a disaster. In 2007, she started a business, FlattenMe.com, to sell personalized children's books and cards. To build the site, Redfern hired a team of freelance programmers that a friend of her husband's had recommended.
Six months and nearly $10,000 later, she ended up firing them. Redfern says they were slow, had wildly overstated their programming skills, and would often go more than a week without answering calls and e-mails. "There was zero visibility to what they were doing," she says.
Whether it's building a website, developing an iPhone application, creating a widget, or customizing a program for internal use, many businesses are turning to freelance programmers to get the job done cheaply. But as Redfern discovered, it can be tough finding good help, especially if you don't have a technical background.
The process is made easier by services such as oDesk, Guru, RentACoder, and Elance. These sites, which work like eBay or Match.com for small businesses looking to hire outsourced workers, offer directories of hundreds of thousands of programmers in Russia, India, Ukraine, Pakistan, Argentina -- and the U.S. The contractors' profiles are quite detailed; they typically include rankings and comments from former customers, work history, skill level, and hourly rates. RentACoder even displays the number of times a programmer has been involved in arbitration because of a dispute with an employer.
Redfern now swears by oDesk, which she recently used to find a couple of developers. For $3,000, the Russia-based team she hired helped her launch her site internationally in three months. She especially likes that oDesk allows her to keep a close eye on freelancers' work: The service captures an image of a contractor's computer screen six times an hour. Plus, she appreciates that the site allows her to use American currency, no matter where the developers live.
Using sites like oDesk doesn't eliminate every pitfall, however. If you are considering hiring freelance developers through one of these websites, here are some tips on how to get the job done right the first time -- whether or not you know a thing about programming.
Get specific with the specs
When posting a job, be as detailed as possible. You will get better work that's more likely to come in on time and on budget. "If you just keep things general, like, 'I basically want an Amazon, but for pet food,' you're going to be disappointed," says Xavier Helgesen, co-founder and CIO of Better World Books, a company in Mishawaka, Indiana, that sells discarded books online to help raise money for literacy programs. Helgesen used Elance to hire a team of Russian developers to construct a sophisticated inventory and logistics system that posts and tracks listings for the company's used books on eBay and Amazon. Beyond matters of clarity, the initial guidelines become critical when conflicts arise. Services such as oDesk and Elance offer mediation and arbitration services, and the outcomes depend on goals and payment schedules that were agreed to at the project's outset.
To make sure projects remain on schedule, Michele Harris, CEO of Smarti Solutions, a New York City firm that matches companies with marketing agencies, likes to divide work into stages. When a freelancer reaches an agreed-upon milestone, Harris releases a portion of the total fee. Elance, in particular, makes it easy to set up this sort of payment system.
Don't know squat about software engineering? Many of these services offer tests a freelancer can take to demonstrate his or her programming knowledge. The scores give even nongeeks some sense of a developer's skills. Freelancers on oDesk and Elance are typically more willing to take the exams, because these sites offer a wide variety of skill-assessment tests for free. Most other sites charge freelancers for each test.
Make them think
If you happen to know your ASP from your PHP, never underestimate the power of a few critical questions, says Andy Theimer, co-founder of Milwaukee-based RecipeBridge.com, a search engine for recipes. ODesk and the other online services let you interview prospective freelancers via a private messaging system. When screening candidates to build a version of his site for mobile phones, Theimer asked freelancers what smartphone operating systems they thought were best and why. "It's a basic question," he says. "But the answer can tell you a lot about a person's technical skills and programming philosophy."
Use caution with offshore workers
Some overseas developers offer work as good as or better than that of their American counterparts and at much better prices, says Helgesen. He typically pays from $10 to $15 per hour for work done by computer science grads. "We have one guy in Pakistan with a Ph.D. working for us for $4 per hour," he says. But if you aren't sure exactly what you want, and no one at your company has designed software before, you should probably stick with local developers, Helgesen warns.
Beware the bait and switch
A top-notch developer with a sparkling resumé (and, for offshore workers, flawless English) but a price too low to believe could indicate that the work will be farmed out to a less capable junior associate. Helgesen suggests that you insist on seeing credentials of the person who will actually be doing the work.
Weigh ratings carefully
Tech job sites allow employers to review the work of freelancers they have used, typically on a five-star rating system. These ratings can be helpful, but Helgesen warns that, as with eBay, they can be gamed. "Most people are reluctant to give less than a five-star rating," he says. Companies use ratings as bargaining chips to get the freelancer to lower the fee or to get extra work out of a developer who did a less than adequate job, he says. That's why Helgesen puts more stock in a freelancer's work history and in the actual comments left by employers.