Патрэбен гатовы джун - навучы яго сам, або Як мы запускалі курс семінараў для студэнтаў

Патрэбен гатовы джун - навучы яго сам, або Як мы запускалі курс семінараў для студэнтаў

Для эйчараў у ІТ не сакрэт, што калі твой горад – не мільённік, то знайсці ў ім праграміста праблематычна, а чалавека, які валодае патрэбным стэкам тэхналогій і вопытам, і таго складаней.

У Іркуцку айцішны свет цесны. Большасць распрацоўшчыкаў горада ў курсе існавання кампаніі ISPsystem, і многія ўжо з намі. Часта прыходзяць суіскальнікі на пазіцыю джуніёра, але ў асноўным гэта ўчарашнія выпускнікі ВНУ, якіх яшчэ трэба давучыць і абчасаць.

А мы хочам гатовых студэнтаў, якія крыху праграмавалі на З++, знаёмыя з Angular і бачылі Linux. Значыць, трэба пайсці і самім іх навучыць: пазнаёміць з кампаніяй і даць матэрыял, які патрэбен для працы ў нас. Так нарадзілася ідэя арганізаваць курсы па бэкенд і фронтэнд-распрацоўцы. Зімой мінулага года мы яе рэалізавалі, а ў гэтым артыкуле раскажам, як гэта было.

Падрыхтоўка

Спачатку сабралі вядучых распрацоўшчыкаў, абмеркавалі з імі задачы, працягласць і фармат заняткаў. Больш за ўсё нам патрэбны бэкенд і фронтэнд-праграмісты, таму вырашылі правесці семінары менавіта па гэтых спецыяльнасцях. Бо досвед першы і колькі запатрабуе сіл невядома, абмежавалі час адным месяцам (васьмю заняткамі па кожным кірунку).

Матэрыял для семінараў па бэкенду рыхтавалі тры чалавекі, а чыталі два, на франтэндзе тэмы падзялілі паміж сабой сем супрацоўнікаў.

Доўга шукаць выкладчыкаў не прыйшлося, угаворваць таксама. За ўдзел быў прадугледжаны бонус, але не ён меў рашаючае значэнне. Мы прыцягвалі супрацоўнікаў ўзроўню мидл і вышэй, а ім цікава паспрабаваць сябе ў новай ролі, развіць навыкі камунікацыі і перадачы ведаў. На падрыхтоўку яны патрацілі больш за 300 гадзін.

Першыя семінары вырашылі правесці для дзяцей з кіберфака ІРНІТУ. Там якраз з'явіўся зручны каваркінг, а яшчэ вызначаўся Дзень кар'еры - сустрэча студэнтаў з патэнцыйнымі працадаўцамі, куды мы рэгулярна ходзім. На гэты раз як звычайна расказвалі пра сябе і вакансіі, а яшчэ запрашалі на курс.

Жадаючым паўдзельнічаць давалі анкету, каб зразумець інтарэсы, узровень падрыхтоўкі і ведаў тэхналогій, сабраць кантакты для запрашэння на семінары, а таксама высветліць, ці ёсць у слухача ноўтбук, які ён зможа прынесці на заняткі.

Спасылку на электронную версію анкеты размясцілі ў сацыяльных сетках, а яшчэ папрасілі супрацоўніка, які працягвае вучыцца ў магістратуры ІРНІТУ, падзяліцца ёй з аднакурснікамі. Яшчэ можна было дамовіцца з ВНУ аб публікацыі навіны на іх сайце і ў сацсетках, але жадаючых наведваць курс і так хапала.

Вынікі апытання пацвердзілі нашыя здагадкі. Не ўсе студэнты ведалі, што такое бэкенд і фронтэнд, і не ўсе працавалі са стэкам тэхналогій, які мы ўжываем. Нешта чулі і нават рабілі праекты на C++ і пад Linux, вельмі мала хто рэальна выкарыстоўваў Angular і TypeScript.

Да пачатку заняткаў набралася 64 студэнты, гэтага было больш чым дастаткова.

Для ўдзельнікаў семінараў арганізавалі канал і групу ў мэсэнджэры. Пісалі аб зменах у раскладзе, выкладвалі відэа і прэзентацыі лекцый, хатнія заданні. Там жа ладзілі дыскусіі і адказвалі на пытанні. Цяпер семінары скончыліся, а абмеркаванні ў групе працягваюцца. У будучыні праз яе можна будзе запрашаць хлопцаў на гікнайты і хакатоны.

