LinkedIn Hack: Search Past the Present Pair

booleanstrings Boolean 4 Comments

Guest Post from Talent Sourcer Mike Santoro

Perhaps the most famous “pair” in recruiting and sourcing search strategy is finding candidates based on matching their “Current Job Title(s)” at “Current Company(s).” Let’s call this a “Pair of Aces.”

In this article, I’m going to show two new ways to search (on LinkedIn and via X-ray) for a NEW search combination pair:

“Past Job Title(s)” at “Past Company(s)”

I will discuss why and how this “old pair” is a powerful “new search tactic” that opens many possibilities for sourcing high-quality matching candidates for your hiring managers.

This post will teach you this new “hack.” I hope it will also inspire your creativity.

(Note, if you are wondering what is “new” about this method, it’s the “at.”  We can search for past job titles and past companies, but not for people who have a specific title at a particular company in the past.  This post shows you two ways to execute this:

1) Linkedin.Com Basic/LinkedIn Recruiter/Sales Nav/Recruiter Lite

2) Google X-ray

“For Love of Sourcing and Sourcers” –Mike Santoro ❤)

On any given weekday, you will find every Recruiter/Sourcer playing this time-tested “present pair” to win the hearts of hiring managers.  It goes something like this:

The Hiring Manager says to the Recruiter/Sourcer:

 “We need to hire an X. Please find me candidates currently working as an X and who currently works at one of our direct competitors.  Oh, and if that direct competitor happens to be a similar size company as ours, that would be even better.”

This example is oversimplified, as there are often nuances based on requirements, skills, and experiences.  But generally, a target list of job title variations and similar companies/industries is preferred in the candidate’s most recent work history.

Therefore, Recruiters and Sourcers often try to “build a hand” of Candidates with the following:

A Pair of Aces –

“Current Job Title(s)” at “Current Company(ies)”

“Current Job Title(s)” AND “Current Company(ies)”

Searching for a “Pair of Aces” is conveniently accessible with LinkedIn Search filters, but securing the interest from enough “Ace Pair” candidates is not always easy.  Therefore, recruiters naturally seek the next best option, find candidates with at least one ace “Current Job Title(s)” OR “Current Company(s)”.  These candidates have the desired job title but not the right company or industry experience.  Or, they work for the right kind of company or industry but in a different role.

The problem is such candidates are only a “half-match.” Rather than a more perfect match “Pair of Aces” we settle for playing “Ace High” candidate hands. We falsely limit our options. Then we often go to great lengths to persuade Hiring Managers that the “Ace high” (half-match) candidate is a “winning hand.” We make large bets on other skills and experiences and try to prove the candidates can be a fit. And while these bets pay off sometimes, more often the result is disappointed hiring managers and a more challenging hiring process. It’s our job to deliver to our company/client’s hiring managers the best candidates we can find that most closely align with the desired target profile.

I want to inspire you to consider alternative “next-best” hands that may be better to play than “Ace High.”

Like a “Pair of Kings!”

That is “Past Job Title(s) ” at “Past company(s)”

And what if that pair opened up the possibility of creating all kinds of other creative winning hand searches:

  • Two Pair
  • Three of A Kind
  • Straight
  • Full House
  • Straight Flush

More on these combinations later.

First, how to execute this Search Hack in 2 steps:

Step 1-

In the primary top general search bar of (or in the keywords search field in Linkedin Recruiter, Sales Navigator, or Recruiter Lite), insert this combination in double quotes:

“[Past Title] at [Past Company]”


“Software Engineer at Microsoft”

LinkedIn Recruiter:

Step 2 –

Remove -[Past Company] from the Company Search Filter (this will remove current employees and keep those who previously worked there).

LinkedIn Recruiter:

Your results are a “pair of Kings.” Former Software Engineers at Microsoft (almost exclusively).  Which may be better than only “Ace High.”

One Pair of Kings –


Former Software Engineers at Microsoft

But wait, there are now so many interesting new ways to search!

(note: there are many other powerful use cases.  These examples are to inspire you to see examples of what is possible.  i.e., build complex talent mapping lists or conduct competitive intelligence exercises)

