I had an idea a while back around inverting the interview/recruitment process, but a lack of resource/willpower/ability means I won't ever follow through with it. Regardless, I like the idea of it.<p>If a third-party recruiter is involved, they will get in contact with a developer that they deem to be sellable. Once they've got his/her details, they'll pass them on to an employer, who will then interview them for the role.<p>The flaws with this approach are:<p>1. The recruiter doesn't know if you're any good or not. They probably don't care, but a good developer can be sold for a high commission.<p>2. The interviewee has to interview when it is convenient for the employer<p>3. The employer has to run a ton of interviews to find a viable candidate, and (probably) come up with a proper interview process to replace their crappy one.<p>If, instead of having a skills-based interview with the employer, you had one with the recruiter, who would only take you on as a client if you matches a certain level of skill/talent, in theory everyone's problems are solved.<p>Recruiter: Adds real value to the developer, can sell a provable talent to a company quickly, and ideally with no worry about commission being lost by an employer rejecting an obvious dud.<p>Developer: Gets to "interview" whenever is convenient for them. Can be evaluated in multiple ways (take home test, face-to-face interview, etc), and can be given real technical feedback as the interview is not for employment, but to sign up for a service.<p>Employer: Can hold a shorter interview process, and get someone in quickly.<p>In terms of actual technical interviews, there are so many different ways of doing them that all I ever really want from an employer is some heads-up on what I'll be asked. Interviews are convenient at the best of times, so if I'm going to try and make time when I should be working I want to at least be prepared for the experience.