Классификация уровня
Junior, Middle, Senior: как заголовок и опыт дают разные сигналы
Почему seniority нельзя надёжно определить одним словом в title и как разрешать конфликт между заголовком, опытом и обязанностями.
· 7 минут чтения · TechRole Index
Seniority — нормализованный аналитический признак, а не универсальное поле работодателя. Слово Senior в заголовке является сильным сигналом, но отсутствие слова не делает роль Middle, а диапазон опыта может конфликтовать с обязанностями. Поэтому правило должно сохранять неопределённость вместо удобного, но ложного уровня.
Какие сигналы доступны
Явные маркеры Junior, Middle, Senior, Lead, стажёр и их русские варианты дают наиболее объяснимое основание. Они проверяются вместе с отрицаниями и контекстом: «не junior», «junior mentor» и название команды с таким словом не должны срабатывать как одинаковая вакансия начального уровня.
Диапазон требуемого опыта является отдельным сигналом. Он полезен, когда title нейтрален, но не образует глобальную шкалу: два года для одной узкой технологии и два года для руководящей роли означают разное. Обязанности, самостоятельность и управление людьми помогают проверить результат, но хуже подходят для единственного жёсткого regex.
Почему сигналы конфликтуют
Работодатель может назвать позицию Middle и потребовать пять лет опыта, опубликовать Senior без числового требования или искать Junior с обязанностями полноценного владельца системы. Это свойство исходных данных, а не ошибка, которую допустимо скрыть переносом в ближайшую удобную корзину.
При конфликте явный заголовок, структурированный опыт и текст получают заранее описанные приоритеты. Результат сопровождается confidence и версией классификатора. Если сильные признаки расходятся, честный итог unknown полезнее для агрегата: он не загрязняет сравнение зарплат по уровням.
Смешанные и руководящие роли
Lead и руководитель не всегда являются просто Senior. В одних вакансиях это технический уровень, в других — отдельная функция с наймом, бюджетом и ответственностью за команду. Если продукт публикует только Junior/Middle/Senior, правило приведения должно быть явным или такая запись должна остаться вне seniority-среза.
Фразы «готовы рассмотреть от Junior до Middle» описывают диапазон, а не единственную метку. Размножение одной вакансии по двум уровням удваивает count и искажает зарплату. Без отдельной модели диапазона безопаснее исключить её из level-specific агрегата, сохранив в общем числе публикаций.
Как проверять качество seniority
Нужна размеченная выборка с примерами явных уровней, нейтральных title, отрицаний, диапазонов и конфликтов. Проверяются precision по каждому уровню и доля unknown; рост coverage ценой массового переноса неоднозначных записей не считается улучшением.
В цитате level-specific зарплаты указываются seniority, число совместимых наблюдений n и версия правила. Нельзя переносить медиану Middle на Junior при пустой выборке. Публичные JSON и HTML должны одинаково показывать, где уровень определён, а где данных недостаточно.
Контрольный список
- Разделять явный title, опыт и текстовые обязанности как разные сигналы.
- Обрабатывать отрицания, диапазоны и Lead-роль до присвоения уровня.
- Сохранять unknown при сильном конфликте признаков.
- Не дублировать одну вакансию в нескольких seniority-корзинах.
- Цитировать level-метрику вместе с n и версией классификации.
Как сослаться на материал
TechRole Index. «Junior, Middle, Senior: как заголовок и опыт дают разные сигналы». 21 июля 2026 г.. https://win-702hpohbtiv.tail044b19.ts.net/insights/seniority-title-vs-experience-signals