Two Pairs –

(Current Job Title at Current Company) + (Past Job Title at Past Company)


Current Software Engineers or Developers at Amazon + Formerly a Software Engineer at Microsoft

Three-of-a-Kind –

(Past Job Title 1 at Past Company 1) OR (Past Job Title 1 at Past Company 2) OR (Past Job Title 1 at Past Company 3)


Formerly a Java Developer at Apple OR Google OR Meta

Straight –

(Current Job Title) + (Past Job Title 1 at Past Company) AND (Past Job Title 2 at Past Company)


Current Engineering Managers + Formerly a Software Engineer at Microsoft AND Formerly Software Engineer II at Microsoft

Full House –

(Current Job Title at Current Company) + (Past Job Title 1 at Past Company) OR (Past Job Title 2 at Past Company) OR (Past Job Title 3 at Past Company)

Current Software Engineers OR Developers at Google who were formerly a Software Engineer at Microsoft OR a Developer at Microsoft OR an SDE at Microsoft

Straight Flush –

(Current Company) + (Past Title 1 at Current Company) AND (Past Title 2 at Current Company) AND (Past Title 3 at Current Company)


Currently at Microsoft and has been an Engineer, Engineer II, and a Manager (all at Microsoft)

For using Linkedin Recruiter, Sales Navigator, or Recruiter lite, follow the same pattern as with basic.  The advantage is you will not have such strict limits on the size of your OR strings.

You can also do this search via Google X-Ray.  One advantage to using X-Ray is that you can use specific date ranges too at specific companies with specific titles:

  1. Past Company with Specific Date Range

i.e., worked at Amazon between 2014-2016 but does not currently work for Amazon “Amazon graphic” “amazon * * jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec 2014..2016” -intitle:Amazon -inanchor:Amazon

  1. Past Company with Specific Date Range + Past Title @ Past Company during Specific Date Range

i.e., formerly worked at Amazon as an Area Manager between 2014-2016 and does not currently work for Amazon “Amazon graphic” “Area Manager amazon * * jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec 2014..2016” -intitle:Amazon -inanchor:Amazon

  1. Current Job Title + Current Company + Past Company with Specific Date Range + Past Title with Specific Date Range @ Past Company

i.e., a Manager at Walmart who used to be an Area Manager at Amazon between 2014-2021 (inanchor:Walmart | intitle:Walmart) (inanchor:manager | intitle:manager) “amazon graphic” “Area Manager Amazon * * jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec 2014..2021” -intitle:Amazon -inanchor:Amazon

Be creative and enjoy!



Sourcing Mathematica in Closed Networks

booleanstrings Boolean Leave a Comment

I want to share my experience sourcing a Mathematica Engineer (Palo Alto) on Reddit, Discord, and a professional forum. I followed advice from Wim Dammans and Erin Mathew, who are experts in this sort of sourcing.

Here is what I learned. Mathematica Engineers working outside of Wolfram’s Mathematica are rare primarily because it is expensive and not open-source software (here is another “closed” in the scenario!) Our client does not require their customers to purchase Mathematica; they do calculations on their server. Mathematica is widely used at universities; our candidates were likely to be recent grads in CS or any sciences.

LinkedIn search returned little, so I explored “closed” channels.

Knowing the unfortunate perception that “recruiters are spammers,” I started asking on the relevant Reddit forum, where could I post such a job? I also included a link to my LinkedIn profile, as Wim teaches us. Reddit hides personalities and revealing who I am was to reassure people. Also, I could check who viewed my profile. The channel moderator asked for details which I happily shared by editing the job link into my post.

Sharing a similar message on an internal Mathematica forum received a warm welcome. The long-time site admin contacted me and no less than helped enhance the job post and my profile. (I also tried to aggregate user profiles, but the details were too slim to identify potential candidates.)

Going to Discord, I felt bold and posted the job upfront, receiving a positive reaction.

Though the search initially seemed hopeless, we now have two people in the next interview stages. (Knock on wood!)

Join us this week for a fully updated 90-minute class

How to Find and Attract Tech Talent

on Wednesday, November 30th.

