Wywiady

Bycie mentorem traktuję jako dowód zaufania. Historia Artura Patoki

– Przed każdą lekcją staram się dowiedzieć od ucznia, jakie są jego oczekiwania. W ten właśnie sposób przygotowywałem się do swojej pierwszej lekcji online, wszystko szło świetnie, dopóki nie okazało się… że źle się zrozumieliśmy i przygotowałem się z czegoś zupełnie innego. (…) Cała historia miała szczęśliwy finał: m.in. dzięki tym lekcjom, mojemu uczniowi udało się znaleźć pracę, która opłaciła mu daleką relokację i wizę Schengen. To był bardzo satysfakcjonujący moment – opowiedział nam Artur Patoka, senior z blisko dziesięcioletnim doświadczeniem, autor kursów o Pythonie.

Spis treści

Uważasz się za seniora? Dlaczego?

Wydaje mi się, że dla większości pracodawców jako seniora definiuje się kogoś, kto nie tylko ma bardzo głęboką wiedzę w jednej dziedzinie, ale też potrafi poradzić sobie w obcych rejonach, wie jak szukać brakującej wiedzy. Innym wyznacznikiem tego tytułu jest umiejętność mentorowania i uczenia innych.

Nie uważam się za absolutnego seniora w wielu dziedzinach, ale wydaje mi się, że obszar, który jest moją główną specjalizacją, czyli automatyzacja, mam opanowany na dość zaawansowanym poziomie. Od czasu do czasu dostaję zaszczyt bycia mentorem i traktuję to jako dowód zaufania.

Jak zostaje się seniorem? Jaką drogę przebyłeś, by zostać zatrudnionym na tym stanowisku?

W moim przypadku bardzo duży wpływ na własny rozwój miało uczenie. Przygotowując się do uczenia różnych tematów i na różnych poziomach zaawansowania, trzeba samemu najpierw dobrze opanować dziedzinę, której chce się uczyć. W ten sposób zaznajomiłem się z obszarami, z którymi nie miałem do czynienia w pracy wcześniej. To powiększa ogólną, bardziej powierzchowną wiedzę o wielu tematach.

Wielkie znaczenie ma też dbanie o swój rozwój. Nie jest łatwo doczekać się awansu na seniorskie stanowisko z mida, jeśli w codziennej pracy nie mamy okazji się rozwijać. Jeśli obecne stanowisko nie wymusza nauki i rozwoju, jeśli jesteśmy już na tym prawie płaskim odcinku krzywej uczenia, to prawdopodobnie jest to czas na zmianę. Decyzję, czy ta zmiana powinna stać się wewnątrz firmy, czy oznaczać zmianę pracodawcy, powinniśmy podjąć już sami.

Wydaje mi się, że w branży tak dynamicznej jak wytwarzanie oprogramowania, nikt nie będzie miał zastrzeżeń do naszego CV, jeśli znajdzie się w nim wpis o pracy w jakiejś firmie np. przez rok. Z drugiej strony, jeśli potencjalny pracodawca odrzuca nas przez odejście z firmy po roku z powodu niemożliwości rozwoju, to prawdopodobnie tak czy inaczej nie jest to wymarzony pracodawca.

“Nie jest łatwo doczekać się awansu na seniorskie stanowisko z mida”. Dużo mówi się o awansie z juniora na mida, a mało o tym, jak z mida zostać seniorem. No właśnie, jak?

Nie znam nikogo, kto po prostu “doczekałby się” awansu na seniorskie stanowisko. W moim przypadku skuteczną metodą na wyższe stanowisko była dopiero zmiana pracy. Cała ta sytuacja przypomina nieco podpisywanie umowy z operatorem telefonii komórkowej: ciężko nie odnieść wrażenia, że na nowego klienta czekają korzystniejsze oferty niż na najwierniejszego starego abonenta. Spotkałem się też z osobami, które – nie mogąc doczekać się awansu na stanowisko seniorskie, a będąc nadal zadowolonymi z firmy – odchodziły na kilka miesięcy i wracały na “starsze” i lepiej płatne stanowisko.

Masz wiedzę o tym, czy awans z mida na seniora przebiega inaczej w startupie, software house’ie i w korporacji?

