Имате нужда от готов юни - научете го сами или как стартирахме курс от семинари за студенти

Имате нужда от готов юни - научете го сами или как стартирахме курс от семинари за студенти

За HR хората в ИТ не е тайна, че ако вашият град не е милионен град, тогава намирането на програмист там е проблематично, а човек, който има необходимия набор от технологии и опит, е още по-трудно.

ИТ светът е малък в Иркутск. Повечето от разработчиците в града знаят за съществуването на компанията ISPsystem и много от тях вече са с нас. Кандидатите често идват за младши позиции, но най-вече това са вчерашни завършили университет, които все още трябва да бъдат допълнително обучени и изгладени.

И ние искаме готови студенти, които са програмирали малко на C++, запознати са с Angular и са виждали Linux. Това означава, че трябва сами да отидем и да ги научим: да ги запознаем с компанията и да им дадем необходимия материал, за да работят с нас. Така се роди идеята да се организират курсове по backend и frontend разработка. Миналата зима го внедрихме, а в тази статия ще ви разкажем как се случи.

Обучение

В началото събрахме водещи разработчици и обсъдихме с тях задачите, продължителността и формата на занятията. Най-вече имаме нужда от backend и frontend програмисти, затова решихме да провеждаме семинари по тези специалности. Тъй като това е първият опит и не се знае колко усилия ще изисква, ограничихме времето до един месец (осем часа във всяка посока).

Материалът за семинарите на бекенда се подготвяше от трима души и се четеше от двама, а на фронтенда темите бяха разпределени между седем служители.

Не ми се наложи дълго време да търся учители, нито пък да ги убеждавам. Бонус за участие имаше, но той не беше решаващ. Привлякохме служители на средно и по-високо ниво, които имат интерес да се пробват в нова роля, да развиват умения за комуникация и трансфер на знания. Те прекараха повече от 300 часа в подготовка.

Решихме да проведем първите семинари за момчетата от кибер отдела на INRTU. Там току-що се появи удобен коуъркинг пространство, беше предвиден и Ден на кариерата – среща на студенти с потенциални работодатели, на която редовно присъстваме. И този път, както обикновено, те ни разказаха за себе си и за свободните места, а също ни поканиха на курса.

Желаещите да участват получиха въпросник, за да разберат интересите, нивото на обучение и познаване на технологиите, да съберат контакти за покани за семинари, както и да разберат дали слушателят има лаптоп, който може да носи на занятия.

В социалните мрежи беше публикувана връзка към електронната версия на въпросника и те също помолиха служител, който продължава да учи за магистърска степен в INRTU, да го сподели със съученици. Също така беше възможно да се договорим с университета за публикуване на новината в техния уебсайт и социалните мрежи, но вече имаше достатъчно желаещи да присъстват на курса.

Резултатите от проучването потвърдиха нашите предположения. Не всички ученици знаеха какво е бекенд и фронтенд и не всички от тях работеха с технологичния стек, който използваме. Чухме нещо и дори направихме проекти в C++ и Linux, много малко хора всъщност използваха Angular и TypeScript.

До началото на занятията имаше 64 ученици, което беше повече от достатъчно.

За участниците в семинара бяха организирани канал и група в месинджъра. Пишеха за промени в графика, публикуваха видеоклипове и презентации на лекции и домашни задачи. Там те също проведоха дискусии и отговориха на въпроси. Сега семинарите приключиха, но дискусиите в групата продължават. В бъдеще чрез него ще бъде възможно да каните момчета на geeknights и хакатони.

Съдържание на лекциите

Разбрахме: в курс от осем урока е невъзможно да се преподава програмиране на C++ или създаване на уеб приложения на Angular. Но искахме да покажем процеса на разработка в модерна продуктова компания и в същото време да ни запознаем с нашия технологичен стек.

Тук теорията не е достатъчна, необходима е практика. Затова комбинирахме всички уроци с една задача - да създадем услуга за регистриране на събития. Планирахме да разработим приложение със студентите стъпка по стъпка, като едновременно с това ги запознахме с нашия стек и неговите алтернативи.

Въвеждаща лекция

Поканихме всички попълнили формулярите на първия урок. Първоначално казаха, че само пълен стек - това беше отдавна, но сега в компаниите за разработка има разделение на предна и задна разработка. Накрая ни помолиха да изберем най-интересната посока. 40% от студентите са се записали за бекенда, 30% за предния, а други 30% са решили да посещават и двата курса. Но за децата беше трудно да посещават всички класове и постепенно се решиха.

