Potrzebujesz gotowego juna - naucz go sam, czyli Jak uruchomiliśmy kurs seminariów dla studentów

Potrzebujesz gotowego juna - naucz go sam, czyli Jak uruchomiliśmy kurs seminariów dla studentów

Dla HR-owców w IT nie jest tajemnicą, że jeśli Twoje miasto nie jest miastem ponadmilionowym, to znalezienie tam programisty jest problematyczne, a osoby posiadającej wymagany stos technologii i doświadczenie jeszcze trudniejsze.

Świat IT w Irkucku jest mały. Większość miejskich deweloperów zdaje sobie sprawę z istnienia firmy ISPsystem, a wielu jest już z nami. Kandydaci często zgłaszają się na stanowiska juniorów, ale przeważnie są to wczorajsi absolwenci uniwersytetów, którzy nadal wymagają dalszego szkolenia i doskonalenia.

I chcemy gotowych studentów, którzy programowali trochę w C++, znają Angulara i widzieli Linuksa. Oznacza to, że musimy sami ich uczyć: przedstawić ich firmie i zapewnić im materiały potrzebne do współpracy z nami. Tak narodził się pomysł organizowania kursów z zakresu backendu i frontendu. Wdrożyliśmy to zeszłej zimy, a w tym artykule opowiemy, jak to się stało.

Szkolenie

Na początku zebraliśmy czołowych programistów i omówiliśmy z nimi zadania, czas trwania i formę zajęć. Przede wszystkim potrzebujemy programistów backendowych i frontendowych, dlatego postanowiliśmy przeprowadzić seminaria z tych specjalności. Ponieważ jest to pierwsze doświadczenie i nie wiadomo, ile będzie wymagało wysiłku, ograniczyliśmy czas do jednego miesiąca (po osiem zajęć w każdym kierunku).

Materiał do seminariów na backendzie przygotowały trzy osoby, czytały je dwie osoby, na frontendzie tematyka została podzielona pomiędzy siedmiu pracowników.

Nauczycieli nie musiałam długo szukać i nie musiałam ich namawiać. Za udział był bonus, ale nie był on decydujący. Pozyskaliśmy pracowników na poziomie średnim i wyższym, którzy są zainteresowani wypróbowaniem się w nowej roli, rozwijaniem umiejętności komunikacji i przekazywania wiedzy. Przygotowywali się ponad 300 godzin.

Postanowiliśmy zorganizować pierwsze seminaria dla chłopaków z działu cyber INRTU. Właśnie pojawiła się tam wygodna przestrzeń coworkingowa, zaplanowano także Dzień Kariery – spotkanie studentów z potencjalnymi pracodawcami, w którym regularnie uczestniczymy. Tym razem jak zwykle opowiedzieli nam o sobie i ofertach pracy, a także zaprosili na kurs.

Chętni do udziału w zajęciach wypełniali ankietę, która pozwalała poznać zainteresowania, poziom wyszkolenia i znajomości technologii, zebrać kontakty w sprawie zaproszeń na seminaria, a także dowiedzieć się, czy słuchacz ma laptopa, który może zabrać na zajęcia.

Na portalach społecznościowych zamieszczono link do elektronicznej wersji kwestionariusza, a także poproszono pracownika, który kontynuuje studia magisterskie w INRTU, o podzielenie się nim z kolegami z klasy. Można było także uzgodnić z uczelnią publikację aktualności na ich stronie internetowej i w mediach społecznościowych, ale chętnych na kurs było już wystarczająco dużo.

Wyniki ankiety potwierdziły nasze przypuszczenia. Nie wszyscy studenci wiedzieli, czym jest backend i frontend i nie wszyscy pracowali ze stosem technologii, z którego korzystamy. Słyszeliśmy coś, a nawet robiliśmy projekty w C++ i Linuksie, bardzo niewiele osób faktycznie korzystało z Angulara i TypeScriptu.

Na początku zajęć było 64 uczniów, co było więcej niż wystarczające.

Dla uczestników seminarium zorganizowano kanał i grupę w komunikatorze. Pisali o zmianach w harmonogramie, zamieszczali filmy i prezentacje wykładów oraz zadania domowe. Tam również prowadzili dyskusje i odpowiadali na pytania. Obecnie seminaria się zakończyły, ale dyskusje w grupie trwają. W przyszłości za jego pośrednictwem będzie można zapraszać chłopaków na geeknighty i hackatony.

