This is your last chance. After this, there’s no turning back. You take the blue pill — the story ends, you wake up in your bed and continue your job search on your own. You take the red pill — you stay in Recruiterland and I show you how deep the rabbit hole goes.

In the 1999 movie The Matrix — you’ve seen it, right? — Morpheus recruits Neo to join his dirty sweater gang and fly through the sewers in a rusty hovercraft.

Of course, that’s not how he pitches it to Neo.

Instead, Morpheus sits down in a worn leather recliner and proceeds to stoke Neo’s curiosity about this whole matrix thing.

“What is the matrix?”

“Unfortunately, no one can be told what the matrix is. You have to see it for yourself.”

Morpheus talks Neo into taking the next step — swallowing the red pill — while revealing as little as possible about the Matrix itself. And in doing so, he succeeds in creating a sense of mystery. Of urgency. A fear of missing out on a better life.

If all this sounds familiar, it’s because these are the same tactics used by recruiters, who want you to take the red pill and reply to their unsolicited messages.

Recruiters use a tool called “InMail” to blast out messages to you based on keyword matches from your LinkedIn profile. They know that if they send out 1,000 messages a day, and even 1% of people respond, they’ll have more than enough job seekers to stay in business.

Who knows — maybe they’ll even hit the jackpot and hear back from a senior DevOps, a platform architect, or someone else with an especially in-demand skill set.

Lucky for you, these spammers are easy to spot. If the “InMail” label doesn’t immediately give them away, their impersonal nature will.

LinkedIn has built a $26 billion empire by supplying weapons to recruiters, who compete in spamming arms race. And with Microsoft acquiring LinkedIn, things may get worse before they get better.

Recruiters aren’t merely the butt of friendly jokes like these. Recruiters are widely reviled among developers, who often delete their LinkedIn accounts just to escape recruiters’ clutches, or fight back by trolling them.

But as annoying as recruiters can be, they are a reality of the developer job marketplace. Many hiring-focused startups have attempted to eliminate recruiters by using the same type of two-sided marketplace that you’d use to order a car (Lyft), rent a room (AirBnB), or buy a copy of the Matrix Trilogy.

I won’t lie to you, Neo. Every single hiring startup who has stood their ground, everyone who has tried to automate human recruiters out of the recruitment process has failed.

That’s right — all those fancy websites that promise they’ll make employers “fight over you” are really just funnels into more traditional, people-driven recruitment agencies.

It turns out that selling a human being (a job candidate) to an organization of human beings (an employer) is not an easy problem to solve with software.

With hiring, you have humans on both sides of the transaction. Both sides are constantly weighing competing options. Both sides are under time pressure. And both sides carry around their own expectations and cognitive biases.

Algorithms are a long way from being able to reliably close these types of deals without human involvement. This is why recruiters still exist, and will probably continue to exist for a long time. Their time-honed diplomacy and matchmaking skills help keep the hiring process moving forward.

Recruiters aren’t going away. So let’s talk about how they work.

Internal recruiters work for a single employer. They recruit candidates exclusively for that employer. Their job is more clerical in nature, and most of their compensation is in the form of a salary. There isn’t much to say about internal recruiters, other than that you can follow an interesting one on Quora.

When people talk about hating recruiters, they are talking about agency recruiters, who are essentially salespeople that work for multiple employers.

You may be asking at this point — if all recruiters work for employers, then who works for us developers when we want to get a new job?

Well, as much as agency recruiters might lead you to believe they’re working for you, they’re working for employers, because that’s who pays them. If they were working for you, they wouldn’t be called recruiters — they’d be called agents. But most (non-freelance) engineers are too cheap to pay for agents, so they resort to using recruiters instead.

Employers pay these agency recruiters — also known as “third party recruiters” or “contingency recruiters” — a commission based on your starting salary. This is usually between 15% and 30% .

So if your starting salary is $100,000 (bonuses aren’t included) then your employer will pay your recruiter $15,000 to $30,000, depending on their agreed-upon percentage. The recruiter will only get this money if you stay with the company beyond a trial period, which is usually 90 days.

