Jak i gdzie znaleźć mentora programowania?
Zastanawiasz się jak zacząć kodować? Może masz za sobą kolejny kurs, lub tutorial programowania i nie wiesz co dalej. Rozwiązaniem może być Mentor IT, który pomoże Tobie znaleźć ścieżkę rozwoju młodszego programisty oraz Twoją pierwszą pracę. Podpowiadamy kim jest Mentor, jak go znaleźć i gdzie szukać IT Guru. Pomocnym w tym wszystkim może okazać się Mentor, ale jak go znaleźć?
Jacek Jabłonka. Mentor, Trener – od zera do Junior Java Developer’a. Twórca i autor bloga www.juniorjavadeveloper.pl – poradnika dla przyszłych Junior Java Developer’ów. Doświadczenie umożliwia mu pomoc innym w przekwalifikowaniu się, zmianie zawodu na Junior Java Developer’a. Przez 12 lat pracował jako konsultant informatyczny, głównie w języku Java. Od września 2018 roku zajmuje się przebranżawianiem osób na Junior Java Developer’a.
Gdybym na mojej drodze nie spotkał kilku mentorów zapewne więcej czasu zajęłoby mi zostanie programistą. Tak się składa, że moimi mentorami było dwóch Piotrków, którzy doskonale rozumieli programistów na różnych etapach rozwoju. Pierwszy Piotrek pomógł mi stawiać kroki w programowaniu w języku Java oraz świecie IT. Drugi Piotrek pomógł mi doszlifować mój warsztat programisty. Moim wirtualnym mentorem, z którego pomocy może skorzystać każdy w każdym momencie był Uncle Bob Martin – cleancoder.com.
Spis treści
Kim jest mentor?
Mentor z definicji, to „doświadczony, mądry doradca, nauczyciel i wychowawca”. Poza odpowiedzią na główne pytanie – Jak znaleźć mentora? – w tym artykule przedstawię następujące kwestie:
• Czy mentor w ogóle jest mi potrzebny?
• Co takiego może zaoferować mi mentor?
Współpraca z mentorem:
• Jak przygotować się do pierwszego spotkania?
• Plan nauki programowania – materiał vs. możliwości czasowe.
• Mentor tylko dla przyszłego, młodszego programisty?
Czy potrzebuję Mentora?
Moim zdaniem mentor jest potrzebny, jeżeli:
– nie wiesz jak zacząć programować, lub jaką ścieżkę nauki programowania wybrać,
– chcesz zweryfikować swoją wiedzę,
– potrzebujesz wsparcia w dalszej nauce,
– stworzyłeś samodzielnie projekt i chciałbyś go zweryfikować.
Co takiego może mi zaoferować mentor? Pół żartem, pół serio, to mentor pozwoli uniknąć błędów oraz wielu godzin spędzonych na rozwiązywaniu „banalnego” problemu. Mentor wskaże nam kierunek rozwoju. Jego doświadczenie na stanowisku programisty pokaże szerszy kontekst pracy programisty. Tutorial czy kurs online nie przedstawią informacji ze zwykłego dnia pracy programisty. Samo programowanie, to dopiero początek, wierzchołek góry lodowej.
Jak i gdzie znaleźć mentora programowania?
Poszukiwania mentora można rozpocząć od grup na Facebooku oraz portali z ogłoszeniami
takimi jak e-korepetycje.net i/lub olx.pl/uslugi-firmy/uslugi/korepetycje. Może, to być dla Ciebie zaskakujące, ale właśnie w taki sposób znajdują mnie osoby poszukujące mentora dla przyszłego Junior Java Developer’a. Niech Ciebie nie zwiedzie wyraz korepetycje w nazwie. Można tam naprawdę znaleźć różne osoby, od studentów, którzy chcą dorobić do studiów, a kończąc właśnie na mentorach.
Na e-korepetycje.net korepetytorzy/mentorzy mają własny profil z biogramem oraz listą ocen np. mój profil e-korepetycje.net/jacek-korepetytor. Kolejnym sposobem poszukiwania mentora mogą być video kursy na np. YouTube.com, Udemy.com itp. Wyszukujemy interesujące nas zagadnienie i patrzymy kto jest autorem danego kursu lub kanału. Na YouTube proponuję do szukanej frazy dopisać słowo „PL”, np. „java spring boot datajpa PL”, na Udemy mamy możliwość wyboru języka dla kursu, tu sprawa jest łatwiejsza.
Autor takiego video kursu w większości przypadków będzie miał informacje o swoim blogu, stronie, na których znajdziemy dane kontaktowe oraz „ofertę” nauczania. Najlepiej skontaktować się z więcej niż jednym mentorem oraz umówić się na próbną, bezpłatną konsultację. Przy wyborze mentora ciężko będzie nam zweryfikować jego umiejętności techniczne, ale na początek kierowałbym się tym jak nam się z nim rozmawia i czy sposób prowadzenia konsultacji nam odpowiada. To jest bardzo ważne, bo współpraca z mentorem powinna być długofalowa.
Oczywiście zawsze możemy zmienić mentora, ale wtedy wrócimy do punktu wyjścia, a nowy mentor zapewne będzie miał inną wizję jak wspierać przyszłego programistę.
Współpraca z mentorem
Moim zdaniem mentor powinien mieć przygotowany „program” mentoringu/nauczania i/lub ścieżkę rozwoju dla młodszego programisty. Nie musi być to w formie „oferty sprzedażowej” z dokładnym rozpisaniem, co w danym dniu będzie omawiane.
Przykład ścieżki wsparcia młodszego programisty Java. W mojej codziennej pracy wspieram przyszłych Junior Java Developer’ów. Ścieżka, którą stosuję składa się z czterech elementów, z tym że ostatni element jest już kompletnym programem nauki języka Java od podstaw.
1. Konsultacja z mentorem
Tu dowiaduję się, czego potrzebuje dana osoba i jak mogę jej pomóc.
2. Weryfikacja CV i portfolio
Pozwala, to sprawdzić jak światu prezentuje się dana osoba.
3. Symulacja rozmowy kwalifikacyjnej
Ten krok pozwala skonfrontować się danej osobie z rzeczywistością programisty.
4. Przebranżowienie Java
- Wprowadzenie do języka Java.
- Programowanie obiektowe.
- Systemy kontroli wersji Git.
- Testowanie oprogramowania – TDD.
- Wzorce Projektowe.
- Bazy danych – SQL.
- Bazy danych – programowanie (JDBC, Hibernate).
- Usługi sieciowe dla protokołu HTTP (REST, SOAP).
- Podstawy serwerów – teoria, praktyka.
- Podstawy HTML, CSS i JavaScript.
- Java EE – technologia JSP i Servlet’y.
- Spring Framework – Web MVC, Data JPA, Security.
- Metodyka Scrum (teoria).
Wystarczy roadmap ze ścieżką rozwoju, dodatkowo lista tematów, w których specjalizuje się mentor. Wybierając mentora w większości przypadków chodzi nam o indywidualne, spersonalizowane podejście, a nie kolejną „ofertę”. W odróżnieniu od sformalizowanej i zorganizowanej nauki, takiej jak np. Bootcamp, współpraca z mentorem raczej nie będzie wiązała się z podpisywaniem umowy cywilnoprawnej, daje, to większą elastyczność zarówno po stronie ucznia, jak i mentora.
Jak przygotować się do pierwszego spotkania? Pierwsze spotkanie warto poprzedzić wymianą pytań i informacji z mentorem np. za pośrednictwem wiadomości e-mail lub komunikatora, takiego jak Messenger, Skype. Należy ustalić stawkę za godzinę pracy mentora oraz czy będzie potrzebna nam np. faktura. Na tym właśnie etapie powinniśmy zapytać o „program” mentoringu/nauczania, ustalić tematy, które nas interesują, przedstawić projekt z naszego portfolio, który chcielibyśmy zweryfikować, omówić.
W obecnej sytuacji w grę wchodzi raczej tylko „spotkanie” online, moim zdaniem, to sporo ułatwia. Możemy taką rozmowę odbyć w dogodnych dla nas warunkach, a nie np. w gwarnej kawiarni. Myślę, że warto, aby pierwsze „spotkanie” było w formie wideorozmowy. Oczywiście taka pierwsza rozmowa nie odpowie na wszystkie nasze pytania i nie rozwieje wszystkich naszych wątpliwości, ale na pewno pozwoli zdecydować czy chcemy nawiązać współpracę z danym mentorem.
Jak przygotować się do spotkania ze swoim Mentorem programowania?
Plan nauki programowania – materiał vs. możliwości czasowe
Jeżeli udało nam się ustalić „program” mentoringu/nauczania, to przyszedł czas na weryfikację naszych możliwości czasowych na realizację tego programu. Z własnego doświadczenia wiem, że trzeba sobie ustalić, ile czasu jesteśmy w stanie poświęcić na naukę oraz ustalić stałe dni i godziny nauki. Proponuję również naukę podzielić na część teoretyczną i praktyczną. Tak, wiedza teoretyczna jest niezbędna.
Mentor może nam przekazać minimalną teorię i wskazać źródła do dalszej nauki, ale to my musimy zapoznać się z teorią i ją przyswoić. Pozostając przy tym temacie należy pamiętać, że mentor, to nie to samo, co korepetytor. Mentor jest naszym drogowskazem, nie rozwiąże za nas zadania programistycznego, raczej wskaże nam źródła i sposoby rozwiązań danego zagadnienia. Korepetytor może za nas rozwiązać jakiś problem programistyczny.
Odnośnie teorii, to zaznaczę, że wiedzę zdobywamy z oficjalnej dokumentacji, nie uczymy się ze www.stackoverflow.com. W czasie pracy z mentorem skupiłbym się na części praktycznej pisania kodu w wybranym języku programowania.
Mentor tylko dla przyszłego, młodszego programisty?
W tym artykule skupiłem się na poszukiwaniu mentora przez przyszłego młodszego programistę. Nie oznacza to, że mentor może być tylko dla osoby, która dopiero zaczyna swoją przygodę z programowaniem. Moim zdaniem na każdym etapie rozwoju jako programisty (junior, mid, senior) warto korzystać ze wsparcia mentora, nie zawsze musimy go nazywać mentorem, może, to być po prostu kolega z pracy z większym doświadczeniem od nas.
Podsumowując, poszukiwania mentora można rozpocząć w różnych miejscach, warto odpowiedzieć sobie na pytanie czy potrzebujemy mentora. Jeżeli odpowiedź na pytanie jest twierdząca i znajdziemy potencjalnych mentorów, to należy sprawdzić, co takiego dany mentor może nam zaoferować. Dobrze będzie umówić się na próbne zajęcia z mentorem i zweryfikować jak się nam z nim współpracuje. W kwestii współpracy, to należy zarezerwować sobie czas na samodzielną naukę (teoria i praktyka), jak również na same zajęcia z mentorem. Na koniec dodam, że z pomocy mentora może korzystać programista na dowolnym etapie rozwoju (junior, mid, senior).
Zdjęcie główne artykułu pochodzi z unsplash.com.