Имате нужда от готов юни - научете го сами или как стартирахме курс от семинари за студенти

На встъпителната лекция бекенд разработчикът се шегува за подхода към обучението: „Семинарите ще бъдат като инструкции за начинаещи творци: стъпка 1 - нарисувайте кръгове, стъпка 2 - завършете рисуването на бухала"
 

Съдържание на backend курсове

Някои от backend класовете бяха посветени на програмирането, а някои бяха посветени на процеса на разработка като цяло. Първата част засегна компилация, създаване на СMake и Conan, многонишковост, методи и шаблони за програмиране, работа с бази данни и http заявки. Във втората част говорихме за тестване, непрекъсната интеграция и непрекъсната доставка, Gitflow, работа в екип и рефакторинг.

Имате нужда от готов юни - научете го сами или как стартирахме курс от семинари за студенти

Слайд от презентацията на backend разработчиците
 

Съдържание на фронтенд курсове

Първо, ние настроихме средата: инсталирахме NVM, използвайки Node.js и npm, използвайки ги Angular CLI и създавайки проект в Angular. След това се заехме с модули, научихме как да използваме основни директиви и да създаваме компоненти. След това разбрахме как да навигираме между страниците и да конфигурираме маршрутизирането. Научихме какво представляват услугите и какви са характеристиките на тяхната работа в отделни компоненти, модули и цялото приложение.

Запознахме се със списъка с предварително инсталирани услуги за изпращане на http заявки и работа с маршрутизиране. Научихме как да създаваме формуляри и да обработваме събития. За тестване създадохме макет сървър в Node.js. За десерт научихме за концепцията за реактивно програмиране и инструменти като RxJS.

Имате нужда от готов юни - научете го сами или как стартирахме курс от семинари за студенти

Слайд от презентация на предни разработчици за студенти
 

Инструменти

Семинарните занятия включват практика не само в часовете, но и извън тях, затова беше необходима услуга за получаване и проверка на домашните. Предните участници избраха Google Classroom, задните участници решиха да напишат своя собствена система за оценяване.
Имате нужда от готов юни - научете го сами или как стартирахме курс от семинари за студенти

Нашата рейтингова система. Веднага става ясно какво е написал backender-ът :)

В тази система кодът, написан от студентите, беше автоматично тестван. Оценката зависи от резултатите от теста. Допълнителни точки могат да бъдат получени за преглед и за работа, изпратена навреме. Общата оценка повлия на мястото в класацията.

Рейтингът въведе елемент на състезание в класовете, така че решихме да го напуснем и да се откажем от Google Classroom. Засега нашата система отстъпва по отношение на удобството на решението на Google, но това може да се поправи: ще я подобрим за следващите курсове.

Советы

Подготвихме се добре за семинарите и почти не допуснахме грешки, но все пак настъпихме няколко грешки. Формализирахме този опит в съвет, в случай че е полезен за някого.

Изберете времето си и разпределете дейностите си правилно

Надявахме се на университет, но напразно. В края на часовете стана ясно, че нашият курс се проведе в най-неудобното време от учебната година - преди сесията. Учениците се прибираха след часовете, подготвяха се за изпити и след това сядаха да изпълняват задачите си. Понякога решенията идват след 4–5 часа.

Също така е важно да вземете предвид времето на деня и честотата на дейностите. Започнахме в 19:00, така че ако часовете на ученик свършиха рано, той трябваше да се прибере и да се върне вечерта - това беше неудобно. Освен това часовете се провеждаха понеделник и сряда или четвъртък и вторник, а когато имаше един ден за домашна работа, децата трябваше да се потрудят, за да я свършат навреме. После се нагодихме и в такива дни питахме по-малко.

Доведете колеги да ви помагат по време на първите ви часове

Отначало не всички студенти можеха да се справят с лектора; възникнаха проблеми с разполагането на средата и нейното настройване. В такива ситуации те вдигаха ръка, а наш служител идваше и помагаше да се оправи. По време на последните уроци нямаше нужда от помощ, защото всичко вече беше настроено.

Записвайте семинари на видео

Така ще решите няколко проблема наведнъж. Първо, дайте шанс на тези, които са пропуснали часа, да гледат. Второ, попълнете вътрешната база от знания с полезно съдържание, особено за начинаещи. Трето, гледайки записа, можете да прецените как служителят предава информация и дали може да задържи вниманието на публиката. Такъв анализ помага за развитието на ораторските умения на оратора. ИТ компаниите винаги имат какво да споделят с колегите си на специализирани конференции, а семинарите могат да излязат отлични лектори.

