To assess the competency of applicants for this specific skill, we created a short requirements document (a grid and calendar with custom oddities supported by the API). Our most experienced Telerik developer coded the requirement in 45 minutes. We advertised the position world-wide, stating we required ONLY this single skill. We attracted 52 applicants on Upwork. After the initial interview (which involved reference checks, verification of work history and a short interview questioning Telerik code examples), the pool of applicants was short-listed to 29 due to misrepresentation. Note we did not short list any of the applications based upon their hourly rate.
One by one, we provided the 29 remaining applicants with a clean remote development workstation with VS 2012, Telerik, Resharper and SQL installed and configured. We provided explicit written instructions and verbally reviewed the requirements with each applicant. The timer was started, the recorder was turned on and we watched each applicant perform the assigned task. Of the 29 people, 9 dropped out of the running after 30 minutes, they could not even create a Telerik based project. Of the 20 remaining applicants, after creating an empty project, 18 of them went directly to the Telerik website and copy/pasted example code. But try as they might, they could not progress past their copy/paste “achievement”. They never actually wrote a single line of code themselves. Only 2 of the applicants directly coded the requirement from their brain (retained knowledge). And only 1 applicant completed 90% of the requirements in the 2 hour time allotment.
In summary, the 52 applicants were short-listed to 29 (45% cut rate). Of the remaining, 93% produced nothing in 2 hours and only 2 of the applicants had a semblance of retained knowledge for ONE SINGLE SKILL.. Yet if their rate was $5 or $10 more per hour, most employers would have not have considered them for the short-list, even though they were the people that could actually deliver. Basing a hire upon an hourly rate is idiotic to the extreme yet common place in the software development industry.
Also reconsider hiring freelancers rather than a North American development firm. Freelancers use their computer for personal email (malware), they also surf porn sites (viruses), they rarely have antivirus installed, they use a community or personal use edition of software development tools which prohibits commercial use (they illegally develop software for your company since they cannot afford a commercial legal license), they do not legally assign IP they develop via a master services agreement, their computer is used by their children (viruses), they may possibly state a guarantee which is nearly impossible to enforce or get judgement upon (the court in India is backlogged 10 years), they most likely do not have a separate commercial firewall, yet you provide them with access to your intellectual property (source code) and customer data? Doing so exposes you to risks which you are liable for. Have you ever deeply examined the computer a freelancer is using? Have you browsed their Internet history? Have you confirmed their development environment is secure or the tools they use are legal for commercial development? Have you done a criminal check? Have you even attempted to ensure they are who they say they are? Probably not. Utilizing a trusted commercial development firm located in North America eliminates these risks.
Most organizations do not utilize such an intensive and elaborate vetting process to assess individual skills for each applicant as the company itself does not have the knowledge to assess a candidate beyond employment verification and reference checks. Compounding this, organizations demand a skill set scope that is far too wide, involving vastly different technologies which are different careers in their own right. And most companies that hire freelancers do not consider the freelancer risks I identified above (for which a company can be held liable for or at the very least, you lose your job for). This is where we are today.
Do EVERYTHING possible to assess candidate skills. Assess EACH skill. Determine where they fit best (UI layer, Logic layer or Data layer). And force them to focus their knowledge, education and training to where they best fit. Otherwise, your hire will cost you dearly and your timeline will be screwed. And if you hire a freelancer, examine the system they will be using to develop code and access your customer data. And always do a criminal check. Otherwise, you are liable.
Campbell Custom Software is a commercial development house. Each developer is insanely vetted for EACH skill they claim to know. After passing this muster, we perform a criminal check to ensure our hires can be trusted. We then identify their strengths and utilize their strengths as part of a development team. Our developers work at our site, using our locked down, secure environment. Personal use is a firing offence(albeit we provide them with access to a separate DMZ for personal use devices.) These processes and policies are CRITICAL for us to deliver our promise of providing higher quality software faster for less in a secure and safe environment that protects you.