To co napisałeś(lampienie się w kod i czekanie na zbawienie) to poziom juniorski.
Ogólnie większość rozmów w internecie (a już widziałem niejedną taką dyskusję) pod tytułem "kim jest senior" polega na tym, że ludzie opisują mniej lub bardziej po prostu cechy normalnego dobrego programisty (a jeśli nie dobrego, to chociaż profesjonalnego, wykonującego dobrze swój fach, z należytą starannością, a nie robiącego fuszerkę. Kogoś, kto ma już jakąś tam wiedzę i zrozumienie tematu, i jakieś doświadczenia za sobą).
Czyli senior = nie junior?
Czyli senior = regular?
Jak zapytasz o SOLID to zarówno senior jak i regular pięknie wyrecytują Ci wszystkie literki.
Jak zapytasz dlaczego dana literka jest ważna i w jaki sposób się ją stosuje i kiedy - to już z dużym prawdopodobieństwem powie Ci tylko senior.
Jak ktoś recytuje jakieś literki bez zrozumienia, to raczej nie nadaje się nawet na poziom "regulara".
Subiektywnie, senior to ktoś, kto POZA latami doświadczenia:
- Rozumie, co się dzieje w środku, nie używa rzeczy bez zrozumienia;
Wszyscy do pewnego stopnia używamy rzeczy bez zrozumienia (bo byśmy musieli w assemblerze pisać, gdybyśmy chcieli wszystko rozumieć), ale z drugiej strony jeśli ktoś leci tylko "na gotowcach" i nie przyjdzie mu do głowy wczytanie się w choćby w dokumentację biblioteki (nie mówiąc już o kodzie źródłowym), to również taka postawa raczej cechuje początkujących, a nie kogoś, kto wyszedł poza poziom początkującego.
- Nie rzuca się na nowe rzeczy, jeżeli nie jest pewien ich jakości;
Jak ktoś się rzuca na nowe rzeczy bez przemyślenia, to znaczy zwykle, że jest osobą początkującą (czyli "juniorem"). Czyli znowu senior to ktoś bardziej doświadczony od juniora ("regular").
Czyli dochodzimy do tego, że regular/mid... nie istnieje? Skoro jeśli ktoś wychodzi z poziomu juniorskiego, od razu staje się w głębi serca "seniorem"?
Oczywiście junior i senior również nie istnieją, to tylko etykietki...