Treść wykładów

Zrozumieliśmy: w ciągu ośmiu lekcji nie da się nauczyć programowania w C++ ani tworzenia aplikacji internetowych w Angularze. Chcieliśmy jednak pokazać proces rozwoju w nowoczesnej firmie produktowej i jednocześnie przedstawić nam nasz stos technologiczny.

Teoria tutaj nie wystarczy, potrzebna jest praktyka. Dlatego połączyliśmy wszystkie lekcje w jednym zadaniu - stworzyć usługę rejestracji wydarzeń. Planowaliśmy krok po kroku rozwijać aplikację ze studentami, jednocześnie zapoznając ich z naszym stosem i jego alternatywami.

Wykład wprowadzający

Na pierwszą lekcję zaprosiliśmy wszystkich, którzy wypełnili formularze. Na początku mówili, że tylko full stack - to było dawno temu, ale teraz w firmach deweloperskich panuje podział na rozwój frontowy i back development. Na koniec poprosili nas o wybranie najciekawszego kierunku. 40% studentów zapisało się na backend, 30% na frontend, a kolejne 30% zdecydowało się na udział w obu kursach. Dzieciom jednak trudno było uczęszczać na wszystkie zajęcia i stopniowo nabrały determinacji.

Potrzebujesz gotowego juna - naucz go sam, czyli Jak uruchomiliśmy kurs seminariów dla studentów

Na wykładzie wprowadzającym backend developer żartuje z podejścia do szkoleń: „Seminaria będą niczym instrukcja dla początkujących artystów: krok 1 - narysuj koła, krok 2 - dokończ rysowanie sowy"
 

Treść kursów backendowych

Część zajęć backendowych poświęcona była programowaniu, część zaś ogólnie procesowi rozwoju. Pierwsza część dotyczyła kompilacji, make i Conan, wielowątkowości, metod i wzorców programowania, pracy z bazami danych i żądaniami http. W drugiej części rozmawialiśmy o testowaniu, Continuous Integration i Continuous Delivery, Gitflow, pracy zespołowej i refaktoryzacji.

Potrzebujesz gotowego juna - naucz go sam, czyli Jak uruchomiliśmy kurs seminariów dla studentów

Slajd z prezentacji programistów backendowych
 

Treść kursów frontendowych

Najpierw konfigurujemy środowisko: instalujemy NVM, używamy Node.js i npm, używamy Angular CLI i tworzymy projekt w Angular. Następnie zajęliśmy się modułami, nauczyliśmy się korzystać z podstawowych dyrektyw i tworzyć komponenty. Następnie wymyśliliśmy, jak poruszać się między stronami i konfigurować routing. Dowiedzieliśmy się czym są usługi i jakie są cechy ich działania w ramach poszczególnych komponentów, modułów i całej aplikacji.

Zapoznaliśmy się z listą preinstalowanych usług do wysyłania żądań http i pracy z routingiem. Nauczyliśmy się tworzyć formularze i przetwarzać zdarzenia. Do testów stworzyliśmy próbny serwer w Node.js. Na deser poznaliśmy koncepcję programowania reaktywnego oraz narzędzia takie jak RxJS.

Potrzebujesz gotowego juna - naucz go sam, czyli Jak uruchomiliśmy kurs seminariów dla studentów

Slajd z prezentacji front-end developerów dla studentów
 

Narzędzia

Seminaria wiążą się z praktyką nie tylko na zajęciach, ale także poza nimi, dlatego potrzebna była obsługa w celu otrzymania i sprawdzenia prac domowych. Frontendowcy wybrali Google Classroom, back-endy postanowili napisać własny system ocen.
Potrzebujesz gotowego juna - naucz go sam, czyli Jak uruchomiliśmy kurs seminariów dla studentów

Nasz system ocen. Od razu widać, co napisał backender :)

W tym systemie kod napisany przez uczniów został poddany autotestowi. Ocena zależała od wyników testu. Dodatkowe punkty można było uzyskać za recenzję i terminowe oddanie pracy. Ocena ogólna miała wpływ na miejsce w rankingu.

