Praca w IT, Wywiady

Z pierwszej ręki – nauka programowania z perspektywy trenera. Rozmowa z Michałem Michalczukiem

InfoShare 2017 niedawno dobiegł końca. To jedna z największych konferencji technologicznych w Europie Środkowo-Wschodniej. Projekt, który rozwinął się od 200 uczestników przed dziesięciu laty na Politechnice Gdańskiej, do ponad 5000. Skończył się również kolejny rok akademicki i przyszedł czas wakacji, podczas których rozpoczęło się wiele kursów programowania.

Jedną ze szkół jest również Akademia infoShare, nasz Partner Honorowy podczas cyklu live-streamów z polskimi programistami z całego świata. Z tej okazji mieliśmy możliwość zaproszenia do rozmowy zarówno CEO Marcina Pokojskiego, jak i trenera Akademii Michała Michalczuka oraz Łukasza Komajdę, który skończył kurs i pracuje obecnie jako programista.

Nie zamierzamy pochylać się w tym momencie nad samymi kursami, których opisy znaleźć można na wszystkich stronach każdej ze szkół programowania. Przyjrzymy się tym razem nieco bliżej pracy trenera i jak wygląda nauka programowania z jego perspektywy, oczywiście z pierwszej ręki podczas wywiadu, którego nam udzielił na ostatnim live-streamie.

Takich relacji również brakuje w sieci, dlatego zdecydowaliśmy się dość mocno przepytać Michała Michalczuka, jak wygląda praca z osobami bez doświadczenia z programowaniem.

Zapraszamy do wywiadu.

Spis treści

Piotr Nowosielski: Cześć Michał, wspólnie mieliśmy już przyjemność prowadzić live-stream z Jakubem Jurkiewiczem, programistą z Nowej Zelandii (tutaj link), jednak teraz chciałbym porozmawiać o tym, jak wygląda Twoja praca. Powiedz coś o sobie.

Michał Michalczuk: Na co dzień pracuję w Goyello, to polsko-holenderski software house. Poza tym, uczę jako trener akademii infoShare a także prowadzę skromną knajpkę w Gdańsku o nazwie Rzecz Jasna.

Jak znalazłeś się w infoShare?

Wszystko zaczęło się rok temu w 2016 na konferencji infoShare w Gdańsku. Spotkałem się z kilkoma znajomymi programistami, którzy rozpoczęli przygodę z nauką programowania, opowiedzieli jak to wygląda i sam postanowiłem się sprawdzić. Zacząłem w sierpniu przed rokiem i z każdym miesiącem coraz więcej godzin spędzam na tym, aby uczyć innych.

Sprawdziłeś się w tej roli?

Podobno tak 🙂 Największą korzyścią z mojej pracy jest fakt, iż to, co mówię, nie idzie w próżnię, tylko jako trener dostaję regularny feedback od kursantów. Czyli po zajęciach każdy może napisać „Ty, Michalczuk, to w sumie nuda!” Jednak, o dziwo, nie robią tego. Po każdych zajęciach otrzymuję konkretny i szczery feedback – jeśli przynudzałem, lub za mocno rozwodziłem się nad danym tematem, bardzo szybko mogę się skorygować, co jest bardzo istotne, ponieważ mogę się regulować.

Ok, Ty się możesz regulować, a jak to jest, jeśli chodzi o elastyczność i formę przekazu. Nauczyciele w szkołach muszą wykładać od deski do deski wszystko zgodnie z programem. Czy Ty również musisz nauczać w konkretny, zaplanowany przez infoShare Academy sposób, czy masz wolną rękę? Jak to wygląda?

Dobre pytanie. Mamy pewien program kursu i jest on ściśle określony. Mamy konkretne cele, które chcemy zrealizować ze studentami i czego ich chcemy nauczyć i na cały kurs składa się cykl zajęć praktyczno-teoretycznych plus projekt, który kursanci rozwijają na przestrzeni całego szkolenia. Każde nowe zagadnienie to kolejna „cegiełka” do projektu. Czyli dla przykładu – dochodzi nowa technologia – kursanci wdrażają ją w swoim projekcie.