Змест лекцый

Мы разумелі: за курс з васьмі заняткаў немагчыма навучыць праграмаваць на C++ ці ствараць вэб-прыкладанні на Angular. Але імкнуліся паказаць працэс распрацоўкі ў сучаснай прадуктовай кампаніі і заадно пазнаёміць з нашым стэкам тэхналогій.

Тэорыяй тут не абысціся, патрэбна практыка. Таму ўсе заняткі мы аб'ядналі адной задачай - стварыць сэрвіс для рэгістрацыі падзей. Планавалі разам са студэнтамі па кроках распрацаваць дадатак, паралельна пазнаёміўшы іх з нашым стэкам і яго альтэрнатывамі.

Уступная лекцыя

На першы занятак мы запрасілі ўсіх, хто запоўніў анкеты. Спачатку распавялі, што толькі фулстэк - гэта было даўно, а цяпер у кампаніях-распрацоўшчыках ёсць падзел на фронт і бэк-распрацоўку. У канцы прапанавалі абраць найболей цікавы кірунак. На бэкэнд запісаліся 40% студэнтаў, на фронтэнд - 30% і яшчэ 30% вырашылі наведваць абодва курсы. Але хадзіць на ўсе заняткі хлопцам было складана, і яны паступова вызначаліся.

Патрэбен гатовы джун - навучы яго сам, або Як мы запускалі курс семінараў для студэнтаў

Распрацоўнік бэкенда на ўводнай лекцыі жартуе пра падыход да навучання: «Семінары будуць як інструкцыя для пачаткоўцаў мастакоў: крок 1 — малюем кружочкі, крок 2 — дамалёўваем саву»
 

Змест курсаў па бэкенду

Частка заняткаў па бэкенду была прысвечана праграмаванню, частка - працэсу распрацоўкі ў цэлым. У першай частцы закранулі кампіляцыю, make СMake і Conan, шматструменнасць, метады і патэрны праграмавання, працу з базамі дадзенымі і http-запытамі. У другой частцы казалі аб тэставанні, Continuous Integration і Continuous Delivery, Gitflow, працы ў камандзе і рэфактарынгу.

Патрэбен гатовы джун - навучы яго сам, або Як мы запускалі курс семінараў для студэнтаў

Слайд з прэзентацыі бэкэнд-распрацоўшчыкаў
 

Змест курсаў па франтэндзе

Спачатку наладжвалі асяроддзе: усталёўвалі NVM, з дапамогай яго Node.js і npm, з дапамогай іх – Angular CLI і стваралі праект на Angular. Потым узяліся за модулі, навучыліся карыстацца базавымі дырэктывамі і ствараць кампаненты. Далей разабраліся, як перамяшчацца паміж старонкамі і настройваць роўтынг. Даведаліся, што такое сэрвісы і якія асаблівасці іх працы ў рамках асобных кампанентаў, модуляў і цэлага дадатку.

Азнаёміліся са спісам прадусталяваных сэрвісаў для адпраўкі http-запытаў, працы з роўтынгам. Навучыліся ствараць формы, апрацоўваць падзеі. Для тэсціравання стварылі mock-сервер на Node.js. На дэсерт даведаліся аб канцэпцыі рэактыўнага праграмавання і такіх інструментах, як RxJS.

Патрэбен гатовы джун - навучы яго сам, або Як мы запускалі курс семінараў для студэнтаў

Слайд з прэзентацыі фронтэнд-распрацоўшчыкаў для студэнтаў
 

Інструменты

Семінары маюць на ўвазе практыку не толькі на занятках, але і па-за імі, таму патрэбен быў сэрвіс для прыёму і праверкі хатняй працы. Франтэндэры абралі Google Classroom, бэкендэры вырашылі напісаць сваю сістэму рэйтынгу.
Патрэбен гатовы джун - навучы яго сам, або Як мы запускалі курс семінараў для студэнтаў

Наша сістэма рэйтынгу. Адразу відаць, што пісаў бэкендэр 🙂

