A great technical recruiter should be able to do 2 things: (1) present engineers with companies that fit their criteria and (2) present companies with engineers that meet their standards and are likely to accept an offer, should one be made.
Before I come up with a list of bullet points (though you can skip to the TL;DR section below for bullets), I'd like to pose the question of why an engineer or a company would want to work with a 3rd party recruiter. I'll then go on to explain what value a good recruiter would add.
From a candidate's perspective
As an engineer, what's the point of even working with a recruiter when you can just apply to companies directly? In short, a recruiter should be able to help you flesh out what you want in your next job, come up with a short list of positions, deal with interview logistics/minutiae so you don't have to, advocate for you throughout the process, and help you understand your offer.
People want all sorts of things from their jobs, though sometimes it takes some time to really distill what someone's requirements are. Sometimes it's more money. Sometimes it's more impact, a specific type of challenge/problem to solve, or a specific kind of team structure. Sometimes someone wants to change over from an enterprise product to a user-facing one. Sometimes it's a matter of entering a new industry. It's the recruiter's job to know which questions to ask and figure out what's going to be most important to a candidate. In figuring this stuff out, I'm of the opinion that having industry engineering experience is going to be invaluable (how else would you really understand what it means when someone tells you they are tired of monolithic code or want to work somewhere that is more receptive to using 3rd party tools than their current gig?).
Once that's figured out, a good recruiter should help you go beyond your personal network and a sea of badly written job ads to find the job that will make you the most happy. To do this, a recruiter should have a pretty good mental model of what companies are out there, what they do, how much traction they have, what projects are currently being worked on, what the culture is like, and what compensation looks like, and then use that info to handpick a short list of jobs that would be perfect for you.
Sometimes this process takes several iterations, and it's the recruiter's job to elicit useful feedback and go back to the drawing board as many times as necessary to get things right. If a candidate says that he wants one thing, and when presented with that specific thing, he doesn't want it, that doesn't mean the candidate is lying or not being helpful. It means that the recruiter didn't ask the right questions.
Once a list of companies/jobs is in place, the recruiter should continue to be useful by abstracting away some of the interview scheduling back and forth. In essence, the recruiter should tell you to put on pants and to show up to interviews at some specific place and time. After each interview, the recruiter should be advocating for you to figure out what next steps are and make sure that you hear back and hopefully get any relevant feedback in a timely fashion.
Once you get to offer stage, your recruiter should be on hand to provide you with any non-confidential data about salary and industry trends and help you navigate the equity component of your offer.
From a company's perspective
As a company, what's the point of working with an external recruiter rather than doing all your outbound sourcing yourself? Chances are, if you're a startup, you're not going to have a huge recruiting department. You may not even have a dedicated in-house recruiter (though you probably should). Regardless, there's more to recruiting than just sourcing candidates. You have to deal with the candidate pipeline (screening people, making sure subsequent interviews happen in a timely fashion, and make sure that candidates are moved through the process, made offers to, and rejected). You have to deal with placing job ads, campus recruiting, figuring out ways to promote the company's engineering brand (meetups, tech talks, hackathons, wrangling people to write blog posts), incentivizing internal referrals… the list goes on. Having a bit of help getting candidates in the door is not the worst thing in the world.
Let's say that you now have some agencies working for you to find engineers. There are 2 pain points I've encountered as an in-house recruiter working with 3rd party agencies: influx of either low-quality candidates or of high-quality candidates that have a low chance of accepting the offer.
Consistently sending high-quality candidates to companies isn't easy. There is definitely some correlation between a candidate's pedigree and technical ability, but in my experience, it's not as strong as one might like. Therefore, getting an idea of a candidate's ability before pitching him to a company is invaluable. To be able to screen a candidate thoroughly, a technical background is going to be necessary, no two ways about it. Even with the advent of a single screen, it's pretty hard to tell who's good. It isn't too hard to tell who's bad, though, and ideally a recruiter would be able to filter out the poor and mediocre candidates, leaving the fine-grained filtering of the decent from the great to the companies themselves. Even if a recruiter isn't technical, he can still filter out some amount of poor candidates by asking them to describe what they worked on in a way that a non-technical person can understand. Doing this well is non-trivial and, in my opinion, tends to correspond to future workplace success more strongly than pedigree. Regardless of how the filtering is done, a great recruiter is going to find a viable way to do it.
Let's say that a recruiter is working with a candidate who is clearly strong technically. At this point, the recruiter has to decide where to disseminate the candidate's info. A great recruiter will take into consideration what the candidate wants (see portion above about the candidate's perspective) and will only pitch him to companies who match what he's interested in. Doing this is non-trivial because, in addition to understanding what the candidate wants, the recruiter must also understand the companies' business models, cultures, be familiar with their tech stack, and so forth. Unfortunately, because effectively matching candidates to companies really is non-trivial and requires deep, specialized knowledge, many agencies don't do this and turn the recruiting process into a giant feeding frenzy. The same candidate's info can get sent out to any number of companies, and for each company, the odds of closing said candidate drop off. This approach is particularly poor from the company's perspective because interviewing candidates is expensive, both in terms of engineering time and logistical expenses (such as flying people in).
As with candidates, it often takes several iterations to nail down exactly what the company is looking for. Sometimes, there's a disconnect between what a company claims to look for in a candidate and what candidates are actually successful. To mitigate this, it's always helpful to get an idea of the current eng team demographics. In general, it's also good to keep a frank, open stream of communication in both directions (company providing feedback to the recruiter and the recruiter potentially sharing insights about inconsistencies between what the company advertises to want and what it wants as well as any industry salary/equity trends that might be helpful).
Great tech recruiters:
- grok engineers' and companies' criteria
- are familiar with salary and equity ranges at startups in different stages and for different positions and understand/are able to offer meaningful advice about these things to both companies and candidates
- are able optimize on candidates' and companies' constraints within a preexisting, broad network of companies and engineers
- are able to filter candidates' technical ability to some extent (separating bad from decent is much easier than separating decent from great)
- are able to elicit useful feedback from both candidates and companies
- care about people/take pride in doing their job well so that when it's tempting to just play a numbers game, they don't
Note: This post was adapted from an answer I wrote on Quora.