Szkolenia on-line: bohaterowie nowej rzeczywistości
Streszczenie odcinka:
⚫️ Czy możesz powiedzieć dwa słowa o sobie? Czym się zajmujesz?
⚫️ Czy w związku z aktualną sytuacją powinniśmy wykorzystać czas, którego jest być może trochę więcej na naukę nowych rzeczy?
⚫️ Jak efektywnie się uczyć? Na co zwrócić uwagę?
⚫️ Jakie źródła można wykorzystać do samodzielnej nauki?
⚫️ Czy mamy jakieś alternatywy do tradycyjnych kursów stacjonarnych?
⚫️ Czy możesz opowiedzieć jak wyglądają szkolenia zdalne, blended learning oraz elearningowe?
⚫️ Jakie wady, a jakie zalety ma taka forma edukacji w stosunku do szkoleń stacjonarnych lub nauki własnej?
⚫️ Jak nie stracić zaangażowania do nauki?
⚫️ Czego warto się uczyć jeśli jesteśmy lub chcemy zostać programistą Javy?
⚫️ Dlaczego Spring stał się de facto standardem jeśli chodzi o wytwarzanie oprogramowania w Javie?
⚫️ Gdzie możemy znaleźć informacje na jego temat? W jaki sposób możemy się go nauczyć?
⚫️ Czy łatwo nauczyć się Springa samodzielnie?
⚫️ Czy możesz opowiedzieć o szkoleniu Spring, które przygotowałeś w formie elearningu?
⚫️ Kto może z niego skorzystać? Do kogo jest ono skierowane?
⚫️ W jaki sposób dobrany został zakres materiału? Czym się kierowałeś?
⚫️ Czym różni się to szkolenie o typowego video do nauki?
⚫️ Jak realizowana jest praktyczna część szkolenia?
⚫️ Czy po takim szkoleniu możliwa jest certyfikacja / zdanie jakiegoś egzaminu?
Transkrypcja odcinka:
Cześć, z tej strony Łukasz Kobyliński. Witam Was w kolejnym odcinku podcastu Stacja IT. Zostajemy w temacie koronawirusa, pracy zdalnej i tego, co można robić w trakcie trwania pandemii, a można się pewnie uczyć i rozwijać. Dzisiaj podejmiemy więc temat edukacji zdalnej, a z nami jest Łukasz Andrzejewski.
Cześć, Łukasz.
Cześć, bardzo mi miło.
Czy zdarzyło ci się korzystać z metod edukacji zdalnej, materiałów internetowych, e-learningów, kursów itd.?
Tak, wielokrotnie. Myślę, że to jest coraz bardziej popularna forma edukacji i naturalny kierunek rozwoju technologii.
Przypomnij wszystkim, czym się zajmujesz na co dzień, bo już raz pojawiłeś się w naszym podcaście.
Na co dzień zajmuję się kilkoma rzeczami, ponieważ z jednej strony od bardzo długiego czasu jestem trenerem m.in. technologii Java, natomiast jednocześnie cały czas aktywnie uczestniczę w projektach, prowadzę także konsultacje, po to żeby mieć styczność z realnymi problemami i nie oderwać się zanadto od tego, co się aktualnie dzieje. Można powiedzieć, że te dwie rzeczy bardzo fajnie się uzupełniają, bo ta praktyka pozwala na to, żeby być lepszym trenerem, nie mieć tylko wiedzy teoretycznej, a z kolei szkolenia sprawiają, że ciągle się rozwijam, uczę i poprawiam swoją znajomość technologii również w takim szerszym kontekście.
Wiele osób spogląda teraz na branżę IT z zazdrością, bo to pewnie jedna z niewielu branż, która dobrze się ma w trakcie pandemii i tej całej izolacji. Zapewne zastanawia się, czy mogłoby się tym zająć albo rozwijać w tym zakresie. Czy uważasz, że teraz jest dobry czas na podjęcie takiego samodoskonalenia czy w ogóle edukacji w IT, bo nie tak dawno temu pojawiały się głosy, że programistów jest już za dużo, a stawki doszły tu do poziomów abstrakcyjnych. A z drugiej strony mówi się coraz więcej o różnego rodzaju technikach czy technologiach pozwalających na tworzenie kodu bez programowania. Krótko mówiąc: czy programowanie jest nadal atrakcyjne i czy ten obecny czas warto poświęcić na edukację w tym kierunku?
Myślę, że w stu procentach. Każdy czas jest dobry na naukę i rozwój. Myślę, że w obecnej sytuacji to chyba najlepsza inwestycja, jaką możemy zrobić, siedząc w domu, wykorzystując ten dodatkowy czas, który posiadamy. Dodatkowo myślę, że każdy programista czy bardziej ogólnie: każdy pracownik tej branży powinien stale się rozwijać, po to żeby podnosić swoje kwalifikacje, nadążać za zmianami, które zachodzą, poznawać nowości, które się pojawiają, i po prostu – być lepszym specjalistą. Ja bym poszedł nawet jeszcze dalej – myślę, że każdy z nas powinien być swojego rodzaju pasjonatem czy gikiem, który tym wręcz żyje, uczy się z przyjemnością, ponieważ chce, nie że musi. To jest taka recepta zarówno na to, żeby stać się specjalistą, być dobrym w swoim zawodzie, ale też pracować i mieć z tego przyjemność.
Odnośnie ilości programistów na rynku, faktycznie zdecydowanie jest ich dużo więcej, natomiast pracy dla nich – również więcej. Pracy dla programistów, którzy są bardziej zaawansowani, są seniorami, nadal jest bardzo dużo, ponieważ sporo młodych osób wchodzi w rynek, ale oni nie mieli jeszcze możliwości zbudowania sobie umiejętności, doświadczenia, które wymagane są przy tych bardziej złożonych problemach czy troszkę bardziej skomplikowanych kwestiach.
Twoje spojrzenie na to jest dość unikalne, bo z jednej strony jesteś trenerem, uczysz innych, a z drugiej – programistą, czyli sam korzystasz z tej wiedzy. Powiedz, jak się rozwijasz, skąd czerpiesz wiedzę, szczególnie obecnie, kiedy te kontakty międzyludzkie są ograniczone. Jakie źródła samodoskonalenia polecasz?
W dużej mierze jest to kwestia bardzo indywidualna. Jedni wolą uczyć się samodzielnie, inni z kolei tę wiedzę wolą mieć podaną w takiej sensownej, przygotowanej formie. Natomiast na pewno bardzo ważną kwestią jest praktyka, tzn. w dzisiejszych czasach dostępność do informacji, do różnego rodzaju książek, tutoriali, źródeł w internecie, jest bardzo powszechna i nie trzeba w zasadzie dysponować nawet żadną gotówką, żeby móc z nich korzystać. Natomiast samo obejrzenie filmiku czy przeczytanie jakichś książek czy dokumentacji nie wystarczy. Bardzo ważna jest kwestia pracy własnej, tego, żebyśmy spróbowali wykorzystać tę wiedzę praktycznie, nawet jeżeli nie mamy możliwości wzięcia udziału w jakimś konkretnym projekcie, to można spróbować wymyślić sobie jakieś zadanie, prostą aplikację tylko dla siebie i w ten sposób spróbować tę wiedzę utrwalić, jeszcze lepiej zrozumieć to, czego się dowiedzieliśmy, bo dopiero wtedy tak naprawdę wychodzą prawdziwe smaczki, prawdziwe problemy. I to w zasadzie jest jedyny sposób na to, żeby w efekcie być w stanie użyć tej technologii w realnym projekcie.
Druga kwestia, która też jest bardzo ważna, i myślę, że musimy się kierować takim podejściem, to swojego rodzaju dociekliwość. Musimy być ciekawi, sami sprawdzać, jak coś działa, jakie są alternatywy, możliwości, podejścia, jeśli chodzi o rozwiązania określonego problemu, czyli ciągle poszerzać swoje horyzonty, drążyć temat, bo jeżeli tego nie zrobimy, to nie będziemy przygotowani na rozwiązywanie później realnych problemów, które nie zawsze są jednolite, bo zawsze stoją przed nami nowe wyzwania.
IT, programowanie jest o tyle specyficzne, że tę wiedzę cały czas trzeba pogłębiać i aktualizować, bo wszystko szybko się zmienia, a nawet jeśli się nie zmienia, to trafiamy na jakieś nietypowe problemy, których nie znajdziemy w podręczniku i trzeba rozwiązywać je samodzielnie. Natomiast jest sporo takich źródeł, które nam w tym pomagają. Wiele osób z branży IT już z nich korzysta. Sztandarowym przykładem jest słynny Stack Overflow, który urósł już nawet do memów typu: „Programowanie przy pomocy Stack Overflow to znaczy wyszukiwanie gotowych odpowiedzi na nasze problemy”. Więc takie serwisy na pewno się przydają, kiedy mamy jakiś konkretny problem. Stąd pytanie: jeśli ty masz potrzebę dowiedzenia się czegoś nowego o jakiejś technologii albo o jakichś nowinkach, to czy zwykle sięgasz do oficjalnych stron producentów tych technologii czy jakichś blogów? Jak ty to widzisz ze swojej praktyki?
Na pewno zajrzenie do dokumentacji, do oficjalnych informacji to bardzo dobry pomysł. Muszę przyznać, że dużym zaskoczeniem jest tu to, że wielu programistów, z którymi się spotkałem, akurat z takiego źródła nie korzysta, co jest dosyć ciekawe i zaskakujące. Częściej wybierane są różnego rodzaju tutoriale, kursy on-line, taka wiedza, którą możemy znaleźć powszechnie, czy tak jak wspomniałeś Stack Overflow lub też po prostu internet. Natomiast ja osobiście bardzo mocno korzystam z książek, co oczywiście w połączeniu z kursami on-line bardzo fajnie się sprawdza, natomiast wydaje mi się, że czytając książkę też można sobie na spokojnie tę wiedzę poukładać w głowie i pewne rzeczy przyswoić.
Z drugiej strony mam też sporo takich zabukowanych blogów, które znalazłem w sieci, staram się je śledzić, pewnie stale dochodzą nowe, bo dzisiaj bardzo popularne jest prowadzenie bloga i dzielenie się tą wiedzą. Myślę, że jest to też część tej naszej społeczności IT czy część naszej pracy, żebyśmy potrafili dać innym coś od siebie i wzajemnie się tą wiedzą wymieniać. Oczywiście mamy też do czynienia z różnego rodzaju szkoleniami, czy to tradycyjnymi, stacjonarnymi czy coraz bardziej popularnymi szkoleniami zdalnymi, które mogą występować w bardzo rożnych formułach.
Tak, bo właśnie z drugiej strony tej barykady zupełnie innym źródłem nauki w przeciwieństwie do samodzielnego wyszukiwania informacji w sieci, czytania dokumentacji jest informacja przekazywana przez kogoś w jakiś uporządkowany sposób. I sztandarowym tego przykładem są szkolenia na żywo w sali z trenerem, czyli takie, które m.in. ty prowadzisz. Jak porównałbyś te formy? Do kogo jest to kierowane ? Jakie są wady i zalety takiego szkolenia na sali w porównaniu do samodzielnej nauki w domu?
Na pewno zestawiając szkolenia, czy to stacjonarne, czy różnego rodzaju szkolenia zdalne z nauką samodzielną, trzeba przyznać, że ta samodzielna praca jest odrobinę trudniejsza, ponieważ sami musimy dotrzeć do informacji, sami ją uporządkować, odkryć pewne rzeczy samodzielnie, co nie zawsze jest takie proste, bo bardzo często zdarza się, że technologia, której się uczymy, jest bardzo rozbudowana i złożona i nawet sama konfiguracja środowiska może sprawić, że gdzieś tam polegniemy i odpuścimy. Myślę, że w ogóle podejście, w którym staramy się korzystać ze szkoleń, czy to stacjonarnych, czy zdalnych, jest o tyle fajne, że idąc na takie szkolenie, mamy pewną gwarancję, że dostaniemy uporządkowaną, przygotowaną wiedzę, wsparcie w postaci trenera czy osoby prowadzącej, która bardzo szybko jest nam w stanie pomóc, w przypadku gdy wystąpiłyby jakieś problemy, wesprzeć nas, kiedy będzie to potrzebne, czy też odpowiedzieć na konkretne pytania. I to dotyczy zarówno szkoleń stacjonarnych, jak i zdalnych, ponieważ w przypadku nawet różnych form tych szkoleń zdalnych taka możliwość interakcji również na dzień dzisiejszy istnieje, bo pozwala nam na to aktualnie technologia. Jeżeli chodzi o dodatkowe różnice, zalety, wady, to gdyby spojrzeć na szkolenia zdalne, to niewątpliwą ich zaletą jest możliwość uczestnictwa w takim szkoleniu, nie będąc fizycznie na sali szkoleniowej. Czyli można to zrobić z domu, z zupełnie innego miasta, miejsca na ziemi. Pozwala to też przekroczyć pewne bariery, ponieważ z różnych powodów nie zawsze jesteśmy w stanie dotrzeć np. na szkolenie zagranicą czy do innego miasta.
Na przykład z powodu koronawirusa – przypomnijmy, że nagrywamy w marcu 2020 r., kiedy wszyscy są zamknięci w domach.
Tak. Więc powody mogą być totalnie niezależne od nas. Oczywiście wiąże się z tym też inna kwestia, np. kosztów, które ponosimy, bo unikając wyjazdu, noclegu, wyżywienia w obcym miejscu, de facto jesteśmy w stanie też dosyć mocno zredukować ponoszone koszty. Tak więc to też jest zaleta. Dodatkowo zwróciłbym uwagę na kwestię możliwości bieżącej współpracy z osobą prowadzącą. To jest jeden z tematów, który często jest podnoszony w kontekście szkoleń zdalnych. Na bazie doświadczeń, które mam ze szkoleniami zdalnymi, nie jest to duży problem, ponieważ w dowolnym momencie możemy zadać pytanie, pokazać swój pulpit. Trener za naszą zgodą przejmie kontrolę nad tym, co się dzieje na naszym komputerze, i fizycznie nam pomoże, jakby stał za naszymi plecami na sali szkoleniowej. Myślę, że dzięki rozwojowi technologii faktycznie te szkolenia zdalne nie są dzisiaj gorszym typem szkoleń, absolutnie. Powiedziałbym wręcz, że na swój sposób zyskują większą wartość, ponieważ są dużo łatwiej dostępne i być może o wiele mniej kosztowne w stosunku do szkoleń tradycyjnych.
Myślę, że postęp technologiczny dużo zmienił, bo komunikacja zdalna, szczególnie wideo, kojarzy się często z jakąś traumą spowodowaną niemożliwością nawiązania połączenia, zrywania go, odpadania ludzi z tej konferencji. Obecnie dzięki nowym aplikacjom, które pozwalają na taką komunikację, i też ze względu na szybszy internet, to wszystko działa lepiej. My w tej chwili rozmawiamy przez jedną z takich aplikacji, tzn. przez ZOOM, o którym zrobiło się głośno w czasie pandemii. Wiele osób go albo odkrywa, albo reklamuje jako aplikację, z której korzystali, która rzeczywiście jest stabilna i działa. Dlatego korzystanie z takiego ZOOM-a i odpowiednio szybkiego internetu rzeczywiście daje pewność przeprowadzenia takiej rozmowy, konferencji lub szkolenia bez większych problemów.
Dodajmy może tylko tyle, że faktycznie dzisiaj te wymagania dotyczące tego typu oprogramowania są bardzo niskie. W większości przypadków wystarczy zwykła przeglądarka, zwykłe domowe łącze i w zasadzie mamy wszystko, co jest potrzebne do tego, żeby działać, może jeszcze kamerka internetowa i jakieś słuchawki z mikrofonem. Natomiast jeszcze dosłownie kilka lat temu to wcale nie było takie proste. Więc tak jak powiedziałeś, ten postęp technologiczny sprawił, że przesuwamy się w zupełnie innym kierunku w związku z codzienną edukacją i zajęciami. Pokazuje to nawet sytuacja, w której aktualnie się znaleźliśmy, i to, w jaki sposób uczą się chociażby dzieci w szkole. Dzisiaj powoli następują próby przesunięcia tej edukacji w kierunku zdalnej, żeby zapobiegać tego typu sytuacjom czy problemom.
Powiedzieliśmy o dwóch skrajnościach, czyli z jednej strony samodzielnej nauce polegającej na wyszukiwaniu informacji na blogach czy w dokumentacjach, kupowaniu książek, a z drugiej –szkoleniach stacjonarnych lub zdalnych w małej grupie. Oprócz tego jest całe spektrum pośrednich rzeczy, w sensie i kosztowym, i zaangażowania czasu, ale też pewnie jakichś efektywności, więc może też je wymieńmy i powiedzmy, jak to wygląda. Bo są kursy on-line, czyli coś troszeczkę innego niż szkolenie zdalne, mamy możliwość uczestnictwa w jakichś wydarzenia typu webinaria czy meetupy zdalne, kursy typu blended learning. Jak to wygląda z twojej perspektywy – trenera i osoby, która sama poszerza swoje umiejętności – co każda z tych form daje, jakie ma wady i zalety?
Zacznijmy od szkoleń zdalnych, bo one są chyba najbliższe temu, o czym do tej pory mówiliśmy. Dzięki temu, że mamy dzisiaj oprogramowanie, które w zasadzie bez większej konfiguracji czy jakiegoś naszego udziału pozwala na stworzenie wirtualnej klasy, w zasadzie możemy doprowadzić do sytuacji, w której wszyscy się widzimy, słyszymy, współdzielimy informacjami, pulpitem, pokazujemy prezentacje czy nasze działania na poziomie komputera innym uczestnikom, a jednocześnie udzielamy bezpośredniej pomocy dzięki możliwości przejmowania kontroli nad komputerem danego uczestnika, oczywiście za jego zgodą i w sposób bezpieczny. Szczerze mówiąc, poza formą zdalną, bardzo mocno zestawiłbym to szkolenie ze szkoleniem stacjonarnym. To wszystko dzieje się na żywo przy udziale wszystkich osób, które na tym szkoleniu się znajdują. Jest ono bardzo aktywne i ta interakcja cały czas tam występuje.
Natomiast szkolenie blended learning z jednej strony jest w jakimś stopniu formą pośrednią pomiędzy szkoleniem zdalnym a typowym e-learningiem, z drugiej strony – rozszerzeniem tego szkolenia zdalnego. Oczywiście możemy przeprowadzić część zajęć w trybie zdalnym, natomiast bardzo często jest to uzupełnione o jedną dodatkową czy kilka sesji, które będą obejmowały różnego rodzaju konsultacje, być może realizację praktycznych zadań, jakiegoś projektu, taką indywidualną konsultację. Więc generalnie jest taki efekt czy dodatkowy element, który ja bym zamknął czy podsumował w taki sposób, że mamy możliwość indywidualnego, dodatkowego mentoringu czy zadań do zrealizowania, które pozwalają nam tę część typowo zdalną jeszcze bardziej wzbogacić i uefektywnić.
Wreszcie, idąc jeszcze dalej, mamy szkolenia typowo e-learningowe, w których każdy, kto ma dostęp do materiałów w całości w wersji elektronicznej poprzez materiały wideo, dodatkowe prezentacje, dokumenty, może samodzielnie tę naukę realizować. Co też jest dosyć fajne, bo ta wiedza jest przygotowana, a my musimy ją tylko w dogodny dla siebie sposób, w dowolnym momencie i zgodnie z dogodnym dla nas tempem przyswoić, natomiast jednocześnie nadal jest możliwość tej interakcji z trenerem poprzez jakiś czat, forum, dodatkowe konsultacje czy sesje na żywo, by sobie jeszcze coś dodatkowo utrwalić czy wyjaśnić wątpliwości.
Każde z tych podejść ma swoje zalety i pewnie zależy od takich indywidualnych preferencji, bo tak jak mówiliśmy, być może sporo osób musi pogodzić tę naukę z bieżącym życiem. I np. to, że mogą się samodzielnie uczyć w dogodnych dla siebie godzinach i w tempie odpowiadającym dokładnie ich potrzebom, jest bardzo dużym plusem.
Jeśli chodzi o formy e-learningowe i naukę samodzielną, to często pojawia się problem zaangażowania. Osobiście zapisałem się na 30 różnych kursów tego typu, np. Coursera, edX itp., ale na palcach jednej ręki mogę wymienić te, które ukończyłem. Natomiast na szkolenia, w których uczestniczyłem osobiście, czy to na sali, czy zdalnie, musiałem zarezerwować sobie czas i zadeklarować, że będę na nich od poniedziałku do piątku, więc je ukończyłem. Czy widzisz problem i zagrożenie w tym, że ktoś podejmuje takie wezwanie, a później zapomina o sprawie? To było podnoszone w przypadku Coursery, której założycielka mówiła, że tylko kilka procent osób rozpoczynających kurs go kończy. Weźmy też pod uwagę, że większość kursów tam jest za darmo, więc to nasze początkowe zaangażowanie jest minimalne, bo musimy tylko kliknąć „zapisz się na kurs” i to wszystko. Nie musimy wyjmować nawet karty kredytowej i jakiejś tam kwoty sobie zarezerwować. Więc bardzo łatwo jest tu zacząć, natomiast trudno skończyć. W jaki sposób utrzymać to zaangażowanie? Jak można temu zagrożeniu przeciwdziałać?
Zdecydowanie ta kwestia zaangażowania jest tu bardzo ważna. Wydaje mi się, że to jest jedna z tych najważniejszych rzeczy, którą trzeba wziąć pod uwagę, przygotowując takie szkolenie, które będzie w innej formie niż tradycyjna, czyli stacjonarna. Bo to będzie dotyczyło zarówno szkoleń zdalnych, jak i samego e-learningu. I myślę, że to jest też bardzo ważne. Może w przypadku tych szkoleń zdalnych troszkę mniej, bo jednak będziemy się umawiali na pewne konkretne dni, na pewne konkretne godziny. Ale jeżeli na różne sposoby nie będziemy budować tego zaangażowania, interakcji przez nas inicjowanej, to nadal jestem sobie w stanie wyobrazić, że na kursie mamy uczestnika, który potencjalnie może się z niego wyłączyć, nie uczestniczyć, nie słuchać, czy tej wiedzy w jakimś stopniu aktywnie nie przyswajać.
To samo ma miejsce w przypadku kursów typowo e-learningowych, ponieważ jeszcze łatwiej jest odpuścić, nie kontynuować czy w ogóle nawet nie zacząć i skończyć na etapie zapisywania się. Co można zrobić? Generalnie na dzień dzisiejszy tych pomysłów już troszkę odkryto. Z jednej strony są to różnego rodzaju ćwiczenia praktyczne do samodzielnego wykonania, zwłaszcza w formie interaktywnej. Mamy platformę, która pozwala na uruchomienie kodu, sprawdzenie, czy on działa, podpowiedzenie, co można by było w nim zmienić, poprawić, żeby dane zadanie rozwiązać lepiej albo po prostu poprawnie. Z drugiej strony to są różnego rodzaju grywalizacje, zbieranie punktów, odznak, które powodują, że naturalnie uruchamiają się mechanizmy powodujące, że chcemy działać dalej, stawać się lepsi, rywalizować z innymi uczestnikami takiego kursu. Na pewno różne formy interakcji, zaczynając od maili, które są rozsyłane i zachęcają do tego, żeby wrócić do kursu, przeczytać być może jakąś ciekawą informację na dany temat i tym samym aktywować tego uczestnika, czy np. różnego rodzaju powiązane z kursami fora, które pozwalają na wymianę informacji pomiędzy osobami, które zdecydowały się uruchomić taki kurs. To są typowe przykłady, które zwiększają szanse na to, że osoba, która chciała przystąpić do takiego kursu lub go już rozpoczęła, faktycznie będzie go kontynuowała i go skończy. Być może jeszcze jakieś dodatkowe nagrody na zakończenie, np. certyfikat, uzyskanie tytułu, tablica wyników z najlepszymi osiągnięciami uczestników – to też jest element motywujący.
Kontekst naszej dzisiejszej rozmowy jest z jednej strony taki, że mamy właśnie izolację społeczną i koronawirusa, stąd tematy pracy zdalnej i edukacji nie w domu, a z drugiej taki, że ty również przygotowujesz kurs on-line, więc o tym też możemy dzisiaj porozmawiać. Bo powiedzieliśmy sobie o wadach i zaletach różnych podejść i o problemach, które się z nimi wiążą. Mówiliśmy o utrzymaniu zaangażowania, wspomniałeś o platformie, która umożliwia tworzenie kodu za pomocą przeglądarki internetowej i komunikację z prowadzącym takiego kursu w łatwy sposób. Czy możesz powiedzieć kilka słów o tym swoim kursie? Dlaczego zdecydowałeś się go przygotować, dlaczego z takiego a nie innego tematu i dlaczego ten kurs jest unikalny, w jaki sposób odpowiada na te problemy, o których dzisiaj rozmawialiśmy?
Kurs będzie dotyczył szeroko pojętego tematu dotyczącego Spring Framework, rozwiązania, które w zasadzie dzisiaj stało się swojego rodzaju standardem, jeżeli chodzi o wytwarzanie oprogramowania przy użyciu Javy czy w ekosystemie Javy. Pewnie warto wspomnieć, że wynika to przede wszystkim z zastosowania rozwiązania, które jest bardzo wszechstronne, pozwala na rozwiązywanie w zasadzie wszystkich typowych problemów, które spotkamy w realnym projekcie, a przy okazji pozwala nam się skupić na celach biznesowych, realizowaniu funkcjonalności, a nie rozwiązywaniu takich problemów, które pewnie już zostały rozwiązane i za które de facto nawet nie dostajemy pieniędzy, bo zamawiającego nie interesuje napisanie systemu transakcyjnego czy rozwiązania do bezpieczeństwa, tylko dostarczenie tego, co jest dla niego wartością biznesową.
Druga kwestia dotyczy promowania czy prowadzenia nas w kierunku poprawnych rozwiązań, tworzenia czystego, testowalnego kodu. Ponieważ Spring promuje bardzo dużo dobrych praktyk, wzorców projektowych, więc skutkuje to tym, że nawet takie osoby, które dopiero zaczynają przygodę z programowaniem w Javie, są w stanie, po pierwsze, tworzyć ten kod dużo lepiej i fajniej, a z drugiej strony też przy okazji uczyć się właśnie tych dobrych praktyk, bo ten narzucony styl działania oprogramowania powoduje, że myślimy już w pewien specyficzny, poprawny sposób.
Trzecia kwestia to łatwość wejścia w samo rozwiązanie. Żeby zacząć pracę ze Springiem potrzebujemy dosłownie kilku minut. Uruchomienie prostej aplikacji springowej, podniesienie kontenera, jakaś bazowa konfiguracja to zajmują dosłownie kilka minut. Oczywiście jeżeli chcemy to rozwiązanie poznać dobrze i w pełni wykorzystać wszystkie jego możliwości, potrzeba znacznie więcej. Pokusiłbym się nawet na takie stwierdzenie, że potrzeba nam na to wielu miesięcy, może nawet lat. Natomiast takie wejście i wystartowanie to jest coś, co każdy może zrobić samodzielnie.
Jeżeli chodzi o sam kurs i jego zawartość, to starałem się wybrać to, co faktycznie jest sensowne przede wszystkim z punktu widzenia realizowanych projektów. Czyli wyjdziemy od rzeczy podstawowych, wprowadzających i budujących ogólną wiedzę na temat tego, jak działa to rozwiązanie, jak powinniśmy go używać, jakie są najważniejsze mechanizmy, które będziemy stosowali. Przejdziemy też w zasadzie przez wszystko, co jest potrzebne, żeby dziś stworzyć taką typową aplikację, która korzysta z jakichś źródeł danych, wystawia usługi restowe, wymaga jakiegoś bezpieczeństwa czy też obsługi przez sieć. Czyli mówiąc krótko – podejdziemy do tematu bardzo przekrojowo i z jednej strony skupimy się na tych najważniejszych rzeczach, ale z drugiej strony nie zabraknie takich tematów, które dzisiaj są bardzo modne, troszkę bardziej może zawansowane jak chociażby programowanie reaktywne i budowanie rozwiązań w oparciu o web flags, czyli o ten nowy framework, który nam dzisiaj twórcy Springa ze swojej strony zaproponowali, bo chodziło też o to, żeby to szkolenie było nowoczesne, z jednej strony bardzo praktyczne, a z drugiej – dawało na tyle duży wachlarz możliwości, żeby po jego skończeniu taki uczestnik mógł faktycznie albo samodzielnie usiąść i wykorzystać tego Springa praktycznie, albo iść do pracy i być w stanie realnie uczestniczyć w projekcie, w którym Spring jest wykorzystywany.
Jak w takim razie zadbasz o zaangażowanie swoich uczestników? Czy planujesz tu jakieś specjalne podejścia, które mają spowodować, że ten kontakt z uczestnikami będzie lepszy i ta praktyczność kursu będzie zapewniona, tak żeby się tym nie znudzić i wymusić na uczestnikach, że będą coś próbowali samodzielnie zaprogramować.
Tak jak mówiliśmy, jest to bardzo ważna kwestia. Staraliśmy się wspólnie bardzo mocno to przemyśleć i podejść do tematu wielotorowo, bo wydaje mi się, że tylko w ten sposób jesteśmy w stanie faktycznie to zainteresowanie czy chęć nauki utrzymać. I pomijając samą kwestię merytoryczną i zakres tego szkolenia, na pewno mogę obiecać, że całość będzie bardzo, bardzo praktyczna. Że poza przykładami prostszymi, które wyjaśnią omawiane kwestie, będziemy realizowali też jeden duży projekt, który będzie pokazywał całościowo i Springa, i pewne mechanizmy, które będziemy musieli zastosować, żeby taka pełna aplikacja powstała.
Oprócz tego po każdym module zaplanowaliśmy ćwiczenia, które będą wykonywane w zasadzie przez uczestników samodzielnie. Będzie można je sobie zweryfikować, zestawić z rozwiązaniami wzorcowymi, po to żeby zobaczyć, czy tak naprawdę udało nam się je wykonać prawidłowo, czy można je było zrobić lepiej, fajniej. To jest część typowo praktyczna. Będziemy też próbowali zapewnić stały kontakt i możliwość dyskusji o wszystkich tematach, które zamierzamy omawiać, przy użyciu forum, komunikatora. Oczywiście jeżeli będzie taka potrzeba, zorganizujemy spotkania onlinowe na żywo. Dodatkowo będą też przeprowadzone testy sprawdzające wiedzę. Do przemyślenia czy rozwiązania pozostawimy takie dodatkowe zagadnienia, co sprawi, że trochę wyjdziemy też poza ramy samego szkolenia.
Do kogo to szkolenie jest skierowane? Czy bardziej do osób, które dopiero zaczynają naukę Springa, czy już w nim programują? Jakie są wymagania wstępne: czy trzeba znać Javę czy będzie to też elementem kursu?
Zakładamy, że podstawowa znajomość Javy już jest przyswojona i osoba, która przystępuje do kursu, przynajmniej w podstawowym stopniu potrafi programować w Javie. Chociaż to też nie jest tak duży problem, bo jeżeli w czasie kursu wystąpią bardziej zaawansowane czy specyficzne potrzeby zastosowania elementów języka, to na bieżąco będzie to wyjaśniane. Z drugiej strony ten kurs jest skierowany zarówno do osób, które zaczynają swoją przygodę z ekosystemem Javy i z programowaniem w niej, jak i do tych, które już Springa wykorzystują. Bo w tym pierwszym przypadku będziemy budowali wiedzę od początku, wychodzili od podstaw i przechodzili przez wszystkie istotne elementy, a z drugiej strony – jeżeli ktoś miał już do czynienia ze Springem, to będzie miał sposobność do tego, żeby tę wiedzę sobie uporządkować, powtórzyć i uzupełnić.
Z moich doświadczeń wynika, że osoby, które ze Springa korzystają w jakimś projekcie, uczyły się go na bieżąco, w momencie kiedy zostały do tego projektu przydzielone, bez takiej dociekliwości czy możliwości, żeby pewne rzeczy sprawdzić, lepiej zrozumieć, jak one działają. Czyli trochę na zasadzie takiej metody powielania czy obserwacji tego, co już zostało zastane w kodzie – ta kontynuacja projektu odbywa się poprzez powielanie tych praktyk. Natomiast chodzi też o to, żeby tę wiedzę zbudować w bardzo sensowny i kompletny sposób, by była ona na tyle szeroka, żeby taka osoba mogła świadomie wykorzystać możliwości, które daje nam Spring, i żeby faktycznie mogła nazwać siebie specjalistą w tej dziedzinie.
Czy uważasz, że Spring jest taką technologią, której łatwo uczy się samodzielnie? Wspomniałeś, że łatwo rozpocząć pierwszy projekt, ale czy ta komplikacja coraz większej już biblioteki czy frameworku jest na tyle duża, że bez bezpośredniego szkolenia czy też pomocy kogoś bardziej doświadczonego można nauczyć się tego w domu?
Oczywiście to jest pewnie możliwe, natomiast stanowi to swojego rodzaju wyzwanie, ponieważ rozmiar Springa, jego możliwości są ogromne. Spring ma sporo podprojektów, odnóg, które zajmują się pewnymi specyficznymi problemami, więc sam jego główny manual liczy niemalże tysiąc stron. To chociaż troszkę pokazuje, że mamy do czynienia z rozwiązaniem, które naprawdę jest ogromne. Jest to zaletą, bo dzięki temu mamy taki „scyzoryk szwajcarski”, który pozwala rozwiązać praktycznie każdy typowy problem. Ale z drugiej strony ta wielkość i złożoność tego rozwiązania może być przytłaczająca, w momencie kiedy uczymy się go sami, bo może powodować, że zaczniemy się poddawać, ulegać zniechęceniu tym, ile tej nauki nam jeszcze zostało. Natomiast jeżeli zostanie to podane w sposób uporządkowany i sensowny, zwłaszcza na przykładzie projektu, który jest realizowany i pokazuje poszczególne elementy, warstwy aplikacji, które będą realizowane i będą też takim odzwierciedleniem realnego projektu, to nagle okaże się, że łatwo wychwycimy pewne schematy, praktyki, które Spring będzie ze swojej strony nam proponował. I nagle doznamy swego rodzaju oświecenia, że to wcale nie jest takie trudne, bo widać tu pewne wzorce i zachowania, które możemy pobierać i w ten sposób bardzo łatwo uczyć się kolejnych, nowych elementów tego rozwiązania.
Jak to całościowo będzie wyglądało? Na czym ten kurs tak naprawdę polega, w jaki sposób wiedza ma być przekazywana i czym to się różni od zwykłego tutorialu w internecie, nagrania wideo i bloga?
Będzie tu kilka różnych sposobów na to, żeby z jednej strony dostarczać tę wiedzę uczestnikom, a z drugiej – aktywować ich do pracy. Czyli będziemy mieli materiał wideo – ja to nazywam life calling – zbudujemy wspólnie aplikację, jednocześnie ja opowiem, co tak naprawdę robimy, dlaczego to robimy, wytłumaczę szczegóły i pewne podejmowane na bieżąco decyzje. Chcemy, żeby uczestnicy robili to z nami. Mówiąc krótko, chodzi o to, żeby pisanie tego kodu było wykonywane równolegle, coś w rodzaju takiego prowadzenia za rękę. To będzie taki pierwszy etap, który pozwoli zobaczyć te mechanizmy, zrozumieć, co tam się pod spodem dzieje. Oczywiście będzie to uzupełnione o teorię, o takie wprowadzenia wyjaśniające, co chcemy uzyskać i dlaczego robimy coś w taki a nie inny sposób.
Druga, istotna część to zadania realizowane i wykonywane samodzielnie przez uczestników – to takie wejście już na głębszą wodę i próba utrwalenia tej wiedzy, ale trochę też zderzenie z rzeczywistością: czy na pewno wszystko zostało zrozumiane tak jak powinno, czy czegoś jeszcze nie przeoczyliśmy. Oczywiście zadania przydzielane uczestnikom będą posiadały rozwiązania, zawsze będzie można je podejrzeć lub troszkę sobie pomóc, gdybyśmy się zatrzymali. Ale z drugiej strony, największa siła tkwi w tym, żeby ta praca była jak najbardziej samodzielna.
Po każdym module będziemy realizowali coś w rodzaju quizu składającego się z kilku pytań, żeby pobudzić nasze szare komórki, żeby powtórzone materiał czy po prostu zwrócić na coś uwagę. Oprócz tego do wymiany informacji i do rozmów będziemy używać platformy, która pozwoli na to, żeby na bieżąco zadawać pytania, podejmować nowe tematy, na które nie zwróciliśmy uwagi podczas szkolenia, bo np. są one tematami typowo pobocznymi, ale warto o nich wspomnieć.
I to są te najważniejsze elementy, które ja bym wymienił pod kątem samej realizacji. Mogę dodać, że sam kurs jest tu planowany na ponad czterdzieści godzin. I moim zdaniem ta wiedza, którą będziemy przekazywać, jest wystarczająca do tego, żeby podjąć pracę w realnym projekcie, który wykorzystuje Springa. Jeżeli ona zostanie opanowana i przyswojona, to jest to naprawdę więcej niż czasem programiści, którzy aktualnie pracują w tego typu projektach, i na pewno warto z tego korzystać.
Wspomniałeś, że po tym kursie będzie można podjąć pracę. Czy możliwe jest zatem uzyskanie certyfikacji ze Springa, oficjalnego dokumentu potwierdzającego, że się go umie?
Tak. Mamy oficjalny egzamin Sprint Professional, który w zasadzie jest takim dosyć cenionym certyfikatem, ponieważ wydaje go czy sygnuje firma, organizacja, która odpowiedzialna jest za rozwój i tworzenie Springa. Ten egzamin swoim obszarem obejmuje zagadnienia, które m.in. omawiamy na szkoleniu, albo, inaczej mówiąc, to, co omawiamy na szkoleniu, również pokrywa zakres wymagany na samym egzaminie. Zatem z punktu widzenia osoby, która chciałaby do takiego egzaminu podejść, na pewno będzie to superpowtórzenie wiedzy dotyczącej samego Springa, uporządkowanie jej, zwrócenie jeszcze uwagi na pewne istotne sprawy. Dodam tylko, że w wersji rozszerzonej samego szkolenia, będzie można również wykupić czy otrzymać dostęp do 250 testowych pytań egzaminacyjnych, które pokażą, jak ten egzamin może wyglądać, na co zwrócić uwagę, w jaki sposób troszkę inaczej się do niego przygotować, żeby podczas jego zdawania nie było zaskoczenia czy zdziwienia samą jego formą.
Dzięki za informacje na temat kursu. Zapraszamy na stronę e-learning sages.pl. Na stronie podcastu znajdziecie dokładniejsze informacje, a może też i niespodziankę dla naszych słuchaczy na koniec tego podcastu.
Podsumowując temat edukacji zdalnej i tej sytuacji, w której się znaleźliśmy. Czy uważasz, że ten obecny trend, związany z kształceniem zdalnym, z wykorzystaniem internetu, wideo itd., będzie się rozwijał czy jest to kwestia tych bieżących problemów pandemicznych i kiedy wrócimy do normalnej rzeczywistości, to znowu preferować będziemy bezpośrednią obecność na szkoleniu?
Moim zdaniem na pewno szkolenia zdalne, on-line czy inne formy szeroko pojętego e-learningu zawsze będą miały swoje miejsce w branży typowo szkoleniowej. I te trendy związane z jej wykorzystaniem na pewno będą rosnące. Oczywiście bieżąca sytuacja spowodowała, że mamy takie ewidentne przesunięcie pod kątem i pracy zdalnej, i samej edukacji w kierunku rozwiązań niestacjonarnych. Natomiast moim zdaniem ten trend się utrzyma. W momencie gdy wszystko już wróci do normy i będziemy w stanie funkcjonować tak jak wcześniej, na pewno te szkolenia będą cieszyć się dużą popularnością. Jestem wręcz przekonany, że każda z form szkoleń, o której tu dzisiaj mówiliśmy, ma swoje miejsce, ponieważ ma swoje zalety i wady, tudzież różnym potrzebom te szkolenia odpowiadają.
Dzięki wielkie. W takim razie zachęcamy wszystkich do tego, żeby wykorzystali czas swojej domowej izolacji do nauki, do rozwijania swoich umiejętności albo nawet wejścia do świata IT, jeśli się tym interesują i tam widzą swoją przyszłość. Zapraszamy do zapoznania się z tym kursem. Do usłyszenia.
Dziękuję bardzo, do usłyszenia.