У гэтай сістэме напісаны студэнтамі код праходзіў аўтатэсты. Ад вынікаў тэстаў залежала ацэнка. Дадатковы бал можна было атрымаць на раўью і за своечасова здадзеную працу. Агульная ацэнка ўплывала на месца ў рэйтынгу.

Рэйтынг прыўносіў у заняткі элемент спаборнасці, таму мы вырашылі пакінуць яго, а ад Google Classroom адмовіцца. Пакуль наша сістэма па выгодзе саступае рашэнню Google, але гэта папраўна: для наступных курсаў мы яе дапрацуем.

Саветы

Мы нядрэнна падрыхтаваліся да семінараў і амаль ні ў чым не аблічыліся, але на некалькі грабляў усёткі наступілі. Аформілі гэты досвед у рады, раптам каму-небудзь спатрэбіцца.

Выбірайце час і размяркоўвайце заняткі правільна

Мы паспадзяваліся на ўніверсітэт, але дарма. Ужо пад канец заняткаў высветлілася, што наш курс прыпаў на самы нязручны час навучальнага года - перад сесіяй. Студэнты прыходзілі дадому пасля пар, рыхтаваліся да іспытаў, а потым садзіліся за нашы заданні. Часам рашэнні прыходзілі а 4-5 гадзіне.

Важна таксама ўлічваць час дня і частату заняткаў. Мы пачыналі ў 19:00, таму калі ў студэнта пары заканчваліся рана, яму даводзілася з'яжджаць дадому, а ўвечар вяртацца - гэта няёмка. Акрамя таго, заняткі праходзілі ў панядзелак і сераду ці ў чацвер і аўторак, і калі на хатцы быў адзін дзень, рабятам трэба было моцна напружыцца, каб выканаць яе ў тэрмін. Пасля мы падстроіліся і ў такія дні задавалі менш.

На першыя заняткі бярыце калегаў для дапамогі

Спачатку не ўсе слухачы паспявалі за лектарам, узнікалі праблемы з разгортваннем акружэння, настройкай. У такіх сітуацыях яны паднімалі руку, і наш супрацоўнік падыходзіў, дапамагаў разабрацца. На апошніх занятках дапамога была не патрэбная, таму што ўсё ўжо было настроена.

Запісвайце семінары на відэа

Дык вы вырашыце адразу некалькі задач. Па-першае, дасце магчымасць паглядзець тым, хто прапусціў занятак. Па-другое, папоўніце ўнутраную базу ведаў карысным, асабліва для пачаткоўцаў, кантэнтам. Па-трэцяе, гледзячы на ​​запіс зможаце ацаніць, як супрацоўнік даносіць інфармацыю і ці можа ўтрымаць увагу аўдыторыі. Такі аналіз дапамагае развіваць прамоўніцкаму майстэрства выступоўцы. IT-кампаніям заўсёды ёсць чым падзяліцца з калегамі на профільных канферэнцыях, і на семінарах можна выгадаваць выдатных спікераў.

Патрэбен гатовы джун - навучы яго сам, або Як мы запускалі курс семінараў для студэнтаў

Лектар кажа, камера піша
 

Будзьце гатовыя памяняць падыход, калі гэта спатрэбіцца

Мы збіраліся чытаць невялікі кавалак тэорыі, крыху праграмаваць і даваць заданне на дом. Але ўспрыманне матэрыялу аказалася не такім простым і гладкім, і мы памянялі падыход да семінараў.

У першай палове лекцыі пачалі падрабязна разглядаць папярэдняе дамашняе заданне, а ў другой частцы чытаць тэорыю да наступнага. Іншымі словамі, давалі студэнтам вуду, а дома яны ўжо самі шукалі вадаём, прынаду і лавілі рыбу - унікалі ў дэталі і разбіраліся з сінтаксісам С++. На наступнай лекцыі разам абмяркоўвалі, што атрымалася. Такі падыход аказаўся больш прадуктыўным.

Не мяняйце выкладчыкаў часта

Семінары па бэкенду ў нас вялі два супрацоўнікі, а па франтэндзе — сем. Для студэнтаў асаблівай розніцы не было, але лектары фронтэнда прыйшлі да меркавання, што для больш прадуктыўнага кантакту трэба ведаць аўдыторыю, як яна ўспрымае інфармацыю і да т.п., а калі выступаеш упершыню, гэтых ведаў няма. Таму, магчыма, лепш не мяняць выкладчыкаў часта.

