W jakim wieku dobry dev powinien zostać senior developerem? Seniorzy odpowiadają (cz.2)
W cyklu „Seniorzy odpowiadają” nie zadajemy pytań dotyczących tego, jak znaleźć pracę na stanowisku juniora. Szukamy odpowiedzi na pytania otwarte dotyczące pracy programisty, developera z większym doświadczeniem. Dlatego w ubiegłym tygodniu pytaliśmy o największe wyzwanie, z jakim musieli zmierzyć się seniorzy. Tym razem pytamy o to, co trzeba zrobić, żeby zostać senior developerem.
W jakim wieku dobry dev powinien zostać senior developerem?
Odpowiada: Mateusz Lerczak, Starszy Inżynier ds. oprogramowania w Sii Sp. z o.o.
Dobry programista to przede wszystkim doświadczenie. Te które zdobywamy przez lata pracy w różnych projektach i różnych zespołach. Seniorem możemy nazwać osobę, która zna się dobrze na swoim fachu. Ważne jest to, by potrafiła uczyć się na błędach i nie popełniać ich wielokrotnie.
Ciągła nauka i samorozwój są kluczowe, jeśli chce się zostać seniorem. Szeroka wiedza w danej dziedzinie sprawia, że stajesz się jej specjalistą, jednakże nie jest to jedyny wyznacznik do otrzymania tytułu seniora. Tak jak wcześniej wspomniałem dobry senior to doświadczenie. Umiejętność przystosowania się do sytuacji jest kluczowa. Bądźmy otwarci na nowe wyzwania. Pracę można wykonać na wiele sposobów, warto pracować z głową. Szybkość nie zawsze jest tutaj najistotniejsza.
Nie jestem w stanie określić w jakim wieku powinno zostać się starszym programistą. Ja swoją zawodową przygodę z programowaniem rozpocząłem od razu po maturze, a tytuł seniora dostałem kilka lat temu. Przez te 10 lat pracowałem w wielu projektach w kilku firmach. W każdej uczyłem się czegoś nowego. Przede wszystkim zachęcam wszystkich do ciągłego rozwoju. W końcu ktoś powie, że to właśnie Ty jesteś najbardziej doświadczony i zasługujesz na tytuł seniora.
Odpowiada: Nikodem Ciesielski, Lead Developer w Aptitude Software
Każdy awans musi mieć jasne kryteria, aby był w pełni zrozumiały przede wszystkim dla reszty pracowników i pozytywnie motywował ich do pracy i wysiłku. Z drugiej strony awans jest swego rodzaju potwierdzeniem wzrostu wartości pracownika dla firmy, czego wymierną konsekwencją jest przejście w wyższe widełki finansowe. W zasadzie cała ścieżka kariery powinna być podyktowana kryteriami, które czynią pracowników bardziej wartościowymi dla firmy. Dla mnie pierwszym szczeblem w drabinie kariery jest stwierdzenie u pracownika własnej inicjatywy. Bez niej pracownik nie będzie się rozwijał i stawiał czoła coraz to trudniejszym i pracochłonnym wyzwaniom. Awansowanie właściwych ludzi jest kluczowe dla zdrowego rozwoju firmy, czego wyrazem jest zdrowa atmosfera wśród pracowników każdego szczebla. Ponieważ błędy w tym obszarze mają ogromne konsekwencje i są trudno odwracalne, to promowanie właściwych ludzi jest jedną z najbardziej odpowiedzialnych decyzji.
Na przykład dużym błędem jest awansowanie karierowiczów, którzy imają się jedynie takich wyzwań, które są łatwo dostrzegalne przez menedżerów, a nie mają skrupułów, żeby tworzyć badziew w miejscach, które nie będą z nimi kojarzone. Dlatego zwracam również uwagę, czy pracownik chętnie wykonuje prace np.: porządkowe, których nie zgłasza, a których się podjął, bo miał akurat czas. Ponieważ własna inicjatywa jest kluczowa do wzrostu wartości pracownika, przyjąłem kryterium, że awansuję pracowników na seniora po spełnieniu dwóch wymagań:
- pracownik jest w miarę biegły w danej technologii, nie potrzebuje już pomocy, technologia mu odpowiada, chce się w niej specjalizować i sam do tego dąży;
- pracownik wykazuje inicjatywę w określaniu zadań, nie czeka biernie, lecz ma pomysły, sam je zgłasza, a nawet często drobne zadania robi bez zgłaszania i nie marnuje czasu na czytanie portali, gdy chwilowo nie ma zadań.
Odpowiada: Przemysław Cackowski, iOS Lead Developer, Freelancer
Wydaje mi się, że wiele osób i firm ma spory problem z określeniem zestawu umiejętności i doświadczenia jakimi powinien cechować się senior developer. A właściwie czemu taki podział ma służyć? Wydaje mi się, że głównie do określenia widełek płacowych dla stanowiska. W firmach typu Google czy Facebook poradzono sobie z tym problemem, nazywając wszystkich „ingeniero de software” dodając tylko stopień od 1 do 5. Ba, istnieje chyba kilka firm, które pozwalają pracownikowi nadać sobie nazwę/stopień stanowiska, i cała mitologia „senior developera” idzie w piach. Dodatkowo zauważam zbytnią ekscytację samą nazwą stanowiska wśród niektórych i przyrost dziwnych super mocy u osób, które te stanowiska piastują. Patrząc na to, jak rośnie rynek IT, mnożą się narzędzia, jaki jest dostęp do edukacji, tutoriali, kursów, jak się upraszcza samo programowanie, ile rzeczy jest automatyzowane, jak pomaga środowisko open source to chyba można dojść do wniosku, że średnio ogarnięty zdeterminowany człowiek jest w stanie nauczyć się jakiejś tam technologii w skończonym czasie i w miarę zdobycia doświadczenie w kilku większych projektach być już uznanym za senior developera. A jeżeli dodatkowo jest dobry, to prawie natychmiast można go awansować.
Gdy słyszę te fascynacje jakimś opanowanym super wydajnym frameworkiem, narzędziem, biblioteką i co to była za walka, żeby spłodzić coś na produkcję, i jaką to niesamowitą wojnę kolejny „senior developer” stoczył z całym wszechświatem i dzięki niemu firma jest w dobrej kondycji, to zawsze chętnie przypominam sobie opowieści moich kolegów, którzy pracują w karetce pogotowia, na ostrym dyżurze, w hospicjach, w ratownictwie, w SAR. Tam to dopiero jest prawdziwe życie i wyzwania, które nijak mają się do tych potyczek z edytorem tekstu w kapciach. Uważam, że dobry senior developer, to ktoś kto nabiera dystansu do swoich osiągnięć, zaczyna widzieć szerszą perspektywę, i w myśl greckej zasady „wiem, że nic nie wiem” lubi być „najgłupszy w pokoju”. Byłem świadkiem kilku zespołów, w których nadęte ego tzw. seniora psuło całą atmosferę i chęć do pracy co oczywiście przekładało się na problemy w projektach, terminach i odejściach.
Dodatkowo po kilku rekrutacjach również wyłoniła mi się ciekawa cecha, której warto poszukiwać wśród ludzi do współpracy. Nic odkrywczego, ale osób w IT, które są proaktywne to ze świecą szukać. Wystarczy pierwszy lepszy scrum, z pytaniem, kto chce wziąć na siebie ten niewygodny, czasochłonny task? Cisza. Ja wiem, że większość to introwertycy, ale polecam jednak zamknąć oczy, „coco jumbo” i do przodu. W swojej pracy jako lider miałem kilka przypadków, w których znajdowały się takie osoby. Proaktywnie brały na klatę „co leci” z uśmiechem na ustach i wykonywały robotę. Taranem rozbijały taski, zadania, projekty. Bez wiedzy, doświadczenia z czasem stawały się ekspertami w danej domenie. Mając do wyboru zmanierowanego „seniora”, a proaktywnego juniora wybieram młodszy lepszy model.
Dlatego wśród ludzi nie szukam umiejętności twardych na poziomie akademickim, ale poczucia, że chciałbym ich mieć w swojej firmie, projekcie, zespole. Bo mogę na nich polegać, bo doprowadzą sprawę do końca, mniej lub bardziej samodzielnie, bo chcą się rozwinąć, nauczyć, sprawdzić. Z czasem doszusują do miana „seniora”. Sprawa niby oczywista, ale niełatwo o takich ludzi. Jest jeszcze kilka cech takich jak oczywiście dobra komunikacja, uczciwość, pasja, etc. Owszem należy te cechy rozwijać i pielęgnować. Ja dodałbym jeszcze umiejętność / nawyk w kreowaniu pomysłów, usprawnień, idei. Wbrew pozorom rzadka cecha, stępiona pewnie przez dostępność do Google i StackOverflow.
Zatem podsumowując uważam, że nie ma konkretnego wieku, w którym ktoś powinien zostać senior developerem. Owszem można zdobywać twarde umiejętności w różnym tempie, to zależy od talentu, czasu poświęconego, szczęścia do spotkanych ludzi i realizowanych projektów, natomiast dopiero rozwinięcie kilku cech miękkich i ich wykorzystanie w życiu lub pracy, w moim przekonaniu zaczyna stanowić o zajmowanej pozycji.
Odpowiada: Wojciech Pituła, Senior Software Developer w Sony
Problem z tym pytaniem jest taki, że nie wiadomo, kto to jest “senior developer”. Gdybym został w mojej pierwszej pracy to miałbym ten tytuł po 2 lub 3 latach, czyli max na 4 roku studiów (~23 lata). Jednocześnie teraz po blisko 5 latach w branży nadal nie jestem pewien czy zasługuje na ten tytuł. Jeśli pytanie brzmiałoby „w jakim wieku dobry dev powinien nosić tytuł senior developera” to odpowiedziałbym: „Jeśli po 5 latach nadal go nie ma, to coś jest nie tak”. Jeśli pytanie sformułujemy jako „w jakim wieku dobry dev powinien zachowywać się jak senior (uczyć innych, pracować samodzielnie, dostrzegać nieoczywiste problemy)” to tutaj 2 lata doświadczenia to wystarczający okres.
Niespełna tydzień temu opublikowaliśmy pierwszą część cyklu pt. Seniorzy odpowiadają, w której zapytaliśmy doświadczonych developerów o to, jaki był największy problem, z którym się spotkali i w jaki sposób go rozwiązali. Okazało się, że seniorzy nie wspominali raczej o problemach technicznych, tylko o tych związanych z umiejętnościami miękkimi. Zobaczcie sami.