Prawie od samego początku swojej pracy trafiałem na korporacje, więc trudno mi wypowiedzieć się na temat innych typów organizacji. W wielkich organizacjach obowiązują narzucone z góry ograniczenia, do których muszą stosować się managerowie. Jeśli oficjalną polityką firmy jest, że nie daje się podwyżek większych niż X procent, to niezależnie od tego jak wielką wartość wnosimy do firmy, i tak nie możemy liczyć jednorazowo na więcej niż to X. Wtedy właśnie trzeba szukać innych rozwiązań, np. rozważyć zmianę pracy.

Czym zajmuje się senior? Czym Twoja praca różni się od juniora?

Od seniora wymaga się zdecydowanie więcej i to nie tylko w domenie, w której jest specjalistą. Moim zdaniem największą różnicą są oczekiwania co do zdolności organizowania pracy. Osoba na seniorskim stanowisku powinna być w stanie identyfikować priorytety zadań, wcześnie wykrywać zagrożenia i organizować pracę. Taki inżynier pracując nad zadaniem, które okazuje się bardziej złożone niż wynikałoby z opisu, nie powinien potrzebować wsparcia managera, żeby podzielić to zadanie na dwa czy trzy mniejsze, które mają logiczny sens.

Innym rodzajem zadań, które rzadziej dostają juniorzy, jest mentoring. Bycie dobrym mentorem wymaga nie tylko bardzo porządnej technicznej wiedzy, ale również szerszego pojęcia na temat tego, gdzie to, nad czym pracujemy, pasuje w całości produktu, który wytwarza zespół, dywizja czy cała firma.

Na końcu warto pamiętać, że u podstaw tych obowiązków powinna leżeć głęboka znajomość technicznego obszaru, w którym operujemy. Nawet najlepiej organizujący sobie obowiązki pracownik nie będzie w stanie wykonywać ich dobrze (ani tym bardziej być mentorem), jeśli dobrze nie zna technologii, w której pracuje.

Jak dużo czasu poświęcasz na programowanie – w dowolnej formie – poza pracą?

Dużo. Regularnie uczę programowania w Pythonie, a jeśli pozostaje mi jeszcze czas, to rozwijam swoje miniprojekty z Raspberry Pi.

Masz też swoich uczniów, których uczysz programowania. Jak wygląda przekazywanie wiedzy z Twojej perspektywy?

Staram się dopasować do potrzeb uczniów. Większość osób, które miałem przyjemność uczyć, preferuje bardziej samodzielną pracę z moją pomocą. Zwykle proponuję im problem do rozwiązania i pomagam naprowadzić na optymalną metodę. Wydaje mi się, że najwięcej wiedzy można przekazać w praktyce, dlatego staram się tak projektować zadania, żeby moi uczniowie byli w stanie samodzielnie rozwiązać je w 70%.

Pozostałe 30% zostawiam na nowości, które pokazane w kontekście zadania zwykle są łatwiejsze do przyswojenia. Nie zawsze to tak wygląda – miałem np. ucznia, który wolał spotkania w formie mojego wykładu, który nagrywał i potem sam krok po kroku przyswajał.

Samodzielnie układasz program nauczania? Co się na niego składa?

Mój program i wszystkie materiały stworzyłem samodzielnie. Niezależnie od indywidualnego celu każdego ucznia (rozmowa rekrutacyjna, która dobrze pójdzie, zaliczenie semestru, ukończenie własnego projektu, nauka Pythona jako drugiego języka programowania) zawsze moim nadrzędnym celem jest to, żeby taka osoba miała wiedzę wystarczającą, żeby dalej samodzielnie ją zgłębiać. Dlatego też zawsze jednym z elementów takiego “programu” jest zrozumienie, gdzie to, czego się uczymy, pasuje w szerszym kontekście i jak efektywnie znaleźć rozwiązanie swojego problemu w internecie. Dzięki temu, że prowadzę lekcję tylko indywidualne (ew. w dwójkach), reszta programu jest szyta na miarę!

Jak sprawić, by program nie był nudny dla “ucznia”?

