Broken record, but here's our hiring process:<p>1. An initial call, handled by a principal ("founder"), with the objective of explaining the role and the company and arming the candidate with as much detail about the hiring process as is practicable.<p>2. A followup in email shortly thereafter confirming interest and locking down schedule.<p>3. 1-3 work-sample challenges (our current set, for the role we're hiring now, is a short combined AWS/Django security assessment, an automated best-effort-secure deployment of that Django app in a fresh AWS environment we provide, and a short API scanner programming challenge):<p>3a. Introduction: provide the candidate with advance knowledge of what will be on the challenge and what they'll want to know going in, along with time expectations.<p>3b. Preparation: offer the candidate books, links to presentations, and a practice version of the challenge to get confident and comfortable with the challenge.<p>3c. The challenge proper.<p>3d. Scoring: each challenge has a pre-built scoring rubric, on a 1-5 scale, designed so that anyone on the team can quickly score a submission.<p>4. Meet in person: after informing the candidate they did well on technical qualification, we do a single round of in-person "interviews"; no whiteboard, no coding, just meet and greet and discuss logistics.<p>5. Offer.<p>Missing from this process:<p>1. Recruiters.<p>2. Resumes.<p>3. Telephone interviews.<p>4. Technical interviews from members of the engineering team.<p>5. Any significant interruption to the engineering team's work.<p>6. Interview exercises with a member of our team watching you code.<p>7. Free pizza and coffee (though I guess if you asked, we'd send you one).<p>8. 5 of the 6 hours onsite this recommended process includes.<p>I'm happy to keep repeating this just as a sort of reminder that we're hiring, but this is a streamlined and improved (we didn't have practice challenges at Matasano!) version of the way we've been hiring for coming up on 10 years, <i>and it works spectacularly well for us</i>. People keep telling me why what we're doing can't work, and I keep wondering what I'm doing wrong to make it work.<p>You should consider cutting way back on interviews --- especially telephone interviews, which I've found to be completely worthless as generators of real insight into candidates --- and replacing them with work-sample challenges. But be serious about it if you do: candidates hate "take-home projects", and when I ask them about it, it always turns out that those projects precede or follow a standard interview loop. Fuck the interview loop. Interviews are a random function. Figure out what skills you need candidates to have on day 1, and then just build something that checks if candidates have those skills.