Ocena wprowadziła do zajęć element rywalizacji, dlatego postanowiliśmy z niej zrezygnować i zrezygnować z Google Classroom. Na razie nasz system ustępuje pod względem wygody rozwiązaniu Google, ale da się to naprawić: będziemy go udoskonalać przy kolejnych kursach.

Советы

Dobrze przygotowaliśmy się do seminariów i nie popełniliśmy prawie żadnych błędów, ale mimo to nadepnęliśmy na kilka błędów. Sformalizowaliśmy to doświadczenie w formie porady, na wypadek gdyby komuś się przydało.

Wybierz swój czas i odpowiednio rozłóż swoje działania

Liczyliśmy na uniwersytet, ale na próżno. Pod koniec zajęć okazało się, że nasz kurs odbył się w najbardziej niedogodnym momencie roku akademickiego – przed sesją. Uczniowie po zajęciach wracali do domu, przygotowywali się do egzaminów, a następnie zasiadali do odrabiania zadań. Czasami rozwiązania pojawiały się w ciągu 4–5 godzin.

Ważne jest również, aby wziąć pod uwagę porę dnia i częstotliwość zajęć. Zaczęliśmy o 19:00, więc jeśli uczeń kończył zajęcia wcześniej, musiał wracać do domu i wracać wieczorem – było to niewygodne. Dodatkowo zajęcia odbywały się w poniedziałki i środy lub w czwartki i wtorki, a gdy był jeden dzień na odrobienie pracy domowej, dzieci musiały się bardzo napracować, aby odrobić ją na czas. Potem dostosowaliśmy się i w takie dni pytaliśmy mniej.

Zabierz ze sobą kolegów, którzy pomogą Ci podczas pierwszych zajęć

Na początku nie wszyscy studenci dotrzymywali kroku wykładowcy, pojawiały się problemy z rozmieszczeniem środowiska i jego konfiguracją. W takich sytuacjach podnosili rękę, a nasz pracownik podchodził i pomagał to rozwiązać. Na ostatnich lekcjach nie było potrzeby pomocy, bo wszystko było już ustawione.

Nagrywaj seminaria na wideo

W ten sposób rozwiążesz kilka problemów na raz. Po pierwsze, daj szansę obejrzenia osobom, które opuściły zajęcia. Po drugie, uzupełnij wewnętrzną bazę wiedzy przydatnymi treściami, zwłaszcza dla początkujących. Po trzecie, patrząc na nagranie, możesz ocenić, w jaki sposób pracownik przekazuje informacje i czy potrafi utrzymać uwagę odbiorców. Taka analiza pomaga rozwijać umiejętności oratorskie mówcy. Firmy IT zawsze mają coś do podzielenia się z kolegami na specjalistycznych konferencjach, a seminaria mogą wykształcić znakomitych prelegentów.

Potrzebujesz gotowego juna - naucz go sam, czyli Jak uruchomiliśmy kurs seminariów dla studentów

Wykładowca mówi, kamera pisze
 

Bądź przygotowany na zmianę swojego podejścia, jeśli zajdzie taka potrzeba

Mieliśmy przeczytać mały fragment teorii, trochę programować i zadawać prace domowe. Ale odbiór materiału okazał się nie taki prosty i płynny, dlatego zmieniliśmy podejście do seminariów.

W pierwszej połowie wykładu zaczęli szczegółowo rozważać poprzednią pracę domową, a w drugiej części zaczęli czytać teorię na następną. Inaczej mówiąc, dali uczniom wędkę, a w domu sami szukali zbiornika, przynęty i łowili ryby – zagłębiali się w szczegóły i rozumieli składnię C++. Na kolejnym wykładzie wspólnie omawialiśmy, co się wydarzyło. To podejście okazało się bardziej produktywne.

Nie zmieniaj często nauczycieli

Dwóch pracowników prowadziło seminaria z backendu, a siedmiu z frontendu. Dla studentów nie było dużej różnicy, ale wykładowcy front-end doszli do wniosku, że dla bardziej produktywnego kontaktu trzeba poznać odbiorców, jak odbierają informacje itp., ale kiedy mówisz po raz pierwszy, tej wiedzy nie ma. Dlatego może lepiej nie zmieniać często nauczyciela.

