Will the Solve-the-Riddle Hiring Trend Affect IT?
An anonymous reader wonders: "It's probably harder to find a good developer, than for a developer to find a job. Seems to be a Google-riddle trend; rather than caring about references/diplomas/resumes, employers are using solve-this-and-you-have-a-job approach, not even caring about any usual information. Does that give decent graduates/talented unexperienced devs/homegrown coders a chance at the corporate job, or does it alienate potential matches?"
I think the ability to solve puzzles is tightly correlated with the skill set desired by IT. Because it takes an inquisitive and unrelenting mind to hit the hardest puzzles. If they like to do this for fun, surely they can do it well for a living.
Perhaps it's even more important than the education because of the way IT problems arise? I constantly tell my boss that I complete the crossword everyday at work without fear of repurcussions. I feel this keeps my mind nimble and prepares me for the day.
Isn't a college degree just a symbol that says, "Look, a whole bunch of people with good reputations threw a bunch of puzzles at me. Some were hard, some were easy, but overall I did well enough to pass through these puzzles. I retained some of the information and processes but that's not really important. What's important is the fact that I'm able to solve problems and paid to do it for four years."
So, in the end, I predict this will have little or no effect on the IT world at all. In fact, I think it's a better shift towards hiring the most qualified person. For financial reasons, I went to the University of Minnesota but people on the East coast imagine a backwoods podunk frozen tundra instead of an institution of learning when I mention it. If I'm a good puzzle solver, it shouldn't matter.
My work here is dung.
Well, I tried to do riddles when I was hiring at a technology company. I liked to do mathematical ones that couldn't show any cultural bias. For example, deriving the quadratic formula. Or proving that the square root of two is irrational.
I like this. It's a lot better than the usual asking for "ten years in a five year old language". Cool trick too. I wonder how many people won't even get to the "view source" option!
Guvf vf xvaq bs fvyyl, ohg vg vf n avpr jnl gb svaq ng yrnfg *fbzr* gnyrag.
Have you read my journal today?
Those who do well at solve-the-riddle interviews are certainly intelligent and can solve problems, but it's not necessarily true that they can solve ill-specified problems -- real-world problems that need solving aren't usually as completely specified as a riddle or puzzle.
There are other ways to conduct interviews that yield good candidates. Get the person to talk about his past work -- technical people who have done good stuff love to do this with great enthusiasm. You can then ask about trade-offs in thei designs and implementations. You can usually figure out whether the candidate was a key player in the work being discussed.
Another way is to describe a real-world problem facing your company, but without actually asking the candidate anything. A good candidate will be interested in yoru problem, ask questions, offer suggestions. If the candidate just sits there, s/he's not a good candidate.
If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
The interesting thing about it is that not only does it test the applicant's ability to use various PHP tools (in a roundabout way) it also forces awareness of some of the stupider things people do in their site designs. Hidden values in forms that are expected to be secure because you can't see them in the browser, aren't. People can post anything to your form from anywhere, not just from the page you thought they should be coming from, and so on.
That said, I've done the kind of automation that they're looking for, and all I can say about it is that if my "targets" for scraping had tags like <mistake> that told me the important parts, my job would be five billion times easier. Especially if the tag was always the same. Nothing like setting up a script that logs into a website, "navigates" to the page I want and read the parts of the page that were interesting to me, only to have the company completely redesign their website... now if only companies would use SOAP.
If I have been able to see further than others, it is because I bought a pair of binoculars.
1) It proves you are good enough not to get caught.
2) If they tell you to do something illigal they don't want it comming back to them in the terms of "You hired a known felon..."
...couldn't get dumber. This is flavor of the week type of stuff, folks. I'm lousy at riddles, but I win design award after design award plus bonuses in my engineering job. I have several patents. I'm sorry, but I just have very little patience for these Grand Unified Theories Of Everything when it comes to dealing with human beings. It just strikes me as HR people looking for ever lazier ways to hire the talent.
Also, Our IT people have that site blocked. I wonder what that riddle means?
The first rule is that there's always exceptions to the rule. ;-)
Google appears to pursue non-degreed people in a couple of different situations:
1. The early responders to their public Quiz sheet they put out a little while back.
2. You have a project, product, or unique knowledge they wish to acquire.
3. The position is not in a development area of the company, but is in a supporting function. (e.g. Customer Relations, Tech Ops, etc.)
Unfortunately, things seem to NOT work out with Google more often than they do. I remember a couple of fellows who were in category 2 and went in for interviews with Google. Google ended up turning them down, again for reasons unknown.
It's just *weird* working with Google. At times, even frustrating. There's absolutely zero visibility into the company and their practices. And from what I know from Google insiders, it doesn't get any better once you're there. I'm left to wonder if they're not having some growing pains as the company gets larger and larger. Being as meticulous as they usually are, I imagine that they're still trying to work out the best way of growing beyond a relatively small set of braniacs.
Javascript + Nintendo DSi = DSiCade
But if you think you can get through a good CS program without learning puzzle solving or problem analysis, you're either an idiot or you went through a really bad CS program (which admittedly, are probably not in short supply).
if you were a manager looking for a wrestler, wouldn't you want to test their physical strength?
IT is now so much about problem solving, why not test potential employees ability to do just that.
While it might once have been possible to already know everything about a technology which one was responible for maintaining, that's no longer how the industry works. When there's a new problem, we google. The better problem solver is the better hire.
-Tim Louden
You certainly have a right to your opinion. It's great that there's a match between employers who do this sort of thing and people who like that sort of interview. I wrote a web page, Calculating Permutations and Job Interview Questions on this topic. What do I suggest for interview questions instead? How about detailed questions about the projects that the applicant has worked on, what exactly they did on these projects, how the solved the problems they encountered, how the software they wrote was structured, how they worked with other members of the team, how they dealt with conflict...
I will note, just in passing, that Soviet Russia has not existed for some time so the present tense of the sentence below seems misplaced.
In Soviet Russia, the government controls the commerce.
That was what I learned about myself during the test. That *I* ignored my own good sense that the task was not reasonable, and that a true master would not have.
Religion is a gateway psychosis. -- Dave Foley
My answer was: If I eat faster, then cut into 3 slices. If I eat at the same rate or slower, cut into two pieces.
If you eat faster, then you want the pizza cut into as many sub-slices as possible. If you are ten times faster and cut the pizza into 10 pieces then you'll be able to eat 9/10 of the pizza before your friend finishes 1/10.
In the extreme limit, if you are arbitrarily faster than the other guy, and the pizza is cut into a infinite number of slices, then you'll eat the entire pizza and your friend will eat an infinitessimally small piece (i.e.: nothing). So my answer would be:
"Assuming that I truly want to eat as much pizza as possible, then:
If x is greater than y the pizza should be divided into as many pieces as possible (ideally an infinite number).
If x is less than y the pizza should be divided into two pieces.
However it would be most courteous to cut the pizza into two pieces."
The Battle-Hardened Veteran would explain to the potential employer/customer why the problem was impossible, and while perhaps not providing a formal proof, would present enough evidence that he would be seen as a Veteran. And he would still make an attempt to do it anyway, just to be sure. Watching how a person discovers why something is not possible is far more revealing than listening yet again to someone state quickly that it cannot be done.
I think you were probably expected to invoke the server via inetd and could read commands from the standard input and send pages to standard out. That "handles" threading for you also.
Daniel Feenberg
"Brain dead?" Come on. A felony conviction is often an automatic disqualifier, full stop. Lesser convictions might be too depending on the position and company. It's nice to feel sorry for people who made a bad decision once and want a second chance, but when you have 10 other similarly qualified applicants in the queue who have no criminal convictions, the criminal's application is going to be the first one tossed in the circular file.
If you assume its hooked up to a UNIX system and fired off by INETD, which are certainly reasonable assumptions, especially in the face of "just do whatever you think is best" when looking for clarification-- then you could write the whole thing in C in just a few minutes. INETD will of course take care of hooking up the socket to your program's STDIO so all you have to do is parse the request, open whatever file, write a few headers and then spool it out. You could probably have it up and running before they got their hand off the doorknob...