Pytania do Junior Developerów po nauce z Devs-Mentoring.pl
Z miesiąca na miesiąc przybywa uczniów, którym udało się przebranżowić pod naszym okiem! W tym roku możemy naliczyć już kilkadziesiąt osób, które zrealizowały swój cel i pracują obecnie jako Junior Developerzy i nie tylko. Zarówno z obszaru Python Developmentu, Front-endu jak i Back-endu opartego o Javę.
Za sukcesem każdego z uczniów stoi inna historia, różne przeciwności, ale również owoce, które mogą teraz zbierać jako programiści. Wiem, że przypadki innych osób, którym udało się przebranżowić mogą dodatkowo motywować, jak i są cenną lekcją, jak najefektywniej podchodzić do samorozwoju.
Dlatego w tym artykule zadajemy pytania uczniom, którzy uczyli się pod naszym nadzorem i osiągnęli sukces, zdobywając swoją upragnioną pracę jako programista. Na pierwszy ogień wskakują Python Developerzy - Marcin i Stefan!
Odkrywamy standardy pracy i tajemnice efektywnego mentoringu! Gotowy?
Pytania do Junior Developerów
Marcin T.
Python Developer
Staż: 0.5 roku
Mentor: Kacper Garbaciński
0. W jakich technologiach czujesz się najpewniej?
Najpewniej czuję się w języku Python i technologiach backendowych (Flask). Wybór tego języka nie był przypadkowy. Zdecydowałem się na ten język po zaznajomieniu się z historią powstania nazwy Python - pochodzi on bowiem od grupy Monty Python, której jestem wielkim fanem.
1. Ile obecnie zarabiasz lub jeśli nie możesz powiedzieć - w jakich widełkach mieści się Twoja płaca?
Żeby nie narobić sobie nieprzyjemności związanych z ujawieniem moich zarobków (wewnętrzna polityka firmy) powiem, że w moim przypadku są to górne widełki dla Juniora (sięgające kwoty pięciocyfrowej brutto).
2. W jakiej firmie obecnie pracujesz i na jakim stanowisku?
Obecnie pracuję jako Junior Software Engineer w firmie Cognizant. Jest to amerykański Software House, który zajmuje się m.in. outsourcingiem programistów do międzynarodowych klientów.
3. W jakim wieku podjąłeś decyzję o przebranżowieniu?
Miałem 29 lat i podjąłem decyzję o przebranżowieniu, ponieważ w poprzedniej pracy całkowicie się wypaliłem, a nauka programowania dostarczyła mi ekscytacji, jakiej potrzebowałem.
4. Czym się wcześniej zajmowałeś?
Przed pracą jako programista przez długie lata pracowałem jako grafik lecz po czasie i "wtórności" zleceń przestałem czuć jakąkolwiek satysfakcję z wykonywanej pracy.
5. Co już umiałeś z programowania, gdy trafiłeś pod mentoring?
Gdy trafiłem pod opiekę mentora nie umiałem całkowicie nic. Musiałem nauczyć się wszystkiego od całkowitych podstaw.
6. Ile czasu zajęła Ci nauka z mentorem?
W moim przypadku od rozpoczęcia pracy z mentorem (przypominam że startowałem od zerowej wiedzy z programowania) do momentu znalezienia pierwszej pracy jako junior minęło 15 miesięcy.
7. Czy angielski był Ci potrzebny do zdobycia pracy?
W moim przypadku angielski odegrał dość dużą rolę w procesie rekrutacji. Pierwszy etap miałem z Polakiem (Senior Devem), który sprawdził tylko, czy dobrze komunikuję się w języku angielskim. Drugi etap natomiast był z Managerem, który z pochodzenia był Duńczykiem, więc z nim komunikacja odbywała się wyłącznie po angielsku.
8. Czy sama nauka sprawiała problemy i czy były jakieś tematy które „nie wchodziły”?
Odpowiadając na pierwszą część pytania, to ciężko powiedzieć... Moją naukę określiłbym mianem sinusoidy, ponieważ często czegoś nie rozumiałem i w takich momentach chciałem porzucić myśl o przebranżowieniu, jednak były też momenty, kiedy tematy i zadania zjadałem jak "Kronos dzieci". Tematów, które nie wchodziły też było trochę, jednak wymagały one po prostu więcej czasu, żeby dokładnie je zrozumieć i przerobić. Tutaj kluczową rolę odegrał mój mentor, który mnie nieustannie motywował, uświadamiał, że gorsze momenty w nauce programowania to naturalna kolej rzeczy i pomagał rozwiewać wątpliwości (dzięki Kacper!).
9. Jak wyglądała Twoja rekrutacja? Jakie miałeś zadania na swojej rozmowie kwalifikacyjnej?
Moja rekrutacja składała się z 3 etapów. Pierwszym była rozmowa z zewnętrzną rekruterką, która w zasadzie przepytała mnie z mojego CV.
Następnym była rozmowa z ww. Senior Devem trwająca mniej więcej godzinę. Podczas tej rozmowy wspomniany developer sprawdzał moją wiedzę na temat Pythona, frameworków, baz danych, bibliotek etc.
Nie pytał bardzo szczegółowo, ponieważ, jak powiedział mi parę miesięcy później przy szklance whisky, "Junior ma znać podstawy i tyle". Kolejną częścią rozmowy był live coding. Nie było to trudne zadanie, o ile mnie pamięć nie myli - musiałem zliczyć, ile razy występuje dany integer w liście liczb. Ostatnim etapem była rozmowa z Managerem, który sprawdzał moje soft skille, pytał o plany na przyszłość i czego bym oczekiwał od firmy. Cała rozmowa (i z devem i Managerem) trwała około półtorej godziny.
10. Ile razy nie przeszedłeś testów podczas różnych rozmów kwalifikacyjnych?
Miałem w sumie 6 rozmów rekrutacyjnych, także 5 z nich oblałem.
11. Jak przewidujesz, ile czasu dłużej zajęłoby Ci przebranżowienie, gdybyś uczył się bez mentora?
Niewątpliwie o wiele dłużej, o ile w ogóle udałoby mi się przebranżowić. Na początku nauki programowania nie wiedziałem nawet, czym są pętle w kodzie, a co za tym idzie nie umiałem korzystać z jakichkolwiek źródeł wiedzy (np. StackOverflow), nie wiedziałem skąd się uczyć, skąd brać materiały etc. W internecie jest pełno wiedzy, jednak brak w niej najlepszych praktyk programowania i wysokojakościowych informacji. Bez pomocy mentora nie wiedziałbym również w jakiej kolejności uczyć się tematów, a co za tym idzie mógłbym się szybko zniechęcić. Z mentorem natomiast nauka przebiegła liniowo i w odpowiednim, dostosowanym do mnie tempie.
W pozytywnym przypadku - myślę, że bez mentora przebranżowienie zajęło by minimum rok dłużej.
Dodam jeszcze, że mimo iż z mentorem spełniłem moje marzenie i pracuję już jako programista, to z Kacprem rozwijam się nadal i szkolimy się, abym mógł szybciej wskoczyć na poziom Mid w mojej pracy.
Stefan R.
Python Developer
Staż: 1 miesiąc
Mentor: Kacper Garbaciński
0. W jakich technologiach czujesz się najpewniej?
Technologia w której czuję się najlepiej to język Python. Wybór tego języka był całkowicie przypadkowy. To przez moją pierwszą książkę. Jej tytuł nie sugerował, z czym dokładnie będę miał do czynienia, okazało się, że cała idea programowania została przedstawiona właśnie w tym języku. Gdy skończyłem czytać tę książkę, przejrzałem oferty pracy i postanowiłem, że będę kontynuował naukę tego języka i związanych z nim frameworków i bibliotek. Resztę technologii wybierałem na podstawie ogłoszeń pracy w mojej okolicy.
1. Ile obecnie zarabiasz lub jeśli nie możesz powiedzieć - w jakich widełkach mieści się Twoja płaca?
Jestem niebywale zadowolony z mojej pierwszej pracy. Żeby stworzyć tło sytuacji powiem, że aplikowałem na staże które oferowały 2000 złotych miesięcznie przez pierwsze 3 miesiące. Pamiętam, jak ubolewałem, gdy na taki staż się nie dostałem. Dwa dni później dostałem odpowiedź z innej firmy, która zaproponowała mi 40 złotych netto na godzinę na umowie B2B. W skali miesiąca, który liczy średnio 160 godzin to 6400 zł netto.
2. W jakiej firmie obecnie pracujesz i na jakim stanowisku?
Mam to szczęście, że pracę zacząłem jako junior, a nie stażysta. Firma w której pracuje nie jest firmą stricte IT. Zatrudnia ona programistów, którzy utrzymują i rozwijają jej własne projekty. Jeden z developerów tej firmy przeprowadzał rekrutację i to on podjął decyzję o moim zatrudnieniu.
3. W jakim wieku podjąłeś decyzję o przebranżowieniu?
To była długa walka z samym sobą, ale konkretna decyzja padła gdy miałem 27 lat. Pociągnęło to ze sobą wiele wyrzeczeń, ale z perspektywy czasu nie ma niczego, czego bym dzisiaj żałował.
4. Czym się wcześniej zajmowałeś?
Hah! Robiłem wiele rzeczy. Kiedyś jak ktoś mnie o to pytał, to często odpowiadałem "szukam sensu życia, a poza tym...".
Poza tym, miałem trzy podejścia na studia, żadne niezwiązane z IT, żadnych nie ukończyłem, pracowałem na budowie, na magazynie, jako przedstawiciel handlowy, miałem swoją taksówkę... może coś ominąłem. Potem znowu wróciłem na budowę, uzbierałem na narzędzia i zacząłem rozkręcać własną firmę budowlaną. Mówi się, że od budowlańca do dewelopera, chyba trochę źle zrozumiałem te powiedzonko...
5. Co już umiałeś z programowania, gdy trafiłeś pod mentoring?
Całkiem dużo, solidne podstawy Pythona, podstawy technologii frontendowych, framework Django na przyzwoitym poziomie, ORM, DRF, podstawy Dockera itd. Można powiedzieć wszystkiego po trochu, bo dokładnie nie wiedziałem co jest ważniejsze i w jakim zakresie powinienem to umieć, to jeden z powodów, dla którego zdecydowałem się na współpracę z mentorem.
6. Ile czasu zajęła Ci nauka z mentorem?
Z mentorem współpracowałem 4 miesiące. To był bardzo owocny okres. Mentor wypunktował moje braki i uświadomił mnie, że teoria jest również ważna. Wiele się słyszy o tym jak wygląda praca programisty. Na jednym ekranie IDE, a na drugim przeglądarka gdzie praktycznie jest cała wiedza potrzebna do pracy. Jednak rozmowa kwalifikacyjna to nie praca, nie można odpowiedzieć gdy się nie zna odpowiedzi: "sprawdzę w necie", to nie przejdzie, są rzeczy które po prostu trzeba znać.
7. Czy angielski był Ci potrzebny do zdobycia pracy?
Nie, o dziwo nie. Mój klient to firma polska z polskim zarządem, tak samo w teamie są sami Polacy, a jak na ironię, rozmowa po angielsku to była rzecz, której się obawiałem najbardziej. W związku z tym byłem całkiem dobrze przygotowany na tę sytuację. Na innych rozmowach zdarzyło się rozmawiać po angielsku i ostatecznie okazało się, że programiści lub HRki to nie angliści i wymagany poziom nie był tak wysoki.
8. Czy sama nauka sprawiała problemy i czy były jakieś tematy które "nie wchodziły”?
Samodzielna nauka sprawia wiele problemów, ale i ogromną satysfakcję. Największy problem miałem na początku z motywacją i utrzymaniem codziennej rutyny. A z kwestii technicznych, ciężko powiedzieć... Oczywiście, były chwile zwątpienia, dlatego wyrobiłem sobie motto "wszystko jest trudne, dopóki się tego nie nauczysz".
Moja rada: jak już czacha paruje, odpuść, wyśpij się i podejdź do tematu kolejnego dnia. Ja niekiedy miałem takich podejść miałem trzy, albo i więcej. No i do tematu podchodziłem bardzo ambitnie - mam na myśli, że nie wystarczyło mi, że coś działa, ja musiałem wiedzieć dlaczego jest tak i czy można inaczej. Dużo czasu poświęciłem (nie zmarnowałem!) na poboczne tematy...
9. Jak wyglądała Twoja rekrutacja? Jakie miałeś zadania na swojej rozmowie kwalifikacyjnej?
Dla firmy, w której obecnie pracuję musiałem stworzyć grę kółko i krzyżyk z wykorzystaniem Flaska i SqlAlchemy - technologii, które dopiero mentor pomógł mi opanować.
W sekcji "nice to have" było m.in. SocketIO, którego nie znałem wcześniej, ale żeby się wybić, stwierdziłem, że się szybko nauczę. W zadaniu były określone wymagania dotyczące zasad gry, punktacji, wyświetlania statystyk, agregacji danych etc. Jednym z wymagań było również stworzenie Dockerfile dla tego projektu. Na początku zadanie wydawało się trywialne, ale podczas pisania napotkałem wiele niejasności, chociażby pierwszy raz miałem styczność z konceptem socketów. Byłem dość niezadowolony z tego co odesłałem, czułem, że mogę to doszlifować, niestety nie było już czasu. W ogóle nie liczyłem na odzew, a jednak zostałem zaproszony do kolejnego etapu, czyli rozmowy technicznej, a dzisiaj tam pracuję.
10. Ile razy nie przeszedłeś testów podczas różnych rozmów kwalifikacyjnych?
Nie potrafię powiedzieć, ile dokładnie, ale co najmniej kilka rekrutacji oblałem. Wydaje mi się, że przechodzenie rozmów kwalifikacyjnych to umiejętność, której również trzeba się nauczyć, głównie mam tu na myśli radzenie sobie ze stresem. Do tego, uważam, że znalezienie pracy to też trochę kwestia szczęścia, każda rozmowa jest inna, ludzie po drugiej stronie są różni, pytania oraz zadania się zmieniają, do każdej rozmowy podchodzimy z innym nastawieniem i samopoczuciem. Mimo to trzeba próbować, z każdej rekrutacji wyciągnąć wnioski i być lepiej przygotowany na każdą kolejną.
11. Jak przewidujesz, ile czasu dłużej zajęłoby Ci przebranżowienie, gdybyś uczył się bez mentora?
Myślę, że co najmniej pół roku dłużej (o ile w ogóle udałoby mi się wejść na rynek IT i się nie zniechęcić). Właściwie dopiero mentor zasugerował mi naukę technologii, których używam obecnie w pracy. Mentor, który dodatkowo pracuje jako programista, zna obecne trendy na rynku i jest w stanie dobrze nakierować podopiecznego. Pod okiem mentora poznałem konwencję i dobre praktyki. Do tego mentor to świetna motywacja do pracy, po pierwsze daje konkretne zadania do zrobienia, problem samodzielnej estymacji co jest ważniejsze do nauczenia odpada, po drugie, zawsze chciałem mieć jak najwięcej pytań do mentora, co wiązało się z tym, że pracowałem więcej żeby trafić na jakąś "ścianę" którą dopiero z pomocą mentora byłem w stanie przebić.
Wszystkiego optymalnego!