LinkedIn Software Crisis (a Summary)

booleanstrings Boolean 5 Comments

A few days ago, many functions on LinkedIn broke for several hours (you can always – and hopefully will be able to – check on Twitter whether something is going on globally). LinkedIn mostly got it back together to the previous state. This post is about what remains broken. A lot, unfortunately – I don’t think it has been that bad before.

I do not know of workarounds for some of these problems. Whether you use a business account or LinkedIn Recruiter, incorporate X-Ray into your sourcing. Google’s search is reliable. And back up your data.

Broken Functions

The Strange Numbers in LinkedIn Recruiter

[update: fixed, as a result of this post!!!]
  • As of today, LinkedIn Recruiter shows 1.4B+ total members, a jump from the recent 1B+ and unexplained discrepancy with, which comes up with under 900M.
  • LinkedIn Recruiter finds 620M+ people without locations, a jump from 84K+. Some of them do have locations, though, and shouldn’t be found.

  • On the other hand, searching for these locations gives us 25 members – I think there should be more:


  • LinkedIn Recruiter finds 1B+ people without years of experience. I have no idea how this happens. Two weeks ago it found 600M+.
  • Both LinkedIn and Recruiter will incorrectly miss 910M+ (i.e., 65%) profiles if you search by Industry.

The above is not a complete list of misbehaving functions; I could go on. The broken filter functions and strange numbers in Recruiter are new.
It is a shame since we, as well as job seekers and clients, are affected by the site’s health.

I have made multiple attempts to report problems to Customer Support. It has not made a difference. I am hoping to find another channel of communication. [Edited: since posting, I have heard from two managers at LinkedIn and am hopeful.]

This post is to bring some awareness to the state of things. If you see something unexpected on LinkedIn, it is likely not you (and please share what you observe).

X-Ray, I say!

Deviations from Boolean

booleanstrings Boolean Leave a Comment

Is Boolean (newly) broken? First, let us make it clear what we mean by the question. There are:

  1. Google Boolean search
  2. Google search
  3. LinkedIn Boolean search
  4. LinkedIn search.

Out of the four, two are intentionally “broken,” and one is broken due to bugs. One works fine, but produces unexpected numbers – and lists – of results – something that has started to happen only recently. (Let me know if you need info on which is which.)

Formal Boolean search logic has been intentionally “altered” on both Google and LinkedIn for a long time (the image here is a joke.) Google gives us some control over making a search “strictly” Boolean via quotes and Verbatim. LinkedIn does not.

But Boolean deviation is not a problem if implemented well. On Google, you can benefit from its semantic algorithms when you search as everybody, i.e., to find one good answer. We all “Google” when sourcing and exploring relevant companies, job titles, associations, etc. in the Exploratory part of our jobs. These are short “questions,” easily fitting under Google’s limit of 32 keywords.

What is new on Google, is that if, unlike most humans, you are after getting as many results as possible, you need to play some games and combine results. Rephrasing a query in a formally equal, but differently expressed Boolean Strings generates widely varying results and their numbers. Even a Google Search Engineer found some search strings to return “odd results” in my post.

The reason Google returns such different results to similar queries is that our queries are of a rare, “restrictive,” kind. Google’s attention – both in the ways Engineers develop algorithms and Google AI teaches itself by watching everyone’s reaction to results – is targeted at the vast majority of population that just “Googles” and hopes to see one correct answer. We had an informal chat about this on Recruiting Brainfood last week.

I am guessing with the reasons being:

  1. The growing amount of data in Google’s Index making its fast response harder
  2. A desire to return some results if at all possible and knowing that most want only one or a few results,

Google regularly restricts numbers of results to small percentages of matching results. It picks results rather randomly when you switch or repeat keywords, mainly because it has not been trained on such “weird” requests. It never returns more than 300-400 results (which means that its displayed numbers of results mean nothing. It never did; back in 2010 we still saw up to 1,000, but no longer). However, as of recently, some queries return more (close to 400) or fewer (less than 100) results after seemingly “cosmetic” tweaks. Google stops when it “feels” it has made “enough” effort on your query.

