É um problema complexo realmente, eu também acho que apesar de ser uma métrica do mercado o tempo de atuação é um fator muito ruim para essa classificação.
Conheci programadores que aprenderam a fazer CRUD no início da carreira e vem repetindo essa atividade por anos, alguns até do mesmo jeitinho que faziam quando entraram em suas empresas. Esse tipo de profissional, para mim, vai ser júnior para sempre.
Por outro lado, também conheci profissionais que passaram e resolveram desafios complexos em um ano, passando por regras de negócio, tecnologias, limitações totalmente diferentes umas das outras. A capacidade dessa pessoa de resolver problemas é bem maior que a média, então eu diria que tem um senioridade maior que muita gente com mais tempo de carreira.
Outra coisa importante: COMUNICAÇÃO. Que é negligenciada por muita gente da nossa área.
Saber ler, escrever, ouvir e entender muitas vezes é bem mais importante do que escrever código. Um teste que aplico em entrevistas é a pessoa me escrever um e-mail descrevendo o maior desafio que ela já enfrentou em um projeto e como resolveu.
Se a pessoa não sabe organizar as próprias ideias e experiências de forma clara em um texto, provavelmente o código que essa pessoa gera também é uma bagunça que só ela entende. E é perceptível a diferença entre quem é júnior, pleno é sênior nesse processo mesmo sem saber o tempo de carreira.