

Ask HN: Would you solve programming puzzles to apply for jobs? - cardmagic

Imagine a website like http://jobs.37signals.com/ where instead of applying by sending an email, you were given a programming quiz to transform a randomly generated data set to a result set given some parameters (testing algorithm comprehension, implementation and such up front). You upload your result set and code used to generate the result along with your resume for consideration. Based on how fast you generated the result and how good your code is, this process could streamline your application process and show off your talents.   For those rockstar programmers that are looking to upgrade jobs, this could set you apart from your competition and be a fun exercise to keep you fresh. For those programmers that are working towards rockstar-ness, you need not apply to jobs to take the quizzes and improve your programming skills with practice.<p>If the quizes you pass happen to be the type that a company wants to post a job for, the site will let you know that you should send in your results for consideration since the job might interest you.<p>This system would be completely language-independent since as long as the generated result set is correct then the code is assumed to work and someone at the company will review your code in more depth anyhow.<p>Assuming the obvious cheating methods are stifled with sophisticated code comparison techniques and google searches, thus making the system difficult to game and relatively fair, is this a site you guys would use?<p>If not, why not? Thanks for your feedback!
======
Jebdm
It'd be cool, but there are a few things to worry about:

\- Bugs in the system are dangerous; for instance, if I did my quiz in an hour
but it got submitted as two, my job opportunity could be lost

\- People will get around your anti-cheating methods

\- People will practice or memorize solutions to your quiz (while there's no
problem with practicing, this allows people who are good at solving your quiz
but bad at programming in general to get through)

\- Code comparison may not be useful, especially since a lot of tasks will
lend themselves to being expressed in just a few ways which most code will use

\- Defining a useful metric for "how good your code is" is tricky, possibly
impossible

It'd be especially good if your quizzes asked for things that needed to be
implemented anyways. It'd be a nice, cheap way to build up an open-source code
repository.

Honestly, I'd probably do the quizzes just for fun. Now that I think about it,
something similar already exists which I do play for fun:
<http://projecteuler.net/>

Altogether, it sounds like a good idea if you can get the details right.

------
barbie17
Something like this already exists: TopCoder. They are pretty well known and
have a good reputation, so they will be hard to compete against. With that
said, however, there are a lot of things that can be improved: (like what you
hinted at) you can have each company submit their own problem and make it more
open, etc. If you are going to run with this idea, good luck!

~~~
cardmagic
Does TopCoder have a job posting feature? I can't find it.

------
jleyank
Strikes me as pretty easy to game, as Google's MY friend... Might have some
use for hiring fresh-from-school, but anything more senior's best done by
reputation rather than brain teasers. True rockstars would not stoop to
proving it - imagine asking Linus to play such a game.

~~~
eru
Who knows? He might do it, if it's fun.

------
babyshake
It sounds like a good idea, but it probably would only work well for junior
programmers. I'm working on something similar in a couple ways, but not
related to programming.

------
cardmagic
But assuming I figured out a way to make it hard to game

~~~
gensym
I hate to sound discouraging, but when it comes to job interview techniques,
making it hard to game is the entire problem, not just a detail.

~~~
cardmagic
This is true, but I don't want to describe the details in public which would
only make it easier to game. I am just wondering if hackers would use the
service if it was available.

