Back to guides
Normalization

Understanding Job Seniority Levels

CleanJobData Engineering

Job titles are notoriously inconsistent. One company's "Senior Engineer" might be another's "Level 4" or "Staff Engineer".

The Problem: Title Fragmentation

Building a search filter for "Senior" roles is difficult if you only rely on string matching. You'll miss roles titled "Lead", "Principal", or "Senior II".

Our Mapping Strategy

We normalize all job postings into four canonical seniority levels:

1. Entry Level (EN)

  • Keywords: Junior, Associate, Grad, Intern, Level 1.
  • Context: Roles requiring 0-2 years of experience.

2. Mid Level (MI)

  • Keywords: Intermediate, Level 2, or titles without a specific prefix.
  • Context: Roles requiring 2-5 years of experience.

3. Senior Level (SE)

  • Keywords: Senior, Lead, Staff, Principal, Level 3+.
  • Context: Roles requiring 5+ years of experience or significant individual contribution.

4. Executive Level (EX)

  • Keywords: Director, VP, Head of, CTO, CEO.
  • Context: High-level management and leadership roles.

How We Infer Level

We don't just look at the title. We also analyze:

  • Metadata: Many ATS platforms have internal seniority fields.
  • Description: We scan for years of experience requirements.
  • Salary: High pay relative to the region can signal higher seniority.

Integration

By using our experience_level filter, you can provide a much better search experience for your users, ensuring they only see roles that match their career stage.