Ten program istnieje, ja się w niego muszę dopasować i wymaga to niemałej pracy, aby przygotować materiał, lecz moim celem jest przede wszystkim to, aby kursant zaczął myśleć jak programista i był w stanie wytworzyć coś jak programista i aby wiedział, po co są dane narzędzia. To nie są zajęcia w szkole bądź na uczelni, gdzie mówię do czasami lekko znużonych osób, które patrzą na mnie z wyrazem „o czym on do mnie mówi”, tylko prezentuję im rozwiązania na problemy, które już mieli.

Oczywiście nie wszystko jest jasne, dlatego bardzo często na bieżąco opowiadam o przykładach z własnego doświadczenia i z projektów, które sam rozwijałem pracując jako programista, dzięki temu odbiorca lepiej czuje temat. Opowiadam o dziwnych sytuacjach, fuck-up’ach i staram się przedstawić przede wszystkim praktykę. Wielu programistów ma wiedzę, jednak nie każdy potrafi ją umiejętnie przekazać. Czy Ty wcześniej już chciałeś dzielić się wiedzą z innymi, czy to wszystko przyszło spontanicznie, z biegiem czasu i pracy w Akademii?

Ta zajawka była już ze mną od dawna, ponieważ raz na jakiś czas można mnie spotkać w Trójmieście na warsztatach, których udzielam. To jest raczej konsekwencja. Zawsze bardzo cieszyło mnie uczenie innych i pomaganie ludziom. Sporo satysfakcji i dobry krok, odskocznia.

Czyli zamiast siedzieć w swojej knajpie siedzisz w Akademii i szkolisz innych lub jeździsz i prowadzisz warsztaty. Powiedz zatem jaki jest największy problem, z którym spotykają się kursanci?

Jest jeden problem, który przewija się niemalże przez pół kursu. Jest to obsługa Git-a, systemu kontroli wersji. Sam sobie strzelam w tym momencie w kolano, ponieważ to ja prowadzę z tego zajęcia. Poświęcam temu 6 godzin + później pracuję z kursantami nad zrozumieniem tego, lecz sam pamiętam po sobie, że jest to temat, który wymaga praktyki i trzeba się z nim po prostu dotrzeć.

Problem nieco zaskakujący. Jakie są problemy na ścieżce edukacji? Powiedz jak to widzisz, z czym technologicznie mają największe problemy.

Ja prowadzę zajęcia zarówno dla grup Frontendowych jak i Javowych, sam jestem Fullstack Developerem. Frontend w moim wykonaniu to głównie Angular, backend to natomiast C#. Na frontendzie dość dużym wyzwaniem dla kursantów jest początek JavaScriptu. To pierwszy język, którego kursanci się uczą i jest to pierwszy mur, gdzie pojawia się zwątpienie.

Aczkolwiek to szybko puszcza i nasza w tym rola, aby uświadomić, że on wcale nie jest taki wysoki, ja Ci pomogę. I to wychodzi bo rzeczywiście ludziom to zostaje w głowie. Nie taki diabeł straszny.

Jak to zatem wygląda od drugiej strony, skoro mamy okazję już porozmawiać. Czy trenerzy między sobą wymieniają swoje uwagi, może macie jakiś swój „pokój nauczycielski”, gdzie wymieniacie swoje uwagi?

Tak, mamy coś takiego jak „nauczycielski Slack” 🙂 To jest nasz główny kanał komunikacji miedzy sobą jak i z kursantami, oczywiście poza obecnością na kursach. Nie powiem, obgadujemy kursantów 🙂 Jednak jest to dobre, bo staramy się zauważyć, czy ktoś ma pewien problem, lub dotyka go brak motywacji.

Jeśli ktoś sam się do nas nie zgłosi, to my to również wyłapujemy między sobą, moim zdaniem to jest okej i widzę, że to pomaga. Staramy się dostrzec te osoby, którym trzeba pomóc i staramy się naprowadzić, poświęcając im nieco więcej czasu.

Rozumiem, każdy przyswaja wiedzę w różny sposób. Powiedz, jak duże Ty masz doświadczenie jako programista?

