How we're going to hire our next web developer

by Pascal Rettig posted Apr 16, 2010

So I had an idea yesterday evening for a way to winnow the field of potential candidates for our next web developer position. Unfortunately we're probably not going to be hiring for the next 6 months or so and chances are I'm going to forget about it, because that's what I generally do.

So instead, this time I figured I might as well write a blog post about the idea and hopefully the pain and suffering caused by random individuals commenting on how awful both the idea and I am will sear it into into my brain so that it'll be available for recall when I need it. So here it is:

The next time we need a web developer instead of requesting resumes by email we're going to create a simple web page with a couple of fields of information and a resume upload (I know it's horrible, the real form would look nicer):

Simple enough, right? Except when a user correctly fills in all the fields and presses submit they will be presented with:

Now, what kind of Web Development company can't even handle a simple resume web form? I don't know, but I'm guessing that most users will press back and try to resubmit their resume. They will again be presented with:

Now I'm guessing that we'll probably lose a huge chunk of potential applicants by this point. And that's ok - from my very brief hiring experience the percentage of applicants who are just using you as a resume dump and couldn't care less about your company in particular is pretty high. Anyone who's really interested in the job but stymied by a couple of simple 500 pages and doesn't feel any impulse to hack ain't what we're looking for. These are web developers after all, and the best of them have certainly hacked their way around a website bug or two.

For the remaining 5%, maybe, just maybe they will press back one more time and take a look at the HTML for the form they are submitting. If they do that, there it'll be, plain as day:

<input type='hidden' name='resume[CauseInternalServerError]' value='1'/>

If they are a web developer worth their salt, they will open up Firebug (extra points for using Curl - we'll look at the User-Agent), POST a '0' instead of a '1', resubmit the form and be greeted with:

"Well played sir or madam, we should be contacting you to set up an interview shortly"

And there you have it, a pre-selection process that values motivated, out-of-the-box problem solving and a small modicum of Web knowledge. What more could you ask?

P.S. if anyone has used or uses anything similar to this and it worked and/or blew up horribly, I'd love to hear about it. We're probably not going to do this exactly as describe because I'd feel guilty about potential pain, suffering and frustration caused but I think we will try to do something at least slightly odd.

Addendum #1:  One idea from below that I like for how to fix this would be to return a fake status (but still show same error message) that Jim wrote:

While it's true, only strong candidates will succeed I think a lot of people will assume you have no respect for quality and leave for that reason. I think you should make the error more clear. Something like "Error 550: This is not really an error, it's just a riddle."

Addendum #2:  Lot of good ideas in the comments - I think if we were to implement this I'd probably take "Bronson's" advice slim down the form (All that info is on the resume after all) and add a little bit of text as some people have suggested to give people the idea that some game is afoot here:

After all,  I think most people might miss that line of text the first time around, but after getting an error message and pressing back they might take the time to read a little more carefully, and that sentence sounds a bit odd to include on a form that is clearly not functional (and only has 1 field).