Z mojego doświadczenia wynika, że potrzebne są dwa elementy. Po pierwsze, trener musi być solidnie przygotowany i dobrze orientować się merytorycznie. Nic tak nie nudzi jak trener, nauczyciel czy wykładowca nerwowo wertujący kartki w poszukiwaniu odpowiedzi. To też zniechęca do zadawania pytań. To samo dotyczy wklejania kodu – zdecydowanie bardziej profesjonalne jest pisanie kodu “na żywo” i opowiadanie o nim, niż po prostu wklejanie wcześniej przygotowanego bloku.

Po drugie, ważny jest odpowiedni rytm spotkania. Jeśli w konkretnym temacie konieczny jest fragment wykładowy, to powinien być przepleciony praktycznymi przykładami. Przykłady te oczywiście muszą też być możliwie ciekawe, jak najbliższe przykładom z “prawdziwego życia”.

W jakich okolicznościach zdecydowałeś się na tworzenie kursów online?

Chęć do uczenia dostałem w genach, wielka część mojej rodziny to nauczyciele. Najpierw próbowałem swoich sił w kursach w “prawdziwej”, a nie wirtualnej sali, ale nie odpowiadało mi, że wiele czasu trzeba poświęcać na kwestie logistyczne. Kursy online pozwalają na połączenie trenera i ucznia będących w dwóch dowolnych miejscach na świecie. To jest wygodne dla obu stron. Dzięki temu możemy mieć jednogodzinne lekcje, które pozwalają uczniom na maksymalnie wydajne wykorzystanie czasu spotkania, a nie tracenie go na np. przerwy. Dla trenera to też wygodna opcja – dojeżdżanie do “prawdziwej” sali na jedną godzinę zajęć nie miałoby większego sensu.

Jak wyglądały Twoje przygotowania do opracowania pierwszego kursu?

Kursy online, szczególnie te prowadzone na zasadzie 1 na 1, mają zdecydowanie inną charakterystykę niż te, które prowadzi się dla grupy uczniów podążając za z góry ustalonym planem. Godzina zajęć 1 na 1 jest bardziej kosztowna dla studenta (chociaż nie zawsze, porównując ceny z niektórymi szkołami programowania), ale daje mu możliwość wykorzystania jej dokładnie zgodnie ze swoimi potrzebami.

Przed każdą lekcją staram się dowiedzieć od ucznia, jakie są jego oczekiwania, żeby móc jak najlepiej przygotować się do niej. W ten właśnie sposób przygotowywałem się do swojej pierwszej lekcji online, wszystko szło świetnie, dopóki nie okazało się… że źle się zrozumieliśmy i przygotowałem się z czegoś zupełnie innego. Kosztowało mnie to sporo stresu, ale na szczęście byłem w stanie pomóc. Od kolejnej lekcji udało nam się porozumieć już dobrze, a cała historia miała bardzo szczęśliwy finał: m.in. dzięki lekcjom ze mną mojemu uczniowi udało się znaleźć pracę, która opłaciła mu daleką relokację i wizę Schengen. To był bardzo satysfakcjonujący moment.

Co, gdy “uczeń” nie wie, czego chce się nauczyć?

Każde spotkanie z nową osobą zaczynam od ustalenia celu. Zwykle jeśli ktoś nie wie czego chce się nauczyć, to znaczy że po prostu chciałby spróbować programowania albo zwiększyć swoje umiejętności. Mając taki cel trzeba zapewnić jakąś wspólną płaszczyznę, jakiś punkt wyjścia. Będzie on na pewno inny dla dentysty, który planuje zmianę branży po 15 latach pracy, niż dla zeszłorocznego absolwenta uczelni technicznej, który nie miał programowania w ramach studiów ale czuje, że pomogłoby mu ono w pracy (oba przykłady są prawdziwe).

Wiedząc skąd zaczynamy, staram się zapewnić solidne podstawy. Dobrym wyznacznikiem tego, w jakiej kolejności warto uczyć się kolejnych elementów Pythona, jest książka Dive Into Python, którą polecam wszystkim, którzy nie wiedzą, czego konkretnie chcą się nauczyć na początku.

Co wyróżnia Twoje podejście od innych kursów programowania oferowanych przez duże szkoły?

Przede wszystkim moje lekcje są maksymalnie spersonalizowane. Weekendowe kursy w kilkunastoosobowej grupie zawsze będą zawierały takie bloki, które dla kogoś są bardzo ciekawe, a dla kogoś innego zupełnie nieinteresujące i zbędne, to jest strata czasu i pieniędzy.