Consequently, silly things like repeating keywords, putting some of them in quotes, or excluding non-existent keywords make Google “grab” different results that sometimes overlap very little – to our advantage. By scraping and combining records, you can beat up all the limits and get lists of over 1,000. It is similar to a spy or a thief scanning a dark room with a flashlight and getting a fuller picture.

Another effect: because Google wants to make you happy, it will trigger its semantic components, interpreting your search if it finds few exact matches. It differs from before in how much effort Google puts into varying your terms. The more keywords you add, the more extensive range of similar words you are likely to see. Google will usually initially try to make it work with one variation, like owner as a synonym for manager. If you exclude that, it will try to vary something else until it feels that you have been served. It used to be more generous with synonyms before 🙂

Quite a different story, LinkedIn personal people search is broken, and you need to know how.

Join me this Thursday for a brand-new class,

Search Is No Longer Boolean,

where I will review the specifics of the Search Universe changes, demonstrate examples, and discuss search strategies.



The Shallowest Deep Web Where Hackerranker Lives

booleanstrings Boolean Leave a Comment

Search Engines like Google index pages on the Surface Web, i.e. (roughly speaking) pages that do not require a login.

Not all of those pages are indexed. Sites can tell Google not to index parts of them. The mechanism is via robots.txt files or <meta> directives on individual pages. Even though you can view those pages in incognito, you won’t find them via X-Raying.

One example is Airtable, suggested by Alla Pavlova. There are multiple contact lists of laid-off people or conference attendees, yet finds none.

Another example is Hackerrank, covered by Balazs. (In the case of Hackerrank, they have introduced those <meta> directives on every profile.)

There are two ways to discover these pages. These pages are not as “deeply” hidden as some other parts of the web, and you can sort of X-Ray for them.

1. Search on Social Networks. (No directives exist in HTML preventing links from being shared!)


Play some keyword games to eliminate irrelevant pages from Airtable (such as documentation).

You can continue with sites like Reddit, Discord, etc. “Closed networks” often hide their users’ professional backgrounds, along with their names. But “shared information” describes most of the popular posted content.

Note, though, that you can search for the words surrounding links to pages but not the page’s content. So the search needs to have those “description” or “comment” keywords – what the link is about: contact lists, attendees, events, directories, etc. In this way, it is similar to intitle: and inanchor: searches. It invites searching with “natural language” since it is likely someone’s comments on the document in addition to sharing its title and URL.

2. Apply the same logic to Google search. Look for pages with links to sites like Airtable or Hackerrank – accordingly, with words describing those links.

Example: “” tech layoffs.

These discoverable and viewable sites are “the Shallow Part of the Deep Web.”

For an update on Google search algorithm, check out the brand-new class on Thursday, November 17th,

Search Is No Longer Boolean.


Boolean Search Is Dead

booleanstrings Boolean Leave a Comment

Google search strings are often called Boolean Strings. But do you think Google search is Boolean? It is not. Neither is LinkedIn’s, despite what their help says. Both platforms apply semantic algorithms, trying to guess the searcher’s intent; one – successfully, the other – poorly, introducing bugs while at it. Both platforms break the formal Boolean rules.

You can see that the Boolean logic is broken with these simple examples, which “should” return no results, yet they do because of the interpretation:

You may want to rely on Google’s interpretation in cases like researching target companies or associations (etc.). That is a “question to Google,” like top retail companies in china or common hispanic last names, looking for one or a few “right” answers – like most people do. That is what the verb “google” implies. Where you need to apply control to eliminate some false positives, you can put single keywords in quotes, and Google will not vary them.

However, relying on one Google search is a bad idea if you are after as many matching results as possible.

1, You want to modify your search to let Google know your search is “restrictive,” which may produce many more results.

2. Modifying the search without changing its Boolean logic leads to different results! These changes will get different results and their numbers:

People – Researchers, Sourcers – like us – who want to get lots of results, for example, from an X-Ray,  are not on Google Developers’ radar since we are in the minority. From experiments and a nod from Google’s team, we should be playing “non-Boolean” games and combining results from seemingly equivalent searches. Some automation may come in handy.

