Mnie śmieszy to rozróżnienie i w tym, że przywiązuje się nadmierną wagę do tych stanowisk.
Wiele osób ma pogląd o tym, że seniorem człowiek się "staje" i już nim jest, jakby seniorstwo było immanentną cechą programisty, który osiągnął pewien poziom.
A przecież wystarczy, że "senior" wejdzie do nowego projektu i już stanie się "juniorem", trzeba go przyuczać itp. Albo ktoś może być "seniorem" w jednej technologii, a "juniorem" w innej. Wszystko jest dużo bardziej płynne.
W każdej firmie senior co innego znaczy. Bywa przecież, że ktoś zostaje seniorem tylko dlatego, że pracuje długo w jednej firmie (i np. pisze spaghetti kod, ale zrobili go "seniorem" jako nagrodę za lojalność wobec firmy).
Czasem się przyjmuje, że senior to ktoś, kto wysiedział dupogodziny i ma dużo lat doświadczenia - ale przecież dużo osób nawet 10 lat pracuje i dalej jest słabymi.
Nie sądzę też, żeby od kątem technicznym można było odróżnić seniora od regulara. Juniora od seniora prędzej (junior pisze spaghetti kod, senior pisze kod czysty). Ale jak się doda 3 stopień pośrodku to już się robi strasznie rozmyte (bo co? Junior pisze spaghetti kod, senior pisze kod czysty, a regular pisze kod średnio czysty? Albo: junior jest początkujący, senior zaawansowany, a regular średnio zaawansowany? Jak to odróżnić, skoro to wszystko umowne?)
Może więc umiejętności miękkie mogłyby być taką metodą odróżnienia? Ale z drugiej strony wiele osób początkujących też może mieć duże skille miękkie - co nie znaczy, że będą dobrymi "seniorami" i będą w stanie podejmować dobre decyzje projektowe w projekcie.