feat: match agentic, llm, fde and palantir foundry roles

This commit is contained in:
2026-10-06 15:17:17 +02:00
parent 01dd3861b6
commit ab659008e6
3 changed files with 12 additions and 2 deletions
+2
View File
@@ -23,6 +23,7 @@ export const KEYWORDS = [
"Backend Engineer", "Backend Engineer",
"Data Engineer", "Data Engineer",
"AI Engineer", "AI Engineer",
"Agentic",
"Applications Engineer", "Applications Engineer",
"Platform Engineer", "Platform Engineer",
"DevOps Engineer", "DevOps Engineer",
@@ -84,6 +85,7 @@ export const RESEARCH_KEYWORDS = [
/** Customer-facing and early-stage product roles — the consulting lane. */ /** Customer-facing and early-stage product roles — the consulting lane. */
export const FIELD_KEYWORDS = [ export const FIELD_KEYWORDS = [
"Forward Deployed Engineer", "Forward Deployed Engineer",
"Palantir Foundry",
"Field Engineer", "Field Engineer",
"Customer Engineer", "Customer Engineer",
"Sales Engineer", "Sales Engineer",
+1 -1
View File
@@ -161,7 +161,7 @@ export const BIO_DOMAIN_RE = new RegExp(
"i" "i"
); );
export const SOFTWARE_TITLE_RE = /\b(software|developer|architect|devops|devsecops|platform|data|backend|frontend|fullstack|full.stack|tech\s*lead|technical|typescript|python|rails|node\.?js|ai\b|machine\s*learning|cloud|security|analytics|sre|reliability|infrastructure|mlops|solutions?|consultant|applications?\s*engineer|system[\s-]*engineer|informatics|scientific\s*(?:software|comput\w*|programmer)|research\s*(?:software|engineer)|hpc|forward\s*deployed|field\s*engineer|customer\s*engineer|sales\s*engineer|pre.?sales|integration\s*engineer|api\s*engineer|founding\s*engineer|product\s*engineer|automation\s*engineer|director|product\s*manager|engineering\s*manager|it\s*manager|it\s*project|staff\s*engineer|principal\s*engineer|cto|vp\s*eng)\b/i; export const SOFTWARE_TITLE_RE = /\b(software|developer|architect|devops|devsecops|platform|data|backend|frontend|fullstack|full.stack|tech\s*lead|technical|typescript|python|rails|node\.?js|ai\b|agentic|llm|machine\s*learning|cloud|security|analytics|sre|reliability|infrastructure|mlops|solutions?|consultant|applications?\s*engineer|system[\s-]*engineer|informatics|scientific\s*(?:software|comput\w*|programmer)|research\s*(?:software|engineer)|hpc|forward\s*deployed|fde|palantir|field\s*engineer|customer\s*engineer|sales\s*engineer|pre.?sales|integration\s*engineer|api\s*engineer|founding\s*engineer|product\s*engineer|automation\s*engineer|director|product\s*manager|engineering\s*manager|it\s*manager|it\s*project|staff\s*engineer|principal\s*engineer|cto|vp\s*eng)\b/i;
const DE_CONTENT_RE = /\b(Sie|Ihre?|Ihnen|Wir|wir|und\s|für|mit\s|von\s|bei\s|das\s|ist\s|sind\s|haben\s|werden\s|können|suchen|bieten|Kenntnisse|Erfahrung|Anforderungen|Aufgaben|Stellenbeschreibung|Stellenangebot|Bewerbung|Ausbildung|Berufserfahrung|Teamarbeit|Vollzeit|Teilzeit|unbefristet|Abschluss|gesucht|Deutsch|Englisch|Schweizer)\b/g; const DE_CONTENT_RE = /\b(Sie|Ihre?|Ihnen|Wir|wir|und\s|für|mit\s|von\s|bei\s|das\s|ist\s|sind\s|haben\s|werden\s|können|suchen|bieten|Kenntnisse|Erfahrung|Anforderungen|Aufgaben|Stellenbeschreibung|Stellenangebot|Bewerbung|Ausbildung|Berufserfahrung|Teamarbeit|Vollzeit|Teilzeit|unbefristet|Abschluss|gesucht|Deutsch|Englisch|Schweizer)\b/g;
const FR_CONTENT_RE = /\b(vous|nous|votre|notre|pour\s|avec\s|profil|poste|emploi|entreprise|compétences|expérience|formation|équipe|rejoindre|recherchons|offrons|missions|candidature|CDI|CDD|temps\s+plein|temps\s+partiel)\b/g; const FR_CONTENT_RE = /\b(vous|nous|votre|notre|pour\s|avec\s|profil|poste|emploi|entreprise|compétences|expérience|formation|équipe|rejoindre|recherchons|offrons|missions|candidature|CDI|CDD|temps\s+plein|temps\s+partiel)\b/g;
+9 -1
View File
@@ -35,7 +35,15 @@ const SIGNALS: [RegExp, number, string][] = [
[/\bcloud\b|\baws\b|solutions?\s+architect/i, 3, "cloud/AWS"], [/\bcloud\b|\baws\b|solutions?\s+architect/i, 3, "cloud/AWS"],
[/\bsecurity\b/i, 2, "security"], [/\bsecurity\b/i, 2, "security"],
[/\bbackend\b|\bfull.?stack\b|\bapi\b|\bintegration\b/i, 2, "backend/API"], [/\bbackend\b|\bfull.?stack\b|\bapi\b|\bintegration\b/i, 2, "backend/API"],
[/forward\s+deployed|\bfield\s+engineer|solutions?\s+engineer|customer\s+engineer/i, 4, "forward-deployed"], // Agentic/LLM-agent work is the AI/LLM-integration edge from cv/polo.md —
// weighted on its own so "Agentic AI Engineer" clears minScore without a
// seniority word.
[/\bagentic\b/i, 4, "agentic"],
[/forward\s+deployed|\bfde\b|\bfield\s+engineer|solutions?\s+engineer|customer\s+engineer/i, 4, "forward-deployed"],
// Palantir Foundry is the platform FDE roles at pharma (Novartis Data42) are
// built on. "Foundry" alone is ambiguous (metal casting), so it only counts
// next to Palantir or an engineer/developer title.
[/\bpalantir\b|\bfoundry\s+(?:engineer|developer|architect)/i, 4, "Palantir Foundry"],
[/\bsoftware\s+engineer\b|\bdeveloper\b/i, 2, "software"], [/\bsoftware\s+engineer\b|\bdeveloper\b/i, 2, "software"],
// Tech Lead is an explicit target role (see CLAUDE.md), but a bare title like // Tech Lead is an explicit target role (see CLAUDE.md), but a bare title like
// "Technical Lead" or "Tech Lead" alone only ever hit the generic seniority // "Technical Lead" or "Tech Lead" alone only ever hit the generic seniority