Help me create a 10 hour coding project to assess contractors for hire
March 20, 2013 2:38 PM   Subscribe

I'm trying to hire a full time coder for my business. I build, maintain, and remodel my own portfolio of websites (PHP, JS, WP, HTML, CSS, MySQL, etc). Once I have a few candidates I would like to assign them all the same small (paid) project so that I may assess their abilities. What should the test include? All candidates will be US-Based. $6000/mo budget cap.

The most important skills are PHP, JS, MySQL, Wordpress, and the ability to self-organize and self-manage. Experience/familiarity with MVC architectures is also important as I have a few projects which will require completely custom CMS's.

I used to do all of my coding myself, but at best I would be considered an arm-chair coder. I've spent well over $50k on foreign odesk contractors and have been marginally satisfied with their quality - so now that I can afford to pay more it's time to find somebody proficient for long-term remote work on the sites in my portfolio.

I would really appreciate some ideas about what the best test project might be in order to judge them comparatively. Everyone will be native-English speakers based in the US.

I'm stumped on the details now that I'm trying to hire people who know more than me. What things should be included in this test to demonstrate capability and what should I look for specifically in their processes and code when the time is up?
posted by Th!nk to Computers & Internet (5 answers total) 15 users marked this as a favorite
I do this often. That is, hire people and companies for web development work.

Here's a couple ideas.

Furnish a traditional PS mockup for a simple site. Home, About, Contact, News, Gallery. Have them build a WP theme. (or Drupal or whatever)

Point them to a 3rd party site that sells something and has a well-documented API, preferably with JSON. Have them write a shopping cart and checkout system using the API, Ajax and PHP. This is a good test for both server and client-side proficiency.

Furnish a mock-up of a semi-complicated contact form, one that would require replacing standard HTML form elements with custom, styled drop-downs and selects. Have them populate both a database and a text file. Have the results of the form also be emailed automatically. Require client-side and server-side validation as well as a check for SQL injections.

Have them create a simple greeting card application. The end-user would fill out a form with name, message etc., and then display an image with their message on it. This would require an understanding of server-side image processing as well as all the javascript necessary to make the app easy to use.
posted by nedpwolf at 3:21 PM on March 20, 2013 [1 favorite]

Have them write a simple pinterest clone; it can be done relatively quickly and should be "straightforward but not easy" for a web developer, and it will require most of the skills you listed. It will also require them to learn a little bit of an image processing library (which most programmers won't have had to do before), and the ability to quickly pick up an API is an important skill for this sort of work.

In order to evaluate the quality of the code, read it and see how well you understand it. Even though you're not a pro, one of the hallmarks of good code is that it can be understood by people other than the author; even (especially?) people other than the author who might not be as good at programming.
posted by The Notorious B.F.G. at 3:22 PM on March 20, 2013 [1 favorite]

Also, I assumed but realized you didn't state directly that you'd pay the programmer to take the test (something equivalent to a day's pay). This is essential; the market for competent programmers is such that few whom you'd want to hire will work for free to prove themselves to you.
posted by The Notorious B.F.G. at 3:32 PM on March 20, 2013 [2 favorites]

My biggest challenge is finding developers that can write idiomatic WordPress code, not just PHP and JS that works with WordPress. Things that have raised my blood pressure recently:
  • Not following the coding standards
  • Using raw SQL queries instead of prepared statements
  • Calling styles and scripts directly instead of enqueueing them
  • Assuming things like folder structure instead of using the WP API
  • Not testing with WP_DEBUG true
  • Misspellings in variable names and user prompts

posted by djb at 8:31 PM on March 20, 2013

I've been on both sides of this sort of thing. As someone who has hired contractors, I would make sure not to get too focused on only one of your wish-list technologies. For example, you mentioned WordPress and a few of the suggestions revolved heavily around WP. But to me, someone who might know their way around WordPress might freak out if they have to deal with a custom CMS project that does not have any basis in the WP Codex. On the other hand, someone who loves custom programming might hate having to deal with WP, even though they could probably handle it. So I tried to think of a way you could give an applicant freedom to solve the problem but also allow you to make sure they can crossover.

So you might create an RFP situation where you present your goal (i.e. "Build a form to process a short survey and a reporting engine to generate a few simple reports.") and let them have their freedom. But require them to submit a 1-page summary of their intended solution and the technologies they intend to use. Then ask them to execute it but toss in a simple requirement using a technology that YOU want to make sure they have but they did not propose in their proposal.

Then not only can you see how well they create and communicate their plan to you, but you can insure they aren't just WP experts and can handle the last minute curve balls that clients throw at us all the time.

Of course none of this should be in lieu of the contractor presenting to you many previous examples of his/her work.

And lastly, when you settle on the task, let me know. I might be interested. :)
posted by thorny at 9:08 PM on March 20, 2013 [1 favorite]

« Older 90s games filter: what game was this?   |   Any ideas for a thoughtful gesture to a lady who... Newer »
This thread is closed to new comments.