Hey, i have had a couple of recruiters who have approached with this idea. Basically, the recruiter says, okay i give you a week or two for this task to be complete ( the call is basically 30 mins or so explaining the problem and getting to know the basics about me ) and then post the time alloted, a sync up to see how you have solved it and to explain the design or solution or something like that. Only a couple of times have i had this experience. There is no additional overhead on the recruiter apart from reviewing it post the time alloted.
It felt better, because the interview was more like a typical work like situation. In work too, we are assigned tasks, and we update the progress.
Maybe its a bit idealistic, but then we all like to dream about utopia, don't we :)
I still wouldn’t do it. Why should I, when I can do the entire interview process with another company with only a day’s worth of time expenditure on my end? If the task itself takes more than an hour or so, I can get to an onsite interview with far less effort than that by doing a recruiter chat and a phone screen.
Sounds fair enough :) Agreed. I have just proposed one of the alternatives which i could imagine / think of from the top of my mind. The problem isn't solved yet - or rather solved well yet. We could always brainstorm on a better alternative. :)
Here's the problem: you're dealing with a multiple prisoners' dilemma situation here. Theoretically, the best solution for all (candidates and companies) is to have a thorough, standardized, and real-world based interview process. If every company cooperated, then you could have that. But, when there are companies out there that will bring candidates onsite for ~5 hours after a little more than an hour's time commitment, that means I could theoretically do 5 of those interviews in a week. No other company is going to start demanding multiple days of an interviewee's time given that every other company's process takes ~1 day of active participation by the candidate. So, you need to limit your "thorough, standardized, and real-world" process to taking no more than a day.
Here's a process that might work, that I actually would participate in:
1. ~20 minute recruiter chat to establish basic levels of fit/compatibility.
2. ~45-60 minute phone screen.
3. Onsite consisting of 1 hour behavioral/cultural interview, and 3-4 hour programming task, preferably based on a real problem or task that arose in the company's code base, suitably extracted, simplified, and scrubbed of proprietary information. Internet resources are allowed, as is asking any questions of the interviewer, without penalty.
You could bring me in at 11 AM, do the behavioral interview, take me to lunch, then have the afternoon to do the programming task, and have me out by 4.
Yeah, was thinking along these lines during this discussion. Sounds like a good idea and something that everyone would be fine too. The idea being that the interviewing pattern should shift from hard theoretical questions to practical problems that needs to be solved as you have suggested above :
"3-4 hour programming task, preferably based on a real problem or task that arose in the company's code base, suitably extracted, simplified, and scrubbed of proprietary information. Internet resources are allowed, as is asking any questions of the interviewer, without penalty."
It felt better, because the interview was more like a typical work like situation. In work too, we are assigned tasks, and we update the progress.
Maybe its a bit idealistic, but then we all like to dream about utopia, don't we :)