It’s important to reiterate that this money doesn’t come out of your salary — employers have already budgeted this expense. In theory, going through a recruiter costs you nothing.

Recruiters’ incentives are thus remarkably well-aligned with your own as a job seeker:

Since they get paid based on your starting salary, they are inclined to help you negotiate as high a starting salary as possible. The more candidates they place — and the faster they place them — the more money recruiters make. So they’ll want to help you get a job as fast as possible so they can move on to other job seekers. Since they only get paid if you succeed as an employee (and stay for at least 90 days), they want make sure you’re competent and a good fit for the company’s culture.

This system sounds healthy enough, right? It actually worked quite well up until about 10 years ago. That’s when LinkedIn showed up and turned recruiting into one giant spam fest.

InMails assemble!

Today, anyone can create a LinkedIn account, get a free month of LinkedIn Sales Navigator, do some quick keyword searches and start filling developers’ inboxes with spam.

They can pretend they’re from an established recruiting firm — real or fictional. They can claim to have close working relationships with major employers you’d like to work at. They can throw around large but plausible salary figures to get your attention. Anything they need to do to get you to take their red pill by clicking that reply button.

Next thing you know, they’re applying to companies on your behalf, only to reveal to employers later on in the process that they are not fact a candidate, but actually a recruiter. They’re modifying your resume to omit your personal contact details and strengthen their position as an intermediary. They’re using all manner of black hat tactics to try and score that fat recruitment commission with as little legwork as necessary.

And in the process, they’re wasting your time, tainting your reputation, and possibly even alerting your current employer to the fact that you’re looking for another job.

If enough of us stop responding to these InMail spammers, the expected value of their spamming efforts will fall, and eventually spammers will give up and stop spamming us.

But not all recruiters are spammers. Some can actually help you.

There are still plenty of experienced, trustworthy recruiters out there. These recruiters already have working relationships with employers, and can understand employers’ needs and expectations much better than you can as a one-off job seeker.

Take job requirements, for instance. Up until about 20 years ago, the requirements section of job postings were intentionally written to scare off unqualified people. But times have changed, and now there’s a massive talent shortage. Even though it’s a seller’s market for programming skills, job requirements are still written with a buyer’s market mentality.

A good recruiter can sit down with an employer to understand their true minimum requirements for a position, and discern which of the dozen bullet points in their job requirements really matter the most to them.

For example, if you’re experienced with Express.js, but have never worked with Ruby on Rails before, a good recruiter knows whether an employer will consider those skills to be comparable. And each employer — and each hiring manager who works for them — is different.

You can be up-front with your recruiter about your knowledge and experience. Unlike with employers, you can be candid about your current salary and your desired salary. Recruiters are incentivized to help you get as high a salary as possible, and they have a much better idea of the salary ranges for different companies, locations, and job titles.

A good recruiter can also save you a tremendous amount of time by steering you away from positions they think are a poor fit for you, and toward positions in which they think you’ll be happy and succeed.

Oh, and have you ever been turned down for a job when you thought you totally nailed your interviews? The employers probably wouldn’t tell you why they chose to “pursue other candidates.”

So you spent hours of your life — maybe days — interviewing for that job, and you don’t even have feedback to show for it.

Well, if you have a good recruiter, they can act as a backchannel. Since they have a working relationship with the employer that transcends your one candidacy, they are in a strong position to find out why the employer didn’t hire you. Your recruiter can turn that information black hole into a source of actionable feedback, coach you on what went wrong, and set you up for success with your next interview.

I know Bar Foo.

If you’re looking for a good recruiter to help you with your job search, don’t bother with LinkedIn. Go straight to your friends. They may have had success with a particular recruiter before. One candid opinion from a friend is worth dozens of dubious 5-star Yelp reviews.

Many established recruiters focus only on senior roles, which are easier to place and command higher commissions. But if you keep looking, you’ll find that there are recruiters who specialize in a wide range of disciplines and skill levels.

Don’t get discouraged. If you want an ally in your job search, your Morpheus is out there, ready to show you how deep the rabbit hole goes.

I only write about programming and technology. If you follow me on Twitter I won’t waste your time. ?