Finding good developers has never been easier! Hundreds of thousands of first class developers are waiting to bid on your project. Submit your idea to our marketplace and have dozens of qualified developers bidding on your project in just a few hours. Some of the brightest minds from all over the world have come under one roof to offer their services for rates as low as $8 an hour!… NOT!
While the above commercial sounds great, the old adage is still correct – if something sounds too good to be true it most likely is. No world-class developer is going to work for $8 an hour.
Great Developers are Hard to Find
The good old days of $5 Ph.Ds. are long gone and never coming back. As a matter of fact someone once said, “What makes them good old days is a great imagination and a bad memory.”
Yes, the world is not yet completely flat and there is a significant difference in standards of living and that can greatly affect the rates offered by developers. Take a look for example at the comparison here. Today the difference between the average web developer in India and the USA is staggering. So it is conceivable that you can find some solid developers that are charging their average local market rates through market places like Elance or Freelancer (see, here for a comprehensive list of freelancing marketplaces). It is also conceivable that in order to compete better that developer will reduce his or her rates. But let’s examine the chances…
Let start with a brief virtual journey in Bangalore and look around – we’ll find companies like Google, Microsoft, and others who are prepared to pay far above local market rates to far above average developers. Other developers who are not good enough to land a job at Google can find a great job at 100s of multi-nationals and Fortune 500 companies, and if a developer is just slightly above average he can still easily receive an above average salary from 100s of outsourcing companies.
Competition for Good Developers Overseas is as Strong as It’s in the States
As a matter of fact competition for development talent in large IT hubs all over the world is so brutal that compensation packages are now approaching those paid in Silicon Valley. A friend of mine was visiting PayPal offices in Shanghai a few weeks ago. He was given a “guest” desk close to a window. A few hours after he arrived a phone on his desk rang. He picked up the phone – it was a recruiter from a large company that you know quite well, so I won’t mentioned its name. “Hi man, I see you’ve just joined PayPal. Is there a reason why you would do that? I have tons of opportunities with much better perks and compensation. Why don’t we get together for lunch…”
Oh well, you might say, that’s the IT hubs, but what about the second tier or third tier cities? First, they are second tier cities for reason, and plus, moving to another location across the country to double or triple one’s salary is not so uncommon anymore. Santosh, an IT manager in one of my companies, works in Bangalore, but his family lives in a small city 3 day journey away from Bangalore. Santosh doesn’t see the situation as anything abnormal. “Many people are doing that, and we are fine with it. In a few years I should make enough money to buy an apartment and they can move here,” he told me with a confident smile.
Large salaries and great opportunities are like a raging fire sucking the oxygen out a room, and they can pool developers from all over the country to several IT hubs. Of course, some good developers may stay in their homelands, because of family ties or hundreds of other reasons. These guys are outnumbered by those who vary from average to practically incompetent. And that is the cocktail mix we find on freelancing marketplaces.
Strong Developers on Marketplaces are Greatly Outnumbered by Mediocre Ones
The natural question to ask here is what is the ratio of good to average/below average developers on those marketplaces? I do not have the slightest idea, and I am afraid even companies behind those marketplaces can’t give us an answer.
First of all, how would you measure developers’ quality? Some of the marketplaces use different tests to establish some benchmarks, but that is a very unreliable metric. Ratings are subjective and reviews are unreliable as well. Why? Most of those ratings and reviews are given by people who cannot code, who don’t really know whether they were overcharged, and those who don’t know whether the application that was developed for them was cut and pasted from an open source. To some degree these ratings and reviews can be relied upon in terms of soft skills of the developers, their communication skills, discipline, etc., but are by no means reflective of the quality of code and productivity. And even if the owners of the marketplaces knew the true skills of their workforce they would never choose to promote those ratios.
So let’s take a different look at the quality of the workforce on freelancing marketplaces. Please join me (virtually) on one of my marathon interviews I hold in Shenzhen or Hyderabad when looking for vendors. To form an opinion about the company’s ability to deliver I usually go through 2-3 days of interviewing ~20 developers per day. Depending on the company, somewhere between 30 to 90% of the developers I meet do not pass my already not so high standards. And these are developers who have already been hired by reputable companies.
I am certain that if I interviewed a large selection of the Elance, Guru or oDesk crowd the ratios would be much worse. Therefore, my most optimistic assessment is that for every decent developer on the marketplaces, you will see 20 or more of “various degrees of below average”. But that’s not a bad news, with the number of developers across marketplaces pushing a million there are tens of thousand of great developers out there, and hundreds of thousands of good ones.
There are Many Great Developers on Marketplaces
So, when someone tells you that finding good developers on Elance is a crapshoot don’t believe them for a second – the odds are much-much better, and when I say that, I am not being the least bit sarcastic or facetious. And the real beauty lies in the fact that you don’t have to hire the bad developers.
You just have to put the efforts in to find the right ones. Yes, it’s a search for a needle in a haystack or maybe even worse. It is difficult, but the effort is well worth it. Just keep in mind what Dale Carnegie said about looking for people: “Several tons of dirt must be moved to get an ounce of gold. But you don’t go into the mine looking for dirt. You go in looking for gold.”
For the purpose of this discussion we’ll use Elance as an example of marketplace.
9 Steps to Finding Great Developers on Marketplaces
- Maintain your reputation. From the moment you sign up for a marketplace you need to maintain your reputation as a buyer. Good developers prefer to work for good clients with interesting projects, with clients who pay consistently and on time, who rehire developers, who spend a substantial amount of money on the marketplace, and so on. Nobody wants to work for someone who doesn’t pay on time, is flaky, doesn’t leave references, or gives a lot of negative references.
- Create a good project description. Describe your project in 100-200 words without getting into too much detail. Writing a well thought out 50-word description is far better than 10 pages of fluff. The initial project description should provide sufficient details for the developer to get interested and to provide you with very high level estimate. Elance offers templates that you can use to create a project description. Even if your project is unique and different at least take a look at them. Make sure to use simple vocabulary (stay at middle school level) and avoid any slang or idiomatic expressions. Write a good project title, which should be attractive enough to compete with a lot of projects like yours. It should be short and self-explanatory and at the same time somewhat alluring. A great example is, “iPhone app for a hot startup in music industry.” Also, be sure to always properly fill in all attributes of the project, including advanced attributes.
- Define selection criteria. Identify specific requirements for your candidate. For example region or the country they live in, maximum hourly rate your are prepared to pay, years of experience, volume of work they performed on the site, average ranking, number of reviews, etc. The higher the bar the fewer providers you are going to find, and the higher their rate is probably going to be. You will find that new providers who do not have any references on the marketplace tend to drop their rates significantly. Although this can be attractive, I would still suggest being extremely careful when considering a provider with very few or no references. The risk is just too high. Elance offer a small list of selection criteria (location, rate, number of reviews, etc.), but your list should go beyond that. For example you may want to include a command of the English language, knowledge of a particular technology, experience with certain industry and so on.
- Build a candidate pipeline. I recommend inviting specific candidates instead of making the project open to all bidders. In the latter case you are likely to get overwhelmed with responses from non-qualified providers. Instead find prospect developers using tools the site offers and invite them to bid for your project. You need to create a relatively large pipeline. Depending on your project you will typically find that somewhere between 25 to 75% of invited developers won’t even reply to you. And you can safely expect that only 1 out of 5 developers that bid on your project will pass further scrutiny. That roughly translates to inviting 10 people for every spot on your team. You can start with inviting fewer candidates and if your pipeline dries out invite more.
- Create a shortlist of candidates. Review the proposals submitted to you and shortlist those that fit your selection criteria the best. Consider the quality of the response and review submitted portfolio and samples. Then rank the responses for ease of navigation. I recommend aiming for 3-5 candidates on your shortlist for each role on the project.
- Follow up with your shortlisted candidates. Give them more details on the project, provide reference materials, etc. Give them time to digest the information and ask for an adjusted estimate. Your short list is likely to become shorter as some providers may drop off or submit unacceptable proposals.
- Interview shortlisted candidates. Interview the remaining candidates. There are many ways and techniques related to interviewing – see some of my thoughts here. I recommend using Skype with a webcam as the telecom tool. Consider retaining someone technical who can help you interview people. If you do not know anyone who can come to the rescue, consider finding a couple technical interview questions on the web and ask your candidates. Many sites offer technical questions and answers, for example here. Even if you cannot asses the persons ability to answer correctly, you can still follow your gut. Beside technical questions you absolutely should ask questions that will help you determine whether you can work with this person.
- Negotiate and close the deal. You may at this point already have the rate or the total cost of the project agreed upon. But cost is only a single aspect of the deal; there are many other items on which you need to agree upon. For example, how often the payment is made, working hours, interim deliverables, and the list goes on and on. Put the list together before you start discussions/negotiations. After all items are agreed upon you can congratulate the candidate and use the website to officially hire the developers. Keep in mind that the selection is not over until the developer officially accepts the terms. And you never know…
- Follow up with frontrunners. I suggest that you send a brief note to shortlisted candidates who did not make it to the final line. Be polite and encouraging, but don’t promise anything and do not burn bridges.
This process works for different sets of skills and various marketplaces. You need to learn specifics of the marketplace as they have different tools that assist you in the search and also have somewhat different communities of providers. Some marketplaces have very narrow specialization, for example only giving you access to their community of graphical artists 99designs.com or writers www.freelancewriting.com.
This process doesn’t guarantee that you will find a diamond in the rough. It even doesn’t guarantee that you pick the sharpest needle in a stack. But it will help you to zero in on a few good candidates and with just a little bit of luck you may keep them for a long time by giving them new projects and partnering with them on larger engagements.
Any thoughts, recommendations, critique?
Do you have any suggestions on how this process could be improved? What is your process? What has been your experience in working with marketplaces and freelancers? Please share your thoughts with the audience by commenting below, or just email me directly firstname.lastname@example.org I really want to hear from you. Thank you!