Jobseekers Invited to “Apply Via API”
blog.programmableweb.com
blog.programmableweb.com
javascript:$('div.code.plain').last().html('<form action=#>name:<input name="name"><br />email:<input name="email"><br />about:<input name="about"><br />urls:<input name="urls"><br /><p id="status"></p><button>submit</button></form>').find('button').click(function(){var f,o={};for (var k in f=$('form').serializeArray()) {o[f[k].name] = f[k].value};o.urls = o.urls.split(',');$.ajax({url:'/jobs/apply',type:"POST",data:JSON.stringify(o),contentType:"application/json; charset=utf-8",dataType:"json",error: function(d,s){$('#status').text(d.status)}});return false;})
Or is that unsporting somehow? Downvotes suggest yes, but on the other hand it'd be pretty silly for someone to expose an API intending people not to write tools that use it.curl https://www.parse.com/jobs/apply -d '{"name":"somebody", "email": "me@hotmail.com", "about": "some blurb about me", "urls": ["url1","url2"]}' -H "Content-Type:application/json"
Enjoy
You wouldn't want to hire based on passing that, but you certainly want to NOT hire based on failing. (Depending on what you're hiring for, of course; I can't see not taking a sales guy to do sales if he couldn't do it.)
For fun, I posted my info using curl, vi and not one Google search. A web developer with 2-3yrs of experience should reasonably be expected to be able to do this challenge.
Is that just me?
I've met plenty of people who could code up a simple web UI but weren't very familiar with the underlying HTTP protocol. I guess my point is that knowledge of the protocol and web infrastructure is more valuable (sometimes) than just being a person who knows how to slap something together.
YMMV.
$ telnet www.example.com 80
Trying 192.0.43.10...
Connected to www.example.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: www.example.com
HTTP/1.0 302 Found
Location: http://www.iana.org/domains/example/
Server: BigIP
Connection: Keep-Alive
Content-Length: 0
^]
telnet> quit
Connection closed.
$
with: $ curl -i www.example.com
HTTP/1.0 302 Found
Location: http://www.iana.org/domains/example/
Server: BigIP
Connection: Keep-Alive
Content-Length: 0
$
- Real men type less and do more.Really, I just thought it was a funny little hack worth sharing with the community. I doubt anyone from Parse sees it as hugely threatening to their recruitment strategy.
So that is where I was saying the harm comes from. It's not hugely threatening, it's just annoying.
I agree that it's a problem that people can easily dupe an interview by copying a readymade result, but that doesn't imply that public problems are unilaterally a bad idea.
In fact, I'd liken this to a public announcement of a security exploit. Someone has found an insecurity within the social algorithm of public problem interviews.
Do you think that all public interviewing options are unilaterally unable to defend against people divulging public problems?
A public problem is essentially just a contest. Lots of contests are considered good figures of merit. If you win a nobel prize or a fields medal, that's a sort of public problem solving exercise. Would you hire someone who won a nobel prize over someone else, all other things being equal? I certainly would.
Maybe the real issue here is that these interview problems aren't sufficiently challenging or interesting such that the barrier to entry is keeping answer-copiers out.
Unless you're Gregori Perelman, for example, you're likely not going to be taken seriously or given much credit for solving the Poincaré conjecture.
PS. I don't think it was fair to downvote me just because I disagree with the pov. Is that why I was downvoted?
My experience is: it doesn't work, you will have to crawl through resumes, do phone interview and have people come over. You can be clever about what you ask in a resume and how you do your interviews but you will somehow need a list of skills and experience and somehow you will have to talk to the people you want to hire.
Additionally, you don't want people who just "find solutions to problems", you probably want people who build systems. That's a different skill set, which is why you will not filter out the right type with a teaser.
You will also unreliably assess their skills because you cannot tell how much time it took or if they actually did it.
Have people come over. Evaluate their technical and human skill. Nothing fancy, just straightforward stuff.
If in one day of interview you think they're people you'd like to work with, hire them. If you have any doubt, don't.
Let go the idea of the exam. You're a company not an university.
> </reddit_starstruck>
I think that gets us both (deservedly) downvoted around these parts. ;)
It's fantastic publicity.
The worst developers in my opinion are those that appear highly proficient and effective until they're asked to actually produce something, then never produce anything of value whatsoever. They're infinitely worse than those who are clearly ineffective from the beginning. They're talented but immature; unwilling to do anything they don't see as a game; unable to see everyday tasks as games.
PUT http://parse.com/jobs/chrisacky
:-)
$curl -I moneydesktop.com/hi
HTTP/1.1 301 Moved Permanently
Server: nginx/1.0.11
Date: Fri, 03 Feb 2012 00:19:34 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: http://moneydesktop.com
X-Career-API: http://careerapi.moneydesktop.com/docsThey've got flair.
1) They're using nginx (which is powered by Ponies!) 2) The site is fronted by varnish with a ttl of 1 hour, of which there appear to be at least 4 varnish servers. 3) Links to the various CSS files. Do browsers actually use these headers instead of the <link>s in the html? 4) Drupal is somewhere in the mix. 5) Mention one of the company core values, of which there are at least 8. 6) Anyone geeky enough to be reading this should apply for a job.
$ lwp-request -e -d www.zappos.com
200 OK
Cache-Control: max-age=2452
Connection: close
Connection: Transfer-Encoding
Date: Thu, 02 Feb 2012 23:53:38 GMT
Server: nginx/1.1.14
Content-Type: text/html; charset=utf-8
Client-Date: Thu, 02 Feb 2012 23:53:39 GMT
Client-Peer: 203.206.129.48:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked
Link: </favicon.ico>; rel="shortcut icon"; type="image/ico"
Link: </styles/main.p.20120201135153.css>; media="screen"; rel="stylesheet"; type="text/css"
Link: </css/print.20120115152845.css>; media="print"; rel="stylesheet"; type="text/css"
Link: </styles/home.p.20120201135153.css>; media="screen"; rel="stylesheet"; type="text/css"
Link: </>; rel="canonical"
Title: Shoes, Clothing, and More | Zappos.com
X-Cache-Hits: 117
X-Core-Value: 8. Do More With Less
X-Meta-Description: Free shipping BOTH ways on shoes, clothing, and more! 365-day return policy, over 1000 brands, 24/7 friendly customer service. 1-800-927-7671
X-Meta-Keywords: index, zappos, zeta, clothing, shoes
X-Powered-By: Ponies!
X-Recruiting: If you're reading this, maybe you should be working at Zappos instead. Check out jobs.zappos.com
X-UUID: 970dff52-4df6-11e1-a3ab-001a645b7cf4
X-Varnish: 1001890813 1001890584
X-Varnish-Host: varnish04.zappos.net
X-Varnish-ID: drupal
X-Varnish-TTL: 60mI'm glad you asked that because I had a momentary panic attack over whether I've been doing this correctly...
[0] http://www.w3.org/TR/html4/present/styles.html#h-14.6
That's 1.3K of overhead per request. I call that doing Less with More. Recruiting in HTTP headers may seem like a clever gimmick to some, but I doubt it could possibly warrant the aggregate degradation of performance. If that's what they call doing "More with Less", my reaction is hardly an urge to work with them.
(I still think he's wrong, however.)
$ lwp-request -e -d www.zappos.com |wc
29 128 1299
Where do you get 1275? In any case, you can't consider all of this waste. Some of it is necessary (the connection headers, content-type, some of it is a performance improvement for a subset of clients (the link headers, etc.) and a small percent is waste (X-Recruiting etc.)I agree of course that you can't consider all of it a waste. My point was just that their HTTP overhead is exceptionally large, and their superfluous headers adversely affect all of their users despite the fact that almost none of their users will ever read them.
The fact that their X-Core-Value in ajtaylor's example was "8. Do More With Less" makes them seem clueless about the real impact of HTTP overhead.
It's worth doing yourself because they give different messages with each request in fields like X-Core-Value but here's an example for the lazy:
HTTP/1.1 200 OK
Server: nginx/1.1.14
Content-Type: text/html; charset=utf-8
X-Powered-By: Ponies!
X-Varnish-TTL: 60m
X-Varnish: 1001887650 1001881441
X-Cache-Hits: 2832
X-Varnish-Host: varnish04.zappos.net
X-Varnish-ID: drupal
X-Core-Value: 4. Be Adventurous, Creative, and Open-Minded
X-Recruiting: If you're reading this, maybe you should be working at Zappos instead. Check out jobs.zappos.com
X-UUID: c687de54-4df3-11e1-b455-00215e22da70
Cache-Control: max-age=583
Date: Fri, 03 Feb 2012 00:05:21 GMT
Connection: keep-aliveBack when I was using usenet I'd insert some X-headers of my own.
- Surely a better challenge would be to publish a brief but involved spec, then say "implement this API that returns your job application details." Then they can retrieve the job application from the applicants. Ideally, applicants also publish the source code somewhere, so they can see how you code.
- Oh wait, this is #1 on HN and getting tons of views. It has already worked out perfectly for them, and I should stop criticising. :)
I would personally interpret this as intolerably arrogant and lazy. "Dance, code monkey, dance!"
They require me to spend a few hours coding instead of them looking at my resume and projects for a few minutes.
CAPTCHAs on an API. Never thought I'd see the day...
You could argue that this is essentially accomplished through API keys/secrets and rate limiting.
http://editd.com/jobs/senior-engineer/
(for example)
I checked out the EDITD test and it's a little more involved than Parse's.
But we didn't need it - it turns out the kind of people that are intrigued enough to apply, and have enough ability to install a few libraries are likely great people.
edit: Your "Join the Team" page has an opening titled "Internships: Fashion Design, Journalism, Software & Statistics" but then in the description it's unfortunately only for "Fashion Design, Graphic Design, Statistics or Journalism".
I spent a couple of hours on this late one evening a few months ago, delightedly fired off my details, and - never heard anything back.
I'm still pleased that I actually jumped through all the hoops, but the utter silence from the other end? Not sporting at all.
I need to come up with some more of these; FizzBuzz equivalents in various knowledge areas.
To me, though, it's self-defeating to simultaneously accept resumes via email -- it shows there's nothing actually at stake. Don't they want only the smartest, most persistent candidates? It doesn't seem so to me.
"Don't call us..."
It shows creativity and maybe they will attract less applicants, but for sure applicants who are a fit to their company, their culture and someone with the right set of skills.