Задавайце пытанні на кожным занятку

Самі студэнты ці наўрад скажуць, калі нешта ідзе не так. Яны баяцца выглядаць бязглузда і задаваць «дурныя» пытанні, саромеюцца перарываць лектара. Гэта і зразумела, бо некалькі гадоў яны бачылі іншы падыход да навучання. Так што, калі будзе складана, ніхто не прызнаецца.

Каб зняць напругу, мы выкарыстоўвалі прыём з «падсадной качкай». Калега лектара не толькі дапамагаў, але і задаваў пытанні падчас лекцыі, прапаноўваў варыянты рашэнняў. Студэнты бачылі, што лектары - жывыя людзі, іх можна пытаць і нават жартаваць з імі. Гэта дапамагала разрадзіць абстаноўку. Галоўнае тут - выканаць баланс паміж падтрымкай і перабіваннем.

Ну і нават з такой "падсадной качкай" усё роўна пытайце аб складанасцях, высвятляйце, наколькі адэкватная нагрузка, калі і як лепш за ўсё разбіраць хатняе заданне.

Уладкуйце нефармальную сустрэчу ў канцы

Атрымаўшы выніковае дадатак на апошняй лекцыі, мы вырашылі адзначыць гэта піцай і проста пагутарыць у нефармальнай абстаноўцы. Падарылі падарункі тым, хто пратрымаўся да канца, назвалі пяцёрку найлепшых, знайшлі новых супрацоўнікаў. Былі ганарлівыя сабой і студэнтамі, ну і рады, што ўсё нарэшце-то скончылася :-).

Патрэбен гатовы джун - навучы яго сам, або Як мы запускалі курс семінараў для студэнтаў
Уручаем прызы. Унутры пакета: футболка, чай, блакнот, ручка, налепкі
 

Вынікі

Да канца заняткаў дайшлі 16 студэнтаў, 8 па кожным напрамку. Па словах выкладчыкаў ВНУ, гэта нямала для курсаў такой складанасці. Пяцёх лепшых мы ўзялі ці амаль узялі на працу, яшчэ пяцёра прыйдуць на практыку ўлетку.

Адразу пасля заняткаў запусцілі анкету, каб сабраць водгукі.

Дапамаглі семінары вызначыцца з выбарам накірунку?

  • Так, я пайду ў бэкэнд-распрацоўку - 50%.
  • Так, я сапраўды хачу быць фронтэнд-распрацоўшчыкам - 25%.
  • Не, па-ранейшаму не ведаю, што мне больш цікава - 25%.

Што аказалася найбольш каштоўным?

  • Новыя веды: "ва ўніверы такога не атрымаць", "свежы погляд на дрымучы C++", навучанне тэхналогіям для павышэння прадуктыўнасці – CI, Git, Conan.
  • Прафесіяналізм і захопленасць лектараў, імкненне перадаць веды.
  • Фармат заняткаў: тлумачэнне і практыка.
  • Прыклады з рэальнай працы.
  • Спасылкі на артыкулы і інструкцыі.
  • Класна складзеныя прэзентацыі лекцый.

Галоўнае — нам удалося расказаць, што пасля заканчэння ўніверсітэта рабят чакае шмат цікавай і складанай працы. Яны зразумелі, у якім напрамку хочуць рухацца і сталі крыху бліжэй да паспяховай кар'еры ў ІТ.

Цяпер мы ведаем, як выбраць прыдатны фармат навучання, што спрасціць ці наогул выключыць з праграмы, колькі часу сыходзіць на падрыхтоўку і іншыя важныя рэчы. Лепш разумеем сваіх слухачоў, страхі і сумневы засталіся ззаду.

Магчыма, мы яшчэ далёкія ад стварэння карпаратыўнага ўніверсітэта, хоць ужо навучаем супрацоўнікаў усярэдзіне кампаній і працуем са студэнтамі, але першы крок да гэтай сур'ёзнай задачы мы зрабілі. І ўжо зусім хутка, у красавіку, зноў пойдзем выкладаць – на гэты раз у Іркуцкі дзяржаўны ўніверсітэт, з якім даўно супрацоўнічаем. Пажадайце нам удачы!

Крыніца: habr.com

Дадаць каментар