Имате нужда от готов юни - научете го сами или как стартирахме курс от семинари за студенти

Лекторът говори, камерата пише
 

Бъдете готови да промените подхода си, ако е необходимо

Щяхме да прочетем малко теория, да програмираме малко и да дадем домашно. Но възприемането на материала не се оказа толкова просто и гладко и променихме подхода към семинарите.

В първата половина на лекцията те започнаха да разглеждат подробно предишната домашна работа, а във втората част започнаха да четат теорията за следващата. С други думи, дадоха на учениците въдица, а вкъщи те сами потърсиха водоем, стръв и хванаха риба – вникнаха в детайлите и разбраха синтаксиса на C++. На следващата лекция заедно обсъдихме случилото се. Този подход се оказа по-продуктивен.

Не сменяйте учителите често

Имахме двама служители, които провеждаха семинари в бекенда и седем във фронтенда. За студентите нямаше голяма разлика, но front-end лекторите стигнаха до извода, че за по-продуктивен контакт трябва да познаваш аудиторията, как тя възприема информацията и т.н., но когато говориш за първи път, това знание го няма. Затова може би е по-добре да не сменяте учителите често.

Задавайте въпроси във всеки урок

Самите студенти едва ли ще кажат дали нещо не е наред. Те се страхуват да изглеждат глупави и да задават „глупави“ въпроси и се притесняват да прекъснат лектора. Това е разбираемо, защото от няколко години те виждат различен подход към ученето. Така че, ако е трудно, никой няма да го признае.

За облекчаване на напрежението използвахме техниката „примамка“. Колегата на лектора не само помагаше, но и задаваше въпроси по време на лекцията и предлагаше решения. Студентите видяха, че лекторите са истински хора, можете да им задавате въпроси и дори да се шегувате с тях. Това помогна за разреждане на ситуацията. Основното тук е да се поддържа баланс между подкрепа и прекъсване.

Е, дори и с такава „примамка“, все пак попитайте за трудностите, разберете колко адекватно е натоварването, кога и как най-добре да анализирате домашното.

Направете неформална среща в края

След като получихме окончателната заявка на последната лекция, решихме да отпразнуваме с пица и просто да си поговорим в неформална обстановка. Те раздадоха подаръци на тези, които издържаха до края, посочиха първите пет и намериха нови служители. Бяхме горди със себе си и учениците и се радвахме, че най-после всичко свърши :-).

Имате нужда от готов юни - научете го сами или как стартирахме курс от семинари за студенти
Предоставяме награди. Вътре в опаковката: тениска, чай, бележник, химикал, стикери
 

Резултати от

До края на класовете достигнаха 16 ученици, по 8 във всяко направление. Според университетски преподаватели това е много за курсове с такава сложност. Наехме или почти наехме петима от най-добрите, а още петима ще дойдат да тренират през лятото.

Анкета беше стартирана веднага след часа за събиране на обратна връзка.

Семинарите помогнаха ли ви при избора на посока?

  • Да, ще се занимавам с бекенд разработка - 50%.
  • Да, определено искам да съм front-end разработчик - 25%.
  • Не, все още не знам кое ме интересува повече – 25%.

Кое се оказа най-ценното?

  • Нови знания: „не можете да получите това в университета“, „свеж поглед към плътния C++“, обучение по технологии за повишаване на производителността - CI, Git, Conan.
  • Професионализмът и страстта на преподавателите, желанието за предаване на знания.
  • Формат на класа: обяснение и практика.
  • Примери от реална работа.
  • Връзки към статии и инструкции.
  • Добре написани лекционни презентации.

Основното е, че успяхме да кажем, че след като завършат университет, момчетата ще имат много интересна и предизвикателна работа. Те разбраха в каква посока искат да се движат и станаха малко по-близо до успешна кариера в ИТ.

Сега знаем как да изберем подходящия формат на обучение, какво да опростим или изобщо да изключим от програмата, колко време отнема подготовката и други важни неща. Ние разбираме нашите слушатели по-добре, страховете и съмненията са изоставени.

Може би все още сме далеч от създаването на корпоративен университет, въпреки че вече обучаваме служители в компанията и работим със студенти, но направихме първата крачка към тази сериозна задача. И съвсем скоро, през април, ще отидем да преподаваме отново - този път в Иркутския държавен университет, с който си сътрудничим отдавна. Пожелай ни късмет!

Източник: www.habr.com

Добавяне на нов коментар