Job recommendations that respect who you actually are¶
Technical version: Recommendation fit — requirements (WING-307)
The problem in human words¶
The desktop app once recommended summer internships to someone whose full senior resume was already on file. That is not a mild ranking miss — it is insulting, and it means the product was lying about “fit.”
Root cause¶
Recommendations scored jobs by skill name overlap against a flat list of skill strings. No years, no recency, no seniority, no role level.
Perverse result: the better a senior person’s skills matched an internship’s stack, the higher the internship scored. Easy-to-measure keyword overlap was rewarded while true career fit was ignored.
Polluted demo data full of internships made it worse, but cleaning data alone does not fix the ranking.
What we already store and must use¶
Per-skill records with self-reported years, resume-backed years, recency, confidence, and claim/prove/aspire intent — plus work history, education, certifications, and the posting’s employment type. Unknown stays unknown; one channel must never silently replace the other with the friendlier number.
Requirements (plain list)¶
- Use only data you gave us or what the posting states.
- Never overstate unknowns.
- Match years and depth, not just skill names.
- Attribute skills to real jobs/schools so years are auditable.
- Let you correct skills when parsing is wrong.
- Treat management and leadership scope as first-class (reports, budgets, mentoring, hiring — and later finer ownership/authority enums).
- Structure evidence so interview coaching can use the same facts.
- Update demo personas so first-timers still honestly see internships when that is right.
- Match leadership scope against what postings actually ask for.
- Surface readiness for a step up in seniority — not only suppress downward insults. Recognizing when you are ready for senior/staff roles is the valuable half of the same computation.