Większość szkół nie publikuje pełnej listy trenerów przed rozpoczęciem cyklu szkoleń. W przypadku indywidualnych zajęć, jeszcze przed pierwszym spotkaniem mam okazję porozmawiać z potencjalnym uczniem o tym, czego chciałby się nauczyć i upewnić się, że mam wystarczającą wiedzę w tej dziedzinie. Regularnie odmawiam zajęć osobom, które chciałyby nauczyć się czegoś, w czym nie czuję się wystarczająco biegle.

Poza tym kursy programowania oferowane przez duże szkoły są naprawdę bardzo, ale to bardzo drogie. Co ciekawe, cena tych kursów oferowana uczniom nie idzie w parze z wysokością wynagrodzeń oferowanych trenerom (oczywiście nie znam realiów wszystkich szkół). W efekcie wiele osób będących świetnymi nauczycielami nie decyduje się na prowadzenie zajęć w dużych szkołach.

W jaki sposób znalazłeś zainteresowanych na kurs?

Moje lekcje prowadzę przez Preply. Istnieje kilka takich portali, ten wydawał mi się najbardziej dopasowany do moich potrzeb. Zainteresowani lekcjami szukają trenerów według dziedziny, dostępności godzin i ceny. Dzięki używaniu zewnętrznego portalu zainteresowani zgłaszają się do mnie sami, jeśli odpowiada im moja prezentacja i obszary, w których uczę.

Co Twoim zdaniem powinni zrobić po zakończeniu Twojego kursu? Jaka ścieżka kariery ich czeka?

Nie powinni przestawać się sami uczyć! Nie uważam, żeby kilka lekcji czy nawet cały kurs był w stanie zmienić o 180 stopni czyjąś ścieżkę kariery. Uczniowie, którzy realnie zmieniają swoją ścieżkę kariery, najwięcej pracują sami i spotykają się ze mną rzadziej, żeby rozwiązywać problemy, które napotkali w trakcie robienia własnego projektu czy rozwiązywania zadań na którejś ze stron typu “coding challenge”.

Masz jakieś rady dla seniorów, którzy też chcieliby dzielić się wiedzą w postaci kursów?

Od czego warto zacząć?

Zacznij w swoim miejscu pracy. Może znasz się na czymś, czego chcieliby się nauczyć Twoi współpracownicy? Może jest w biurze jakaś nowa osoba, która potrzebuje kogoś, kto ją wdroży i nauczy kilku rzeczy? Po jakimś czasie koniecznie poproś o informację zwrotną. W taki sposób wszyscy zyskują: wnosisz wartość do organizacji, w której pracujesz, podnosisz swoje umiejętności przekazywania wiedzy i do tego dostajesz informację zwrotną, dzięki której możesz sam się udoskonalać.

Zostawmy przekazywanie wiedzy, dzięki któremu uczniowie się rozwijają. Nie zapominasz o sobie? W jaki sposób Ty się rozwijasz?

Moim sposobem na rozwijanie się jest przede wszystkim dbanie o to, żeby obowiązki w pracy pozwalały mi uczyć się nowych (przynajmniej dla mnie) technologii. Drugim sposobem, który sprawdza się w moim przypadku, jest uczenie. Nawet najprostsza umiejętność, którą chce się przekazać komuś na danym poziomie zaawansowania wymaga od osoby uczącej opanowania jej na poziomie o jeden wyższym.


Artur Patoka. Senior QA Automation Engineer w Finastra. Na co dzień posługuje się Pythonem i zajmuje się pisaniem automatyzujących skryptów z nastawieniem na minimalizowanie nakładu ludzkiej, manualnej pracy. Poza biurem zajmuje się też uczeniem programowania w Kiwi learning, którego jest współzałożycielem. Wolne chwile spędza na rowerze, w podróżach i na śledzeniu newsów w temacie eksploracji kosmosu.

Redaktor naczelny w Just Geek IT

Od pięciu lat rozwija jeden z największych polskich portali contentowych dot. branży IT. Jest autorem formatu devdebat, w którym zderza opinie kilku ekspertów na temat wybranego zagadnienia. Od 10 lat pracuje zdalnie.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://geek.justjoin.it/programista-mentorem/" order_type="social" width="100%" count_of_comments="8" ]