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!
It'd be cool, but there are a few things to worry about:<p>- 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<p>- People will get around your anti-cheating methods<p>- 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)<p>- 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<p>- Defining a useful metric for "how good your code is" is tricky, possibly impossible<p>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.<p>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: <a href="http://projecteuler.net/" rel="nofollow">http://projecteuler.net/</a><p>Altogether, it sounds like a good idea if you can get the details right.
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!
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.
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.