Jobseekers Invited to "Apply Via API"

Forget uploading resumes or filling out forms on some job board. Backend-as-a-service company Parse is inviting potential hires to apply via its Parse API. In what initially looks like an added barrier to entry, the company is hoping its cheeky and geeky move will attract the sort of developers who think in JSON.

All that's required is your name, email address, a message describing why you'd be a great fit and an array of URLs. Oh, and be sure to set the Content-Type as application/json, but I'm sure you'd have done that by habit, right?

In a highly competitive market for developers, is Parse making it harder for people to apply? For the right fit, the company might be making it easier.

About the author:Adam DuVander
-- Adam heads developer relations at Orchestrate, a database-as-a-service company. He's spent many years analyzing APIs and developer tools. Previously he worked at SendGrid, edited ProgrammableWeb and wrote for Wired and Webmonkey. Adam is also the author of mapping API cookbook Map Scripting 101.

It's a brilliant idea - and so incredibly simple to implement for any developer worth anything at all that it'll weed out unqualified entries without being a major barrier to entry. And it's fun. Nicely played!

I think Parse is pretty clear in their mind about the type of person that they want to hire. Given that, this is a great idea. Even if the programmer has not done this before but learns how to do that and ends up submitting it -- its a win-win for everyone.

@Mike: Well yes and no. If you really wanted to go RESTful then doing a POST to /jobs/applications would submit your application, you'd get a URL such as /jobs/applications/a5Ld94Dc in a Location header, and you'd PUT to /jobs/applications/a5Ld94Dc to update your application. POST is not guaranteed to be idempotent, but it doesn't mean that it _can't_ be idempotent. In this case, we're not POSTing to the resource URL (the /jobs/apply URL represents all applications, not just ours) so we can't use PUT. POST can be used for pretty much any non-GET use, but PUT must only be used on the resource URL itself.

rjp said: PUT would (pedantically) only store the latest application from anyone

This could be used to ensure that you are the only applicant for the job and, hence, be the best (only) person for the job. However, you'd have to keep re-PUTting in case anyone else had the same idea.

@Mike - I think they're right to use POST because there's only one URI shared between everyone.

PUT works "on" the URI, POST works "under" the URI. Since there's only one URI for everyone, PUT would (pedantically) only store the latest application from anyone (update of an existing resource identified by URI). POST, on the other hand, creates a new subobject for the URI and thus stores everyone's application distinctly.