Zadawaj pytania na każdej lekcji

Sami studenci raczej nie powiedzą, czy coś idzie nie tak. Boją się wyglądać głupio i zadawać „głupie” pytania, wstydzą się przerwać wykładowcy. Jest to zrozumiałe, gdyż od kilku lat obserwuje się u nich inne podejście do nauki. Jeśli więc będzie to trudne, nikt się do tego nie przyzna.

Aby rozładować napięcie, zastosowaliśmy technikę „wabika”. Kolega wykładowcy nie tylko pomagał, ale także w trakcie wykładu zadawał pytania i sugerował rozwiązania. Studenci zobaczyli, że wykładowcy to prawdziwi ludzie, można im zadawać pytania, a nawet żartować. Pomogło to załagodzić sytuację. Najważniejsze jest tutaj zachowanie równowagi pomiędzy wsparciem a przerywaniem.

Cóż, nawet mając taki „wabik”, nadal pytaj o trudności, dowiedz się, jak adekwatny jest nakład pracy, kiedy i jak najlepiej analizować pracę domową.

Na koniec zorganizuj nieformalne spotkanie

Po otrzymaniu ostatecznego zgłoszenia na ostatnim wykładzie postanowiliśmy uczcić to wydarzenie pizzą i po prostu porozmawiać w nieformalnej atmosferze. Tym, którzy wytrwali do końca, wręczyli upominki, wyłonili pierwszą piątkę i znaleźli nowych pracowników. Byliśmy dumni z siebie i uczniów i cieszyliśmy się, że to już koniec :-).

Potrzebujesz gotowego juna - naucz go sam, czyli Jak uruchomiliśmy kurs seminariów dla studentów
Prezentujemy nagrody. Wewnątrz opakowania: koszulka, herbata, notatnik, długopis, naklejki
 

Wyniki

Zajęcia do końca ukończyło 16 uczniów, po 8 w każdym kierunku. Zdaniem profesorów uniwersyteckich to dużo, jak na tak skomplikowane kierunki. Zatrudniliśmy lub prawie zatrudniliśmy pięciu najlepszych, a latem na treningi dołączy kolejnych pięciu.

Bezpośrednio po zajęciach przeprowadzono ankietę mającą na celu zebranie opinii.

Czy seminaria pomogły Ci w podjęciu decyzji o wyborze kierunku?

  • Tak, zajmę się rozwojem backendu - 50%.
  • Tak, zdecydowanie chcę być programistą front-end - 25%.
  • Nie, nadal nie wiem, co mnie bardziej interesuje – 25%.

Co okazało się najcenniejsze?

  • Nowa wiedza: „tego nie zdobędziesz na studiach”, „świeże spojrzenie na gęste C++”, szkolenia z technologii zwiększających produktywność - CI, Git, Conan.
  • Profesjonalizm i pasja wykładowców, chęć przekazywania wiedzy.
  • Forma zajęć: wyjaśnienia i praktyka.
  • Przykłady z prawdziwej pracy.
  • Linki do artykułów i instrukcji.
  • Dobrze napisane prezentacje z wykładów.

Najważniejsze, że mogliśmy powiedzieć, że po ukończeniu studiów chłopcy będą mieli dużo ciekawej i pełnej wyzwań pracy. Zrozumieli, w jakim kierunku chcą podążać i trochę przybliżyli się do udanej kariery w IT.

Wiemy już jak wybrać odpowiednią formę szkolenia, co uprościć lub całkowicie wykluczyć z programu, ile czasu potrzeba na przygotowanie i inne ważne rzeczy. Lepiej rozumiemy naszych słuchaczy, lęki i wątpliwości zostają w tyle.

Być może jeszcze daleko nam do stworzenia uczelni korporacyjnej, choć już szkolimy pracowników w firmie i pracujemy ze studentami, to jednak zrobiliśmy pierwszy krok w stronę tego poważnego zadania. A już niedługo, w kwietniu, znów będziemy uczyć - tym razem na Irkuckim Uniwersytecie Państwowym, z którym współpracujemy od dawna. Życz nam szczęścia!

Źródło: www.habr.com

Dodaj komentarz