Jak zostać dobrym mentorem programowania? Wskazówki od Junior Developera
Co jakiś czas przychodzi moment kiedy do firmy/zespołu trafia Junior Developer. Jak postępować z taką osobą aby nie była ciężarem, za to szybko wdrożyła się do projektu i zaczęła wnosić wartość? Jak stać się mentorem z prawdziwego zdarzenia? Na te pytania postaram się odpowiedzieć w tym poście.
Osobiście programowania uczyłam się od mojego mentora, a także z kursów internetowych przez niego poleconych (tutaj możesz przeczytać jaką drogę przeszłam zanim zostałam programistką). To z moim mentorem programowania przeszłam ścieżkę od napisania pierwszej linii JavaScript-u, przez pierwsze zlecenie, po rozpoczęcie pracy jako Junior Developer, za co jestem ogromnie mu wdzięczna.
Moja definicja mentora:
Mentor to osoba, która przekazuje wiedzę, pokazuje ścieżki i wspiera swojego ucznia w kolejnych krokach. Jest to również ktoś, komu bez obawy i wstydu możemy zadać pytanie dotyczące dziedziny w której się specjalizuje oraz podyskutować na dany temat. Jest to osoba, która bardzo dobrze umie słuchać oraz tłumaczyć. Im bardziej rozwijamy swoje umiejętności, tym rzadziej potrzebujemy korzystać z pomocy mentora, ale jest on dla nas dalej osiągalny i w razie potrzeby przekazuje najlepsze praktyki. Mentor wie na jakim jesteśmy poziomie zaawansowania, śledzi nasze postępy i stąd może nam dać mocno spersonalizowaną radę.
Na początek – dobre nastawienie
Ważne jest to, żeby pomaganie i nadzorowanie Junior Developera nie było dla Ciebie przykrym obowiązkiem. Jeśli uważasz, że nie będziesz się w tej roli spełniać, wręcz przeciwnie będzie Cię to tylko denerwować i odrywać od Twojego ulubionego zajęcia koniecznie to zakomunikuj swojemu przełożonemu.
Dowiedz się na jakim poziomie jest junior
Nie zawsze jest tak, że Junior trafia do zespołu w którym jest osoba, która zadawała pytania techniczne na rozmowie kwalifikacyjnej. Jeśli do Twojego team-u dołączy Junior Developer koniecznie dowiedz się na jakim poziomie jest ta osoba. Szybko to zweryfikujesz to zadając pytania:
- Jakie projekty wcześniej realizowałeś/łaś?
- Z jakich narzędzi korzystałeś/łaś?
- Co Cię najbardziej fascynuje w programowaniu, w jakim kierunku chciałbyś/chciałabyś się rozwijać?
- Z czym ma największe trudności?
To pozwoli na większe zrozumienie oraz pomoże uniknąć niepotrzebnych problemów i nieporozumień.
Pamiętaj, że niekoniecznie najlepszy senior będzie najlepszym mentorem
To co ceniłam w swoim mentorze najbardziej to jego umiejętność postawienia się w sytuacji osoby, która czegoś nie wie. Często osoby, które są na zaawansowanym poziomie uważają pewne rzeczy za oczywiste i bardzo się dziwią, że ktoś inny tego nie rozumie. Staraj się tłumaczyć na prostych przykładach, a potem na tych podstawach buduj trudniejsze. Nie traktuj drugiej osoby jak kogoś głupiego, Ty też kiedyś byłeś/byłaś na tym etapie. Stwórz bezpieczną przestrzeń, gdzie będzie miejsce na pytania i czas na dyskusje. Wiadomo, że czas Seniorów i Middle Developerow jest cenny nie zawsze mają oni tyle czasu ile by chcieli dlatego…
Gromadź i dziel się ciekawymi materiałami.
Jeśli znajdziesz ciekawy i wartościowy artykuł, kurs, książkę, wtyczkę – koniecznie zapisz je. Gromadź przydatne materiały w notatniku / zakładkach. Zrób bazę wartościowych materiałów. Dziel się sprawdzonymi rozwiązaniami, dzięki temu umiejętności Juniora szybko poszybują w górę.
Nie uprzedzaj się do osób, które przekwalifikowały się z innej branży.
Obecnie istnieje zauważalny trend na uczenie się programowania. Pojawia się coraz więcej osób, które wcześniej wykonywały inny zawód i przekwalifikowały się na programistów. Moim zdaniem takie osoby często mają ciekawe spojrzenie na pewne kwestie. Ich punkt widzenia może się różnić od punktu widzenia osób które od początku interesowały się szeroko pojętą informatyką i ukończyły studia techniczne. Często cały zespół może zyskać na ich spostrzeżeniach i sugestiach. Jeśli taki Junior Developer naprawdę pasjonuje się programowaniem, bardzo często ma ogromny zapał i chłonie wiedzę jak gąbka.
Nie dawaj gotowych rozwiązań tylko dawaj wskazówki
Często wystarczy naprowadzić Juniora, zamiast podawać gotowe rozwiązanie. W końcu Junior powinien się usamodzielnić i nauczyć się rozwiązywać problemy. A szukanie rozwiązań w otchłaniach internetu jest sztuką i wymaga praktyki.
Jeśli Junior napotka na duży bloker i Ty przejmiesz stery, to koniecznie mów na głos jaki jest Twój tok rozumowania, jeśli od razu nie znasz rozwiązania to mów gdzie szukasz odpowiedzi na swoje pytania oraz w jaki sposób rozwiązałeś dany problem. Będzie to bardziej wartościowe niż podanie rozwiązania na talerzu.
Code review jest ważną częścią nauki
Pamiętam swój pierwszy projekt, głównie zajmowałam się w nim kodowaniem, a nie samym programowanie. Mój mentor robił code review bardzo dokładnie. Pamiętam te setki poprawek, które musiałam nanosić, a największy problem miałam problem z nazewnictwem elementów. Było to bardzo wymagające i trochę zniechęcające. Ku mojemu zaskoczeniu podczas kolejnego projektu ilość poprawek drastycznie zmalała. Okazało się, że nie mam już tak dużych problemów i coraz lepiej sobie sama radzę. Bardzo się z tego cieszyłam. Pokazuje to, że lepiej na samym początku zainwestować więcej czasu na dokładny code review.
Na koniec
Jeśli zdecydujesz się zostać mentorem to mam nadzieję, że przyniesie Ci to wiele satysfakcji i nauczysz się wiele o innych ludziach, a także o sobie samym. Należy pamiętać, że w branżę IT tworzą przede wszystkim ludzie. Dbajmy o to środowisko, pomagajmy sobie nawzajem i wspólnie twórzmy zgrane zespoły.
Rzeczywiście, czasami duża wiedza nie gwaratnuje bycia dobrym mentrorem, ważniejszy jest dar pedagogiczny 🙂
Obok code review za ważny punkt nauki dałabym jeszcze pair programming. A w ogóle to taki junior moze być fajną „kaczuszką” kiedy sami mamy do rozwiązania jakiś problem.
Dzięki, bardzo fajny artykuł. Mało jest takich wpisów.