Here's an example:
- apply to job
- recruiter does phone screen
- you're asked you to complete exercise before an interviewer has reviewed your profile/resume/application
- you put a bunch of work into doing exercise well and return it
- your exercise is not reviewed at all because: the job has been filled, the job has been closed, an interviewer didn't like your resume/CV/application, the recruiter misplaces your exercise, the team is too busy to review any exercises, etc.
So its not really a coding exercise where we ask someone to fix a bug or write code and then evaluate their coding style. Its a little different in that we are looking for problem solving skills in a startup environment. I don't think this approach will work for a large company where every developer has a specific role. But it works well for us.
I suspect every good candidate had the same approach. If you're getting people to do this for free, you're not getting very good applicants.
In this market, the people you're interviewing are far more desirable than you are.
As an interviewer, I tend to avoid paying applicants. It just feels odd. Instead, I try to make the opportunity (interview plus potential job) as enticing as I can. Once it gets out that an that an interviewee pays interviewees, I'd be concerned that I'd attract "professional" interviewees who just want the money. As a blood bank, I wouldn't pay people to donate blood either for reasons that feel similar.
The kind of coding tests I don't like are the ones that seem too onerous and involved for the given role. I have recently phone interviewed with a company, which they don't make their own software as a revenue source but build software for other clients. I talked over the phone with one of the lead programmers, discussed my skills, situations related to my work experience, etc.
Afterwards, he issued me a coding exercise with a VERY DETAILED .pdf document that felt uncomfortably close to a request for proposal and summaries of requirements. I hesitated and replied back about this. They assured me that this is not unpaid work and that everyone has to take this same test, in the language of their choosing. The test was intended to produce code for a MVC web app that they can evaluate. So I guess they really wanted sample code, despite having already produced other samples from Github, and discussed my real-world MVC work projects from my perspective as a mid-level developer (including one where I had architectural control).
I think the most disappointing thing, though, is that this long test is mandatory for everyone that they interview. So, the responses and decisions you make in the phone interview portion don't seem to have any real impact on the next step in the process. Someone could have a highly popular library on Github and they could still say, okay you gotta take this test. Non-trivial tests should be tailor made to a person's own experience.
Interesting. I think that is one good approach. Because I've come across many people (aspiring to be software workers) who 1) cannot even follow clearly specified instructions to the letter (a basic skill for a software person), and/or 2) cannot figure out ways to deviate from those instructions in meaningful ways, if they do not work.
https://www.google.co.in/search?q=ctci+coding+full+form
for those who don't know the acronym.
I've had a few people (beginners looking for a job) ask me for help on just those sorts of interview questions - and not being interested in spending time on learning the underlying fundamentals, though I had mentored them (on mentoring sites like Codementor) some on those areas earlier (at their request). Misguided, to say the least. Told them that that (just doing the interview prep) is not a good approach, because, even if they manage to clear/pass the interview, with or without my or others' help, they will likely get found out soon for their lack of fundamental knowledge, soon after getting a job.