Why are we still seeing mile-long OR strings on Google in posts? For a while now, using ORs on Google has been reducing search results. Compare searching for each term in turn and combining results with a search with ORs for any list of words, and you will see. Say NO or ORs.

LinkedIn is another matter.

LinkedIn is a different – and sad – story. Its premium search is buggy – it won’t find some members through keyword searches for words in their Headlines, About, and Job Descriptions. We have not been able to decipher what it does – it just seems random.

LinkedIn Job Search is broken in strange ways.

What are LinkedIn Developers doing? @LinkedIn, we can help you find good ones. Perhaps QA Engineers as well.

LinkedIn Recruiter search is unintuitive, but you can use it well.

When sourcing, you also need to be aware of how restrictive LinkedIn/Recruiter filters can be. When you use standard filters, you are down to searching among 18% of LinkedIn members.

X-Ray, it turns out, is an excellent alternative to Recruiter.

In practice, “broken Boolean” means that we should be smart and combine controlled Boolean and open-ended semantic searches to reach our goals.

I am preparing a webinar on the topic outlining what exactly happens with the Boolean rules and how to take advantage of our algorithm understanding; watch our announcements. In the meantime, join the popular, updated, Find Anyone’s Contact Info on November 9th.

Explore our Sourcing Training Library.

My friend, a philosopher and community leader Hung Lee and me will have an informal chat on the “Boolean Is Dead” topic on November 11th. Join us!


Hide-and-Seek Profiles

booleanstrings Boolean Leave a Comment

As my friend Master Sourcer Marcel van der Meer demonstrates, 84 MLN LinkedIn members will not be found by locations.

We also know from test searches that:

  • ~45-60% members are not found by Seniority, Function, Company Size, and other LinkedIn-calculated filters
  • ~600 MLN members cannot be found by years of experience.

People join LinkedIn to be visible and be found. What percent of members succeed with that? Marcel’s post has prompted me to run a test search on LinkedIn Recruiter, selecting all these values:

  • Locations (all continents except Antarctica; adding the latter results in seeing just 25 Software Engineers, which is a bug, right?)
  • Seniority (all values)
  • Function (all values)
  • Company Sizes (all values)
  • Company Types (all values)
  • Years of experience from 0 to 100

(I could have also selected levels of connections and industries, reducing the results further, but that crashes Recruiter.)



  • 18% (or fewer) members are found by the search filters
    • 42% of them are women
    • 24% of them are open to work
  • 82% members (or more) are hidden when you use these search filters.

Unknowingly, 82% members play hide-and-seek and miss opportunities. How does that happen? There are two main reasons for profiles to disappear from search:

  1. Data is absent on the profile. Some people have missing locations, years of work, etc.
  2. LinkedIn does not understand the data (such as job titles). It happens with Seniority, Function, and other filters. — Using standard language will put you back on the map.

I doubt Marcel and I can reach the invisible 820 MLN members prompting them to get on the radar by entering info that LinkedIn algorithms recognize. (Reaching LinkedIn asking to fix search deficiencies is just as hard.)

But if you are reading this, please share with your peers, and check out how to be found. Also, do not search for work on LinkedIn – use Google instead.


LinkedIn Job Search Is Haunted

booleanstrings Boolean 1 Comment

Happy Halloween! I’ll just leave this here. If anyone can make sense of what LinkedIn Job Search does in the two screenshots below, please get in touch. (As with people search, I have no idea. LinkedIn Developers have started to write code in mysterious ways.)

(I doubt there is anything underlying here like in the Google case with quotes. It is a coincidence that quotes add results in both observed cases.)

The conclusion for now is – do not trust the job search function. If you want to search for a job on LinkedIn, do so via Google, like intitle:accountant houston tx cpa

Note that even if they fix the LinkedIn Job Search Dialog algorithm, it does not let you to search by job title, while Google does – put the desired role keywords under the intitle: operator.


Who Needs LinkedIn Recruiter? X-Ray vs. LinkedIn Search Comparison Chart

