Titles are written to attract candidates and satisfy internal grading, so the same role appears as Software Engineer, Developer, SDE and Member of Technical Staff.
Three approaches, each with a cost: keyword rules are predictable but brittle; embeddings catch synonyms but merge adjacent roles; standard taxonomies are comparable to official statistics but lag new roles by years.
Seniority is the trap. Stripping it is right for demand analysis and wrong for pay analysis, because "Engineer" and "Staff Engineer" belong in one demand bucket and two very different pay buckets.