piątek, 3 października 2014

Senior Deweloper - a któż to jest?

gdy każdy widzi to inaczej

W mojej poprzedniej firmie mieliśmy pewnego razu kilka dyskusji dotyczących definicji ról w projektach i odpowiedniego tytułowania osób, które w nich uczestniczą. O ile nie było większych problemów z określeniem tego kim jest Junior oraz Regular Developer, to gdy przyszło do definiowania roli Seniora dyskusja zrobiła się naprawdę ciekawa :)

Po interesujących i żywych rozmowach (udało mi się nawet zaczepić ludzi na Goldenline, żeby "podkraść" dobre pomysły :), w trakcie których miałem okazję dowiedzieć się kim dla kogo jest senior i kim dla kogo nie jest, mogłem stwierdzić przede wszystkim dwie rzeczy:
  • Uniwersalna definicja nie jest prosta do znalezienia.
  • Przy liczbie osób większej niż jeden jest to tym mniej prawdopodobne.
Skończyło się na tym, że wróciliśmy do starego, dobrego i wypróbowanego developera :)

I niby po wszystkim aż dnia pewnego...

"widzę więcej, wiem więcej, tak to jest mniej więcej..."

Już nie pamiętam niestety (a może stety??) jaka sytuacja sprawiła, że przez nasze zespoły przetoczyło się sporo negatywnych emocji (tak też niestety bywa, ważne by na błędach się uczyć i wyciągać wnioski na przyszłość :). Niemniej jednak, w toku dyskusji, które w tamtym czasie miały miejsce z ust kolegi z mojego zespołu padło jedno trafne stwierdzenie:
"Senior Developer to ktoś, kto dostrzega konsekwencje podejmowanych decyzji. Nie tylko w kontekście kawałka kodu, na który patrzy, ale odnośnie całego projektu. Nie podejmuje decyzji, które mają negatywny wpływ na pracę innych."
Cytat dość luźny, więc przepraszam, jeżeli coś przekręciłem. Najważniejsze, że myśl przewodnia została uchwycona :)

Oczywiście powyższe nie oznacza, że Senior nie musi posiadać wiedzy technicznej, znać języka, w którym powstaje kod. Jasne, te kwestie również należą do puli wymagań. Jednak Senior to ktoś, kto patrzy ponad kod. Widzi nie tylko tych kilka metod, które pojawiają się na jego ekranie, ale również to, jaki te metody będą miały wpływ na resztę aplikacji, jaki będą miały wpływ na pracę innych zespołów, jakie będą konsekwencje w odniesieniu do kodu.

i na koniec...

Ciężko mi powiedzieć czy w ciągu swojej krótkiej kariery poznałem dużo czy mało deweloperów. Wiem tylko, że ta ilość, z którą miałem przyjemność pracować jest wystarczająca, abym mógł stwierdzić, że niektórzy, pomimo swoich nieprzeciętnych umiejętności technicznych nigdy nie "zasłużą" na miano Seniora, bo nigdy nie zwracają sobie głowy tym co dzieje się wokół. Nie patrzą dalej niż poza zasięg ich własnej klawiatury.

Warte zapamiętania jest również to, że jedna osoba nigdy nie zrobi tego co zespół/zespoły programistów. A im większy projekt, tym wyraźniej to widać.