booleanstrings Boolean 11 Comments LinkedIn Recruiter Google X-Ray (finds public profiles) Google Example
Name Y Y intitle:<name> intitle:”phil tusing”
Current Job Title Y (false positives) Y (false positives) Y – intitle:<title> intitle:”executive assistant”
Current Company Y (false positives) Y (false positives) Y – intitle:<company> intitle:seekout
Last Company (even if left) N N Y – inanchor:<company> inanchor:”morgan stanley”
Last School N N Y – inanchor:<school> inanchor:ucla
Headline N Y – headline: secret operator Y – inanchor:<headline> inanchor:”open to work”
Summary N Y – summary: secret operator N
Current Job Title Y Y Y intitle:machinist
Last Job Title  (even if left) N N Y – inanchor:title inanchor:”truck driver”
Job descriptions N N Y (by keywords) “scaled up” start-up cloud bay area
Self-Entered Skills Y – in Company Employees and School Alums search Y – skills: secret operator N
Skills and Assessments N Y but works almost like keywords
Past Company Y Y Y (by keywords) -intitle:chevron inanchor:chevron
Past Job Locations N N Y (by keywords) “united kingdom” canada AROUND(3) present
Past Job – <title at company> N N Y – use AROUND(X) “CFO” CFO AROUND(3) google
YOE N Y (but rounded) N
True Years at Company N Y (but rounded) Y – with AROUND(X) or Asterisks “present” “present” AROUND “2..6 years” operations manager
Years in Position N Y (but rounded) N
Current Location Y – by Area  Name Y by Area  Name or Zip/Radius Y – by Area  Name present AROUND(3) “greater new york” operations manager “new york”
Profile in Language Y Y Y – secondary profiles end in /<lg> – 2-letter country abbreviation*/fr
Spoken Languages N Y Y – approximate “Native or bilingual proficiency” tagalog
Function (calculated) N Y N
Seniority (calculated) N Y N
Company Type (calculated) N Y (calculated) N
Company Size (calculated) N Y N
School Y (Boolean) Y (selection only) Y (by keywords) “school of arts and enterprise” -intitle:”school of arts”
Last School N N Y – inanchor:<school> scientist inanchor:sorbonne “sorbonne”
Field of study N Y Y (by keywords) “quantum physics” university Phd
Industry Y Y Y (imprecise) “environmental services”
Years of study N (but see school alumni search) Y (but not tied to a school) N
Degree N Y (but may be incomplete) N
Grades at School N N Y (by keywords) GPA AROUND(3) “4.0” accounting
Other accomplishments N N Y (by keywords)
Recommendations N N Y (by keywords)
Open to Work Status N Y N
Network Relationships Y (buggy) Y (buggy) N
Followers of Y N N
Connections Of Y N N
Group Member N Y N
Open to Volunteering Y N N
Service categories Y N Y (some)

Note: search is currently broken.

To generate target public profile lists in Excel by precise search, use our tool Social List (trial, subscription).

Advanced Sourcing School and #CPSP Exam & Catch Up on the News

booleanstrings Boolean Leave a Comment

Hello Sourcers and Recruiters:

On October 25th, 2022, we are launching our most substantial live training program for Recruiters yet,

Advanced Sourcing School and CPSP Exam,

and you are invited! As hands-on Sourcers working across industries and globally, we share proven sourcing methods. Subscribers are eligible, so if you are into sourcing, consider subscribing. The School is a way to “learn it all” in less than two weeks, prove yourself by taking the certification exam, and keep the materials for future reference. Only a few seats are left. Please reach out if you have any questions. Oh, and here’s a Q&A.

Using a premium account on LinkedIn? Unfortunately, the search is broken. Consider upgrading or X-Raying. 😉

Googling? I have run into something interesting – The Behavior of the Quotes (Google Search Report). Luckily, we got unique insights from Google’s Danny Sullivan (we are told that Google’s team “had a lively discussion” over the findings, lol). It turns out that when you Google, the search engine assesses your string and gives you different results based on whether it “senses” an “open-ended” or “restrictive” search. There is still a lot of mystery left – let us explore it! This discussion affects those who want to see as many results as possible for a search.

Join our FB group for questions, answers, and shares.

Happy Sourcing!