Ponad 5 lat. Przerobiłem różne technologie. Uważam, że technologia to tylko technologia. Jeśli nauczysz się jednego wycinka, to każdy kolejny, nowe języki, nowe frameworki, to już wszystko wchodzi o wiele łatwiej. Jednak nie należy się na samym początku rozdrabniać i rozsądnie jest się skupić na jakieś jednej konkretnej rzeczy, dobrze się jej nauczyć a dopiero potem rozszerzać swoje spektrum wiedzy i zainteresowań.

Jak sam się przygotowujesz do zajęć? Czy potrzebujesz już tego w tym momencie?

Tak naprawdę to biorę ramowy program kursu, następnie biorę jakiś temat i myślę, czego ja sam wymagałbym od siebie lub od osób, z którymi pracuję (bo sam czasem prowadzę rekrutację w firmie) i myślę, czego sam wymagałbym od osoby, która trafiłaby do mnie jako Junior Frontend Developer do zespołu.

W oparciu o to układam program plus o to, z czym mam najczęściej sam problemy, co się najbardziej przydaje. Nie robię tak tego czysto akademicko, w stylu – otwieram książkę z danej technologii, spoglądam na spis treści i to opisuję – ale to nie ma sensu. Myślę nad tym, co mi się przydało i czego używam na co dzień, ja lub moi koledzy.

Odbiję nieco w kierunku kursów dla osób zaawansowanych, ponieważ takie również prowadzisz, czy to podczas warsztatów, czy w samej Akademii infoShare. Mógłbyś coś więcej powiedzieć na ten temat?

Ostatnio (kwiecień 2017) prowadziłem warsztaty z Angular-a 2.0. To było dedykowane szkolenie dla firmy, którego program przygotowałem dokładnie pod nich. Czyli zdzwoniłem się z osobą, która odpowiadała za koordynację merytoryczną i zacząłem się pytać, co tworzą, jaką aplikację, do czego ona ma służyć i ułożyłem pod nich program.

Pojawiają się na bieżąco pytania na czacie, do których chciałbym nawiązać: Czy zauważyłeś różnicę w predyspozycjach osób, które są po studiach względem takich, które ich nie mają?

My uczymy przede wszystkim rzeczy praktycznych, aby sprawnie wprowadzić ludzi do branży. Nie skupiamy się aż tak na teoretycznych podstawach. Ja je przemycam i nie tylko ja, aczkolwiek to nie jest „clue”. Na studiach natomiast jest odwrotnie – część teoretyczna jest najważniejsza, a część branżowa jest nieco zaniedbywana.

Także my nie uczymy teorii, ale polecamy kursantom, aby do niej później wrócić. Z biegiem czasu naprawdę teoria bardzo się przydaje, bo nagle pozwala nam sobie jeszcze lepiej poukładać w głowie część rzeczy.

Rozumiem. Czy zauważyłeś, że ciężej jest uczyć programowania humanistów, czy jest to tylko mit? Jak to wynika z Twojego doświadczenia?

Absolutnie jest to mit. Często dopiero przy kawie z kursantami lub na zakończenie kursu dowiaduję się, co oni robili wcześniej. Także uczestnicy to pełen przegląd branż i specjalizacji, chodzi tutaj po prostu o predyspozycje.

Michał, bardzo dziękuję za poświęcony czas!

Jeżeli chciałbyś obejrzeć cały wywiad to zapraszam do poniższego wideo, które jest znacznie dłuższe i poruszamy w nim wszystkie aspekty związane z nauką programowania. Rozmawiamy nie tylko z Michałem Michalczukiem, lecz również z Marcinem Pokojskim (CEO infoShare Academy) oraz Łukaszem Komajdą (uczestnik kursów, obecnie programista).

Zapraszamy do wideo: Michał Michalczuk, Marcin Pokojski oraz Łukasz Komajda – z pierwszej ręki. Rozmowa z trenerem rozpoczyna się od 47 minuty:

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://geek.justjoin.it/z-pierwszej-reki-nauka-programowania-z-perspektywy-trenera-rozmowa-z-michalem-michalczukiem/" order_type="social" width="100%" count_of_comments="8" ]