Automatically detecting and replying to recruiter spam
blog.waleedkhan.name
blog.waleedkhan.name
My early years as a software developer were in locations where opportunities were not like they are in your big tech centers. In those years, recruiters would get you a foot in the door and you were grateful for any opportunities that came. Even in big tech centers, until you build your own network, recruiters will likely be an important source of opportunities.
It's ugly to see senior engineers' sneering attitute towards recruiters in front of their junior colleagues (at lunch or whatever). I'm not sure what they're trying to signal when they do that but to me it signals insecurity.
Be kind to your recruiters. You never know what the future holds.
Some recruiters do outreach and networking events (most common at feeder schools through job fairs or internships).
Google recruiters are also much better than those at Facebook, who were much less interested in getting candidates through.
The rest are parasites.
A good recruiter is gold but it's a profession that has a large number of spammy practices.
Employers always had the opportunity to just put their job offers out there. If people know where to look and how to look, and employers are willing to cooperate, that cuts down on the benefits a recruiter and their "network". They might get you a foot in the door, but you have no idea what they said to get you in, and any flaw you present is still going to be shown. Meanwhile, they are going to push you, as your success is part of their income.
I say this given my average experience with a recruiter seems to be "anyone with a nice face, and up-n-get-em attitude and a degree can go be a recruiter", and proceeds to follow the same practices the general populace have complained about for years now, across every field, across every skill level. When the role they fulfill is very, very questionable given how difficult it is to get a job still and the alternatives available. There are great recruiters out there who know how to target and present themselves in a way that isn't a nuisance, but they don't make up the majority of experiences.
Earlier in my career, with 4 years of experience, I turned up to an interview with a CTO who told me within five minutes that I was a great candidate, but they were looking for someone with 10+ years of engineering experience to lead a team. We tried to work out why I'd been sent there, and discovered the recruiter had edited my resume to remove all the dates, and had removed the years of experience and leadership requirements from the job description.
Frustration with bad recruiters isn't an excuse to be cruel to the good ones, but that's why it happens.
Since talking to the recruiter counts as an interview, and they actually want to talk to me, that means after one single phone call, I've got all the information I need to decide if I want to proceed at this point, and an almost 100% guarantee of some sort of followup interview[0].
Third party recruiters, OTOH, will send me bullshit like this:
> Hope things are going well, tried reaching you regarding a Remote Full-time Senior Backend Engineer role with my direct client.
> THEY OFFER,
> • A positive, open, and highly-innovative environment and team
> • Competitive Base Pay
> • Full benefits
> • Entrepreneurial spirit with unlimited opportunity to grow
> • Opportunity to work with leading global brands on exciting and impactful projects
... followed by a request to call them or for them to be able to call me.
They've told me nothing about the company they think I might want to work for, except some generic bullshit, and they want me to spend 15-30 minutes on the phone with them to get any real info. Generally there's nothing about any job description, and I don't recall ever receiving any info on salary/comp range from a third-party recruiter.
I used to follow up asking them for this information, but, that generally just gets me ghosted, or, them asking to call me, when I've already told them I'm not interested in getting on the phone without a little bit more information.
I understand why they do it. They're trying to protect their commission. They don't want to send me this information and then have me try to go behind their backs. But, that doesn't change the fact that they give me no damn reason to actually be interested in what they offer in their initial emails.
That's why I generally try to avoid third party recruiters, if at all possible.
---
[0]: It's pretty easy to get a followup interview after talking to a recruiter, IMO. Just show some enthusiasm and alignment with the job description, and you're about 90% of the way there.
Sadly, because of the volume of zero-effort contacts, those slightly personal ones are easy to notice. The zero-efforts get marked as spam (hoping to train shared email ecosystems better) and dropped.
I can name about 5 (and could find the names of probably 10 more) actually good recruiters across a 3 decade career. Most worked in-house.
It’s just a status behavior (“I’m so important, everyone wants me”, etc.) that’s wrapped up in pretending this is a problem.
Be kind to people on the way up, you might need them one day on the way down.
I'd very much like to believe that being kind to people on my way up will pay off, be paid back, or otherwise come back to me. So far it mostly gets me treated as a soft touch.
I don't want to feel important. I want people to have some base amount of respect for my time, energy, and attention. Instead I get calls at random hours and generic sales emails from people who don't even have basic information about the job they want me to be excited for. I just wanted to be treated with a little basic respect, rather than feeling like I'm being taken advantage of for human kindness.
Just don’t reply and be happy we don’t need to.
I increasingly don't reply, but I'm also aware that greeting outreach with silence is a far cry from kindness. I have trouble believing that this is really the best option. I'm really not sure what to tell my juniors - nobody really wants to hear that being bothered frequently by self-interested parties is just part of the burden of privilege.
What else would you call an unsolicited, undesired, insincere, largely irrelevant, automated message if not "spam"?
That said, some are fine.
Later on, you find out that they think they're clever by working hard to avoid telling you how much the position pays. They say they care about your background and you're a great fit before asking questions that they should already know the answer to.
They're salespeople and generally working leads with minimal effort. Being nice to them rarely pays off, and I've found humoring them with kindness and empathy to disturbingly often be a complete waste of my time. More often they seem to be doing the thing salespeople do where they set out to prey upon my basic human desire to be kind, compassionate, and empathetic.
I humored one literally yesterday. They had no idea how much the position paid. They knew nothing about the company I hadn't learned from five minutes on Google. They claimed to have read my LinkedIn and asked questions that showed they clearly had not paid attention in any way to the last four years of my career. If this is who the company wants representing them, I'm not sure I want anything to do with them. All told, this was an above-average recruiter (emailed first, responded to email, scheduled a call, kept an appointment, a few other things), but still pretty terrible.
I expect this recruiter wanted me to be excited for the great opportunity to work for a growing global company with great funding and seasoned leadership and exciting new technologies in a growing market or some such thing. Selling the sizzle rather than the steak. Most recruiters seem to bank on that.
What did I get from humoring them? Twenty fewer minutes from my day. Nothing more.
The above is something they regularly do to try and fish for corporate clients at the expense of job seekers.
First-party recruiters are usually fine. They’re how I got my first industry job, and they can guide you through the application process and add a human touch.
The reason software developers get annoyed by third-party recruiters is their invasive, persistent tactics. My email address and phone number aren’t on LinkedIn, because I don’t want to be contacted outside of the platform. But that doesn’t stop spammers from figuring out my Gmail address based on my name [1] and sending me several spam emails every day. In one case someone went so far as to call my personal cell number during working hours.
If I acted like that, cold calling and emailing a hiring manager, it would obviously be inappropriate. It’s the same for the recruiter who sends me “opportunities” to leave my current job which I like quite a bit in exchange for a 3-month contract role using technologies I have no experience with whatsoever.
I strongly suspect that there's a whole industry out there running on what amounts to amortized lottery odds. Since they're working from some place where people and calls are very cheap, they just throw more cold calls at everything.
The former are usually pretty good. They have an idea what the teams need, even if they don't know the specifics of the individual technologies. They usually have very close relationships with the team managers -- especially at smaller companies where there may only be one or two recruiters and a small number of development teams.
The latter are, by and large, worthless if you're looking for a good tech job. They're salespeople who simply aren't incentivized to learn more than the bare minimum about what they're selling. Especially in the current climate most of the folks getting jobs through them are either extremely junior, or can't get jobs anywhere else. By extension, the only companies who have success using them are getting by with extremely junior or extremely bad developers. This is why I, as a developer with ~12 years of experience in back-end development and distributed systems design get an email or LinkedIn message every 2-3 weeks for a junior or mid-level React or Angular job.
From the other side of this: as a developer who is required to _use_ in-house recruiters as part of hiring, my experience has almost never been good. I don't know if the incentives are bad, or if we just have a _much_ lower bar for hiring recruiters than developers, but our recruiters can't be depended upon for simple things like sending prep emails to candidates or telling us what position a candidate is interviewing for. I honestly think we'd be better off cutting them totally out of the process.
I am sorry to all the targeted, respectful and genuinely nice recruiters out there, but your scummy co-workers have peed in the pool and wrecked it for everyone.
You are not talking about the same recruiters as the OP. I get unsolicited email that I'm sure has value to me, but it all gets classified as spam. MY ACID TEST: If you have a recruiter reach out to you on LinkedIn with an opportunity and after you tell them you're not interested and they still reply "OK, I'd love to stay in touch for future opportunities" or something similar, they're likely NOT the time wasters the OP is highlighting. Sadly the vast majority (including internal recruiters from FAANG+) will never reply as you can't do anything for them in their spammy numbers game. It is entirely appropriate to treat these recruiters with disdain.
However today I got a message about URGENT NEED a Senior Java position (I am a junior JavaScript developer) to which I replied "thanks but I've recently accepted an offer and I am no longer looking for a new job"
About ten minutes later they texted me (idk i guess my number is on linkedin) demanding I reply to their message.
There isn't a single instance of the word Java on my profile that isn't connected to the word Script.
> I can do this all day - it's quite literally my job :)
>
> Really though, we are highly interested in your background ...
>
> Chat soon?I don't think anybody cared about it and I always thought it was funny as shit
Until one day a recruiter specifically called it out. His subject was "looking for really really bad engineer"
Hey, we're looking for to hire someone who does technology A, who also had a penchant for larceny. Interested?
That made me lmao and really respect the tenacity of that recruiter
The last version of the code, which I kept running for over 6+ months, continued replying with things like “Thanks <Recruiter’s Name>. I’m interested.” —or— “Thanks <Recruiter’s Name>. I’m not interested, but I appreciate the invitation.” After comparing the success rate of my interviews with the length of my initial replies, I realized that short messages resulted in better leads.
I dare to say that it never matters if the recruiter is targeting you specifically or bombarding a long list of potential employees. They only need to know if you are interested or not, so writing long emails to accept or decline their invitations is usually a waste of time, for you and for them. If you are interested, say so, and they will quickly set up a pre-screening call to tell you more about the company, the role, the team, compensation package, or whatever you want to know.
If you are not interested, most recruiters will appreciate a simple “not interested. thanks.” and move on.
If you send a message that is too long, you just increase the barrier of responding.
Maybe most people feel that way and when they receive a 3 lines initial message they feel confortable answering with 3 lines and they do it right away.
>Honestly, be grateful you receive so much recruiter "spam", sometimes great things can come from it.
Great things can come from getting into an accident and landing in the hospital. Let's instead look at why people dislike these things and how to solve them, rather than recruitment proceeding to do the same thing people hate for another decade.
Counterpoint: I really don't want spam in my email. I've got LinkedIn for that. I get countless emails from recruiters because they use some tool that scrapes LinkedIn and guesses my email. Then I get "I have a role for you, pls respond", "Please hear me out, great role!", "Last try, I'll show nice things", and sometimes even then it doesn't stop.
Personally I always yell at recruiters who directly reach out to me. I get many more LI messages from recruiters, but I can ignore those if I want, though quite often I reply and politely mention that I'm not interested. I've built good relationships with several recruiters who have reached out to me via LinkedIn, but never via email.
It's not just about blocking domains, it's about figuring out what those services are and yelling at them for scraping my data and assuming I want them to hold my email when I've not put those details online.
You might have taken your email down now but you made it available at some point. LinkedIn scrapers cant make information that wasnt shared available. I'm not arguing that that means you opted in to receiving emails but if you made your email publicly available its odd to be upset when someone uses it to contact you.
The reason people circumvent LinkedIn could be cost but the cost of email tools are much higher than a LinkedIn Recruiter subscription and inmails. The reason people reach out via email is because it allows for easier drip campaigns/follow up emails, email template use, and the response rate is an order of magnitude higher.
I'm not trying to be an ass here. I'm trying to share the viewpoint of someone who is emailing you and why their intentions might not be as malicious you seem to interpret them.
> Every time I reply to ask where they got my email, they mention some service that scrapes emails based on LinkedIn addresses.
Again, zilch to do with my email being allowed to be public.
Every time when I've reached out to these spam companies, they've mentioned scraping and guessing emails. I.e. if my name on Linked is John Smith, and they'll add john.smith@gmail, john.smith@outlook, j.smith@gmail, and some other common name formats.
It's ridiculous.
In the case of developers, truly elite talent is not compensated anywhere near 10x (or 100x) the standard-issue rate (unless they become founders). Thus, there is a massive incentive to cast a wide net, and hope to land a big fish for whom circumstances have misaligned.
For prospective employees, the best jobs are typically those one obtains through a network rather than a recruiter anyway - leading to a reluctance to engage, thus requiring a wider net.
Bottom-line, a few elite recruiters can and do behave differently. A few elite developers can and do earn more, and for the rest of us mere mortals, this paradigm is probably the equilibrium. Curious if automating responses to automated emails would lead to ever larger/wider outreach?
I always know when is a mass message or a real personalized message based on whether or not they include that initial.
Works surprisingly well for me but sadly for LinkedIn that’s a case of an implementation detail totally destroying their value proposition for recruiters.
Of course if you still find satisfying work with good pay, then your system works well. But I'd like better accuracy in, say, an email spam solution.
I learned of it here: https://www.glennstovall.com/the-wolf-test/
Or a non-breaking space?
Anyone who thinks there are majority real people behind these emails is a fool.
:) :) :) :)
Also, despite having set up SPF and DKIM, LinkedIn continues to reject my reply emails.
I played around with hosting my own email server for a bit, but gave up. It’s too risky that an important email will get blocked because my server isn’t trusted.
-it doesn't understand context
-if the spammer uses related words, good luck catching those
-false positives can be quite high
As a recruiter receiving such a wonderful automated reply from you, I would ask you why didn't you use a more suited technique to the problem such as transformer-based attention network, or at least deep learning neural network.
If he fixes the polish bug and grabbed more training emails from friends it would be even better than 95%. Which is why Bayes works well enough http://paulgraham.com/better.html
It's pretty clear he wanted something cheap and fast to implement and the headaches of getting a neutral net working aren't part of that formula. Honestly seeing how he cobbled together a lot of separate parts into something that works is pretty damn impressive and is exactly the type of thing that would fast track him if I was interviewing him
All my previous positions are Python dev positions. The first line of my profile is "I am NOT interested in any Python job".
Since then I just filter out Python job positions, I know this recruiter didn't read my profile.
For example, I’m including 5 below:
In the past few months I've also had emails along the lines of " I just came across your profile and was very impressed with your background and what a solid fit you appear to be for this role. " for:
- Enterprise Architecture
- Operations Manager
- Director of Continuous Improvement
- CI Engineer
- Continuous Improvement Engineer
And several others that I can't readily find in my gmail trash.
Wut?
The only effective way I have found of dealing with spam is to add the mail servers they use to relay their trash to an IP blacklist and reject future messages from those servers. That means some legitimate mail will bounce, but that is acceptable because those senders are notified of the delivery issue and can try to send again using a less shady service provider.
The people who don't read my resume / tell me I'm a perfect fit for your entry level helpdesk role, I report and block.
Spam rule #1: Do. Not. Reply. (Heck, don't read it either. My filters are usually good enough to not even see them.)
If someone wants to genuinely contact you, it should be a personal message. Every time you give signal to spam, you contribute to it being worthwhile.
Lucky you. I get 300+ emails per day and 15-30 phone calls. As a result, I created very aggressive email filters (hundreds of domains go straight to trash) and phone configuration (non-contacts go straight to voicemail and hundreds of numbers are blocked).
Now I only see emails or calls from recruiters in the single-digits per day (and I add them to block lists too).
I highly recommend you exercise your rights and ask the company for your data. Is the privacy policy "complete" enough? Contact the DPO, ask them to explain what data they're gathering, why, and request a full dump.
Anyway, being Personal Information or not, you can always ask them to delete all the Data they have about you.
I get offers for jobs asa frontend eng, when I am a 100% backend guy. Recruiters need to understand that based on the very detailed information that they have about me.
They clearly don’t care, so why should we care?
for you it might be the difference between "tire guy" and "engine guy" whereas the recruiter just sees a car mechanic.
Maybe you think that I'm sending the recruiters these emails to troll them, and not actually responding? Certainly not; in fact, I have a policy of always replying to any recruiter who takes the time to reply to one of my bot emails.
The equivalent might be running an automated fuzzing process and opening issues on the relevant repos. People actually do that, and it's generally a valuable service.
Actually, the recruiters are reaching out to me, and I'm replying. I'm not automatically submitting my resume to a hundred resume portals. It would be more like opting into Github's Dependabot and then getting annoyed when they open security issues on my repository.
Things like negotiating compensation up-front are due to several situations where I didn't receive compensation details up-front, then went through their interview process, and got an offer that I wouldn't have accepted anyways. So I've added details like that to avoid these kinds of situations in the future.
Recruiters who mass spam the emails of folks they’ve harvested from LinkedIn or elsewhere receiving a more or less templated response in kind is anything but mean. It’s awesome!
Imagine a recruiter recruiting for a machine learning role and they got such an email!
The best developers automate the boring stuff and sifting through templated recruiter emails is hella boring.
Is this a pun? This might be a pun