outricher/data platform case
Delivery case study · Engineering talent search · April 2026
Two boolean strings in, two independent talent maps out.
A recruiter sent us two raw boolean strings and one line of context: Bay Area, open-source contributors preferred. We ran the same brief through two inverse sourcing strategies in a single day and delivered 21,713 candidates across both — each one carrying its full record, its provenance, and the exact reason it was selected.
candidates delivered
fields per profile
rank-ordered for outreach
brief to handoff
delivery case · executed 2026-04-26 · MEASURED · Outricher data · figures reproduced from the frozen delivery artifacts
Shipped
Two delivery packages, one brief
Track 1 anchored on public open-source activity (2,088 candidates, 13-sheet workbook). Track 2 anchored on professional career history (19,625 candidates, 12-sheet workbook + three ranked outreach waves). Both frozen, reproducible, and shipped with full methodology.
candidates · 25 double-confirmed by both methods
Delivered as xlsx + csv + lossless jsonl, plus per-segment cuts and a written delivery report.
Run this brief again →01 · The brief
What the client actually sent
Not a spec. Two boolean strings a recruiter had been pasting into search boxes, plus a hunch about open source.
("Kafka" OR "streaming" OR "event-driven")
AND ("distributed systems" OR "data platform")
AND (Java OR Scala)
— for the Bay Area, San Jose
— someone who contributes to open source would be the ideal candidate
"Query processing" OR "query optimization" OR "optimizer" OR "compiler"
OR "distributed database" OR "query engine" OR "OLAP" OR "OLTP"
OR "transactional processing" OR "analytical processing"
— folks who contribute to Apache Flink, Trino, Spark, Hive are a great place to look
The gap between a boolean string and a candidate listA boolean string says which words to match. It does not say what a good candidate looks like, how wide "Bay Area" is, whether the client's own current employees should appear, or what happens when the ideal person has none of those words in their headline. Everything below is that gap, closed explicitly.
02 · Decoding
How we decoded the brief
The two strings describe two different engineers. We split them and tracked each candidate against both shapes independently, so the recruiter can filter by shape rather than by keyword luck.
Shape S
Streaming
- Signals: Kafka, Flink, Pulsar, Kinesis, Beam, Spark Streaming, Samza, NiFi
- Concepts: distributed systems, data platform, real-time, stream processing, exactly-once, CDC
- Language gate: Java or Scala primary
Shape Q
Query engine
- Signals: Trino, Presto, Hive, Spark SQL, ClickHouse, DuckDB, Druid, Pinot, Calcite, Iceberg, Velox, Substrait
- Concepts: query optimization, execution engine, OLAP, OLTP, MPP, columnar, vectorization
- Language gate: Java/Scala, C++ as engine-internals signal
Both shapes
Shared gates
- Geography: 21 normalized city patterns, not the literal string "Bay Area"
- Client exclusion: current employees dropped before scoring; past employees kept and flagged
- Hygiene: bot accounts, org accounts, corrupt names filtered
Decisions we made and wrote down
Decision 01
Bay Area is 21 patterns, not one
San Jose, Palo Alto, Mountain View, Sunnyvale, Cupertino, Santa Clara, Redwood City, Menlo Park, Los Altos, Saratoga, Campbell, Milpitas, Fremont, San Francisco, Oakland, Berkeley, Emeryville, San Mateo, Foster City, Burlingame, plus the canonical "Bay Area" string.
A literal match would have dropped roughly two-thirds of the population.
Decision 02
Open source is a weight, not a wall
The brief called OSS contributors "ideal", not mandatory. Track 1 gates on it hard; Track 2 keeps it as a scoring overlay. Apache contribution carries a +5 golden bonus and lives in its own sheet.
Gating both tracks on OSS would have hidden the majority of the market.
Decision 03
Managers score lower than ICs
The brief targets people who commit code. Title seniority scoring puts Staff/Principal/Distinguished at the top, Senior next, and managers deliberately below individual contributors.
Recruiters can invert this in one filter if they want the leadership cut.
Decision 04
Past-client stays, flagged
Boomerang candidates carry a past_client column and a −3 score penalty rather than exclusion. 165 of them in the professional-profile track.
Whether a boomerang is a warm lead or a closed door is the recruiter's call, not ours.
03 · Track 1
Anchored on public open-source activity
Start from who is visibly writing JVM code in the Bay Area, then resolve their professional identity. This is the track that answers "who actually commits", and it is the harder direction.
Bars are drawn to the scale of the 2,092 who passed the evidence gate. The first row is the full scanned population, 70× wider than the chart — shown grey, off scale.
The identity bridge — the single most valuable thing we built here
A public code handle is not a person you can contact. Our first bridge resolved 273 of 2,088. We then built two more independent channels and lifted that to 714 — a 3.3× gain on the same frozen pool, with the confidence of each match written onto the row.
| Channel | Method | Confidence | Resolved |
|---|---|---|---|
| Canonical mapping | Direct code-host URL present on the professional record | high | 270 |
| Verified handle match | Same handle on both sides, confirmed by name-token overlap + country | high after verification | 407 |
| Name + employer | First name + last name + current company cross-match | medium | 37 |
| Unresolved | Public code identity only — reachable via repo, blog or handle | code-only | 1,374 |
Why it matters commerciallyEvery row carries match_method. A recruiter who only trusts canonical matches filters to 270 and loses nothing; one who wants volume takes all 714 and knows exactly which 37 are the soft ones. We never blend confidence levels into a single opaque list.
What shipped
2,088 candidates · 134 unique fields · four bands · 13 workbook sheets.
| Band | Rows | What it is |
|---|---|---|
| A — top picks | 17 | Highest score with verified profile, email and full career history |
| B — strong | 80 | Strong score with verified profile or email, fully enriched |
| C — actionable | 384 | At least one outreach channel resolved |
| D — code-only reserve | 1,607 | Active engineers reachable through repo, blog or handle |
| Apache committers | 11 | Confirmed contributions to Flink, Spark, Hive, Kafka, Calcite, Iceberg, Druid, Pinot, Arrow, Beam, Airflow, Trino, Presto, ClickHouse |
04 · Track 2
Anchored on professional career history
The inverse strategy, run on the same brief in parallel. Most data-platform engineers do not ship public code; this track finds them, then overlays open-source signal where it exists.
candidates, 122 fields each, 77 distinct Bay Area employers — sourced from career history rather than public commits.
have an email
carry company funding context
fully enriched career history
have a phone number
Three ranked outreach waves, not one undifferentiated pile
Tier tells you fit. Actionability tells you who to email on Monday morning. We combined fit, reachability, enrichment depth, company context and employer category into a single rank and cut it into three waves.
| Wave | Size | Composition | Use |
|---|---|---|---|
| Top A — most actionable | 300 | 100% have email, 100% full career history, 99% company funding context, 78% currently at a named competitor, 21% at FAANG | Day-one outreach |
| Top B — strong wave | 1,000 | Next by actionability score | Second wave |
| Top C — broader | 2,000 | Wider but still qualified | Volume campaigns |
| Tier D — reserve | 3,592 | Sampled, augmented, not yet enriched | Follow-up batches on demand |
Company context on 91% of the pool
Every candidate's employer was overlaid with funding total, last round, IPO status, category tags and a momentum score — so the recruiter can build the pitch before opening a second tab.
What this unlocks in practice"Staff+ engineer at a public competitor with vested equity" and "Staff+ engineer at a high-momentum private company with unvested equity" are two completely different conversations — and two filters on the same sheet.
05 · The compounding part
Why running both tracks was worth it
The two tracks were not redundant. They disagree, and the disagreement is the finding.
| Dimension | Open-source anchored | Career anchored |
|---|---|---|
| Pool delivered | 2,088 | 19,625 |
| Proof of hands-on skill | Direct — public commits | Inferred from title and history |
| Career depth | 34% resolved | 100% by construction |
| Email reach | 27.1% | 70.7% |
| Company funding context | — | 91.0% |
| Overlap between tracks | 25 candidates appear in both — found twice, by two unrelated methods | |
Those 25 are the highest-conviction names in the whole delivery.
They write public JVM code in the Bay Area and hold a matching senior data-platform role. No single-source search surfaces that set — it only exists because two independent searches agreed.
06 · Inside the pool
What the data shows
A look inside the delivered pool. Every figure below is measured on the frozen delivery artifacts — not estimated, not extrapolated.
Where the career-track candidates work today
Top 8 of 77 distinct Bay Area employers across 19,625 candidates. The pool concentrates exactly where data-platform talent concentrates.
currently at a FAANG company
currently at a named competitor
rows with a verified email
rows with a salary estimate
The two search strings, measured across the poolEvery career-track candidate is classified against both engineer shapes: 14,574 match the streaming / data-platform string (Shape S), 2,940 match the query-engine string (Shape Q), and 2,111 match both — the rarest and most valuable overlap. Where career history allows the measurement, average tenure in data-platform work is 14.6 years. On the open-source track, the 11 confirmed Apache contributors span nine projects: Beam, Arrow, Spark, Kafka, Flink, Calcite, Hive, Airflow and Presto — precisely the ecosystems the recruiter named.
07 · The package
What the client received
Not a CSV dump. A package that survives being opened six months later by someone who was not in the kickoff call.
The data, in three lossless formats. Multi-sheet workbook for humans, flat CSV for CRM import, compressed line-delimited JSON for pipelines. Same superset of fields in all three — nothing is trimmed between formats.
Pre-cut segments. Bands and tiers, Shape S and Shape Q specialists, Apache committers, has-email, has-phone, currently-at-competitor, Staff+, past-client boomerangs, cross-track overlap. Each one a separate file, so slicing needs no filtering.
A written delivery report. Selection criteria, the full scoring model with point values, bridge-channel confidence breakdown, coverage statistics, and an honest caveats section.
The expansion map. Six named levers with the volume each one adds, ranked by recall gain against precision cost — so "we need more" is a filter change, not a new project.
The frozen source pool and the scripts. Every number in the report is reproducible from the artifacts shipped alongside it.
See the shape before you buy
The field dictionary, downloadable
Every field that ships with a candidate, what it means, its type, and how often it is actually populated — measured on the real delivery, not promised. The example record carries the identical structure with invented values. Real candidate records are not published here: the delivery contains named people with contact details, and that is the product.
134 fields · fill rates measured on the 2,088 shipped records
CSV
field-dictionary.csv
134 rows — field, group, type, fill rate, description
134 fieldsDownload ↓
JSON
field-dictionary.json
the same dictionary, machine-readable
134 fieldsDownload ↓
JSON
example-profile.json
one fully-shaped record — synthetic values, real schema
syntheticDownload ↓
Fill rates: 33 fields populated on every record · 3 on 50–99% · 94 sparse by nature (patents, awards, phones) · 4 empty for this brief. Nothing is trimmed between formats — the CSV, the workbook and the JSONL carry the same superset.
08 · Expansion
How to go wider — the levers, priced in advance
Each of these is a re-rank or re-filter against the frozen pool. No re-sourcing, no new project.
| Lever | Adds roughly | Cost to precision |
|---|---|---|
| Lower the score floor | Promotes reserve bands into actionable ones | none — re-rank only |
| Enrich the reserve tier | +3,600 with full career history | none |
| Widen recency 18 → 24/36 months | Engineers who pivoted languages since 2023 | mild |
| Add adjacent languages (Kotlin, Rust, Go) | Client libraries, Rust query engines | mild |
| Scan 500–1,000 employers instead of 100 | +5,000–10,000 matches | mild |
| Open geography to US tech hubs | Seattle, NYC, Boston, Austin, Denver | relocation required |
09 · Caveats
What we would tell the client without being asked
The caveats section exists in every delivery report we ship. This one is quoted from the original.
The open-source funnel is narrower than it looks. 1.4% of Bay Area developers own a recent non-fork JVM repo — far below our own pre-run estimate. Owning a repository and contributing to one are different things; a prolific Spark contributor may own nothing.
Bands C and D are sampled, not enriched. They carry identity and signal, not full career history. That is a deliberate cost decision, stated on the row, not a data gap discovered later.
The full open-source contributor sweep timed out on the career-anchored track. Its open-source confirmation comes from cross-track overlap only — 25 candidates, not an exhaustive sweep — and the standalone Apache flag on that track is left empty. Marked as deferred rather than quietly presented as complete.
Nineteen rows have truncated surnames as they exist in the source. We kept them rather than inventing the missing characters. We never fabricate a field to make a coverage number look better.
10 · Next role
Running this brief for another role
The pattern generalizes to any senior technical search where hands-on evidence matters more than a job title: infrastructure, compilers, distributed databases, ML systems, security engineering.
What we need from you
The boolean strings or role description you already use, the geography, the companies to exclude, and one sentence on what "ideal" means.
What we return
Two independent candidate maps, ranked outreach waves, full records, and the expansion levers priced in advance.