Boolean search is still the fastest free way to cut a huge candidate pool down to something you can act on. Most recruiter Boolean strings fail because they are either too clever or too vague — not because the operators stopped working.
This guide covers the operators that matter, copy-paste patterns for engineering roles, and where Boolean search hits a wall.
The operators you actually need
| Operator | Meaning | Example |
|---|---|---|
AND | Both terms required | python AND django |
OR | Either term | react OR "react.js" |
NOT / - | Exclude | java NOT javascript |
"quotes" | Exact phrase | "staff engineer" |
() | Group logic | (go OR golang) AND kubernetes |
site: | Limit to a domain (Google) | site:github.com |
intitle: | Words in the page title | intitle:resume python |
Most tools accept the same core set. LinkedIn Recruiter, Google and GitHub each have quirks — covered below.
LinkedIn Boolean that works for engineers
LinkedIn’s search is noisy because titles are invented. Prefer skills and past employers over exact titles.
("software engineer" OR "software developer" OR "backend engineer")
AND (python OR django OR fastapi)
AND NOT (intern OR student OR "looking for internship")
For a senior hire:
("senior software engineer" OR "staff engineer" OR "principal engineer")
AND (typescript OR "node.js")
AND (aws OR gcp OR kubernetes)
Tips that save hours:
- Put alternate spellings in an
ORgroup:(react OR "react.js" OR reactjs). - Exclude agencies and job posts with
NOT ("we're hiring" OR "open role" OR recruiter). - Location filters in the UI are more reliable than typing city names into Boolean.
Google X-ray for profiles LinkedIn misses
X-ray means searching a site through Google, which often returns cleaner results than the site’s own search.
GitHub users:
site:github.com "senior engineer" python location poland -inurl:repositories
Personal sites and portfolios:
site:*.dev ("software engineer" OR "backend engineer") (golang OR go) -jobs
Resumes on the open web (use carefully, and respect privacy norms):
intitle:resume OR intitle:cv ("software engineer") (rust OR golang) filetype:pdf
Conference speakers — chronically underused:
"speaker" "kubernetes" (2024 OR 2025 OR 2026) conference -site:linkedin.com
GitHub’s own search syntax
GitHub user search is more structured. Useful operators:
language:typescript location:berlin followers:>50 repos:>15 type:user
language:rust created:<2019-01-01 location:portugal type:user
Limits to know:
- Results cap at 1,000. Split with
created:ranges. location:is free text — run "Berlin", "Berlin, Germany" and "🇩🇪 Berlin" separately.- There is no "contributed in the last six months" filter. That is the biggest gap versus a dedicated index.
Full walkthrough: GitHub sourcing guide.
A reusable engineering Boolean template
Swap the bracketed parts:
("[title1]" OR "[title2]" OR "[title3]")
AND ([skill1] OR [skill2] OR "[skill alias]")
AND ([cloud] OR [framework])
AND NOT (intern OR student OR "bootcamp graduate" OR recruiter)
Example for a mid-level React hire:
("frontend engineer" OR "software engineer" OR "web developer")
AND (react OR "react.js" OR next.js)
AND (typescript OR javascript)
AND NOT (intern OR student OR recruiter)
Where Boolean search stops being enough
No activity filter on LinkedIn or GitHub user search for “committed recently.” You will email people who left engineering two years ago.
No dedupe across sources. The same person appears under three identities.
Location spelling multiplies work. Every country and city needs variants.
Contact lookup is still manual. A shortlist is not an inbox.
When you hit those walls, a tool that indexes activity directly — like filtering the same public data with recency and country — is usually faster than inventing more clever Boolean.
A one-hour workflow
- Write one Boolean string for LinkedIn and one X-ray for GitHub.
- Save 30 plausible profiles with a note on why each looked interesting.
- Cut to 15 after two minutes on each person’s best repository or recent role.
- Find emails; write individually. Twenty specific messages beat two hundred generic ones.
For the free end-to-end version of this workflow, see How to Source Developers for Free.
