Tell me more ×
Answers OnStartups is a question and answer site for entrepreneurs looking to start or run a new business. It's 100% free, no registration required.

So let's say you are trying to find a freelancer on the internet to do some coding/developing for a web application or a more generic type of aplication (like a c++ developer).

What would be a good test assignment to get them to do before assigning them any real work, to determine their level?

Of course, the common sense tells that the assignment should be not too big, not too small, not too usual so that they could find an implementation somewhere on the net and being easily testable, but are some good concrete examples?

My question assumes that once I receive their work I can asses it's quality by myself. (e.g. I have a lot of coding experience and can distinguish good stuff from the bad stuff)

Also, do you think that such things as correct spelling in the comments, good indentation or long descriptive identifiers versus short abbreviations are any good sign of the skill of a developer? Or can someone be a great developer even though he/she spell as a fifth grader?

share|improve this question

2 Answers

up vote 1 down vote accepted

Testing your contractors is a great idea. I find that flat-rate work is the best way to test a contractor. It reduces your risk and your time managing.

If possible, I suggest you create a job posting with the following:

  • brief summary
  • deadline (when you'll hire and how long you expect it to take)
  • full specs
  • spam test (made this up) - add something in there like "include your Google chat username in your application". If they don't include that in their cover letter than you can assume they're just spam-applying to your job and didn't really read the specs.
  • requirements - here you'd put any other req's like code formatting, comments, etc...

Be as detailed as possible in your specifications.

After you get applicants, do simple interviews over chat. It's really as simple as making sure they understand the specs fully. During the interview you'll get a good sense for how quickly the candidate communicates and the quality of their communication.

Once you work with someone a few times on flat-rate work, you can consider hiring them full/part-time on an hourly basis.

As for checking the quality of the work, for me at least, it's as simple as going in and checking the work. If you write your specs looking for specific code formatting and the client doesn't deliver, you can simply ask them to fix it.

Hope that helps!

share|improve this answer

I agree pre-testing your contractors is a smart move. It's far cheaper to find out at this stage if they can code.

I prefer to ask real-world questions relevant to the specific role I'm hiring for. I find it more useful to find out if a Django developer, for example, knows his way around the framework than if he can code the Fibonacci sequence recursively.

One option is to turn project tasks into questions and look for the specific skills you need. Need a custom authentication backend - ask how they'd go about writing one. You want to be careful you're 1) not just asking for the work for free in the interview and 2) making it too time consuming for the contractor as they'll look elsewhere.

I'm building a site that you may find useful - http://www.interviewzen.com. You can set your own programming questions and see how your contractors answer them in realtime. It should save you time finding the right developer. Drop me mail if there's anything you need.

Regarding readable comments/identifiers - the next developer will thank you for it!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.