Hai bisogno di un giugno già pronto: insegnalo tu stesso o come abbiamo lanciato un corso di seminari per studenti

Hai bisogno di un giugno già pronto: insegnalo tu stesso o come abbiamo lanciato un corso di seminari per studenti

Non è un segreto per gli addetti alle risorse umane nel settore IT che se la tua città non ha più di un milione di città, trovare un programmatore è problematico e una persona che dispone dello stack tecnologico e dell'esperienza richiesti è ancora più difficile.

Il mondo IT è piccolo a Irkutsk. La maggior parte degli sviluppatori della città sono a conoscenza dell'esistenza della società ISPsystem e molti sono già con noi. I candidati vengono spesso per posizioni junior, ma per lo più si tratta di laureati di ieri che hanno ancora bisogno di essere ulteriormente formati e perfezionati.

E vogliamo studenti già pronti che abbiano programmato un po' in C++, abbiano familiarità con Angular e abbiano visto Linux. Ciò significa che dobbiamo andare a istruirli noi stessi: presentarli all'azienda e dare loro il materiale necessario per lavorare con noi. Nasce così l'idea di organizzare corsi sullo sviluppo backend e frontend. Lo scorso inverno l’abbiamo implementato e in questo articolo vi racconteremo come è successo.

Formazione

All'inizio abbiamo riunito i principali sviluppatori e abbiamo discusso con loro i compiti, la durata e il formato delle lezioni. Abbiamo bisogno soprattutto di programmatori backend e frontend, quindi abbiamo deciso di tenere seminari in queste specialità. Poiché questa è la prima esperienza e non si sa quanto impegno richiederà, abbiamo limitato il tempo a un mese (otto lezioni per direzione).

Il materiale per i seminari sul backend è stato preparato da tre persone e letto da due; sul frontend gli argomenti sono stati divisi tra sette dipendenti.

Non ho dovuto cercare a lungo gli insegnanti, né convincerli. C'era un bonus per la partecipazione, ma non era decisivo. Abbiamo attratto dipendenti di livello medio e superiore e sono interessati a mettersi alla prova in un nuovo ruolo, sviluppando capacità di comunicazione e trasferimento di conoscenze. Hanno impiegato più di 300 ore per prepararsi.

Abbiamo deciso di tenere i primi seminari per i ragazzi del dipartimento cyber dell'INRTU. Lì era appena apparso un comodo spazio di coworking ed era previsto anche il Career Day, un incontro di studenti con potenziali datori di lavoro, al quale partecipiamo regolarmente. Questa volta, come al solito, ci hanno raccontato di loro e dei posti vacanti e ci hanno anche invitato al corso.

A coloro che desideravano partecipare è stato somministrato un questionario per comprendere interessi, livello di formazione e conoscenza della tecnologia, raccogliere contatti per inviti a seminari e anche scoprire se l'ascoltatore aveva un laptop da portare in classe.

Sui social network è stato pubblicato un collegamento alla versione elettronica del questionario e hanno anche chiesto a un dipendente che continua a studiare per un master presso l'INRTU di condividerlo con i compagni di classe. Era anche possibile accordarsi con l'università per pubblicare la notizia sul proprio sito e sui social network, ma c'erano già abbastanza persone disposte a frequentare il corso.

I risultati dell’indagine hanno confermato le nostre ipotesi. Non tutti gli studenti sapevano cosa fossero un backend e un frontend, e non tutti hanno lavorato con lo stack tecnologico che usiamo noi. Abbiamo sentito qualcosa e abbiamo anche realizzato progetti in C++ e Linux, pochissime persone hanno effettivamente utilizzato Angular e TypeScript.

All'inizio delle lezioni c'erano 64 studenti, il che era più che sufficiente.

Per i partecipanti al seminario sono stati organizzati un canale e un gruppo nel Messenger. Hanno scritto di cambiamenti nel programma, pubblicato video e presentazioni di lezioni e compiti a casa. Lì hanno anche tenuto discussioni e risposto a domande. Ora i seminari sono finiti, ma le discussioni nel gruppo continuano. In futuro, attraverso di esso sarà possibile invitare ragazzi a geeknight e hackathon.

Contenuti delle lezioni

Abbiamo capito: in un corso di otto lezioni è impossibile insegnare a programmare in C++ o creare applicazioni web in Angular. Ma volevamo mostrare il processo di sviluppo in un'azienda di prodotti moderna e allo stesso tempo presentarci il nostro stack tecnologico.

Qui la teoria non basta, serve la pratica. Pertanto, abbiamo combinato tutte le lezioni con un unico compito: creare un servizio per la registrazione degli eventi. Abbiamo pianificato di sviluppare un'applicazione con gli studenti passo dopo passo, presentandoli contemporaneamente al nostro stack e alle sue alternative.

Conferenza introduttiva

Abbiamo invitato tutti coloro che hanno compilato i moduli alla prima lezione. All'inizio dicevano che solo lo stack completo era molto tempo fa, ma ora nelle società di sviluppo c'è una divisione in sviluppo anteriore e posteriore. Alla fine ci hanno chiesto di scegliere la direzione più interessante. Il 40% degli studenti si è iscritto al backend, il 30% al frontend e un altro 30% ha deciso di frequentare entrambi i corsi. Ma era difficile per i bambini frequentare tutte le lezioni e gradualmente divennero determinati.

Hai bisogno di un giugno già pronto: insegnalo tu stesso o come abbiamo lanciato un corso di seminari per studenti

Nella lezione introduttiva lo sviluppatore backend scherza sull’approccio alla formazione: “I seminari saranno come istruzioni per aspiranti artisti: passaggio 1 - disegna i cerchi, passaggio 2 - finisci di disegnare il gufo"
 

Contenuti dei corsi backend

Alcune classi di backend erano dedicate alla programmazione, altre al processo di sviluppo in generale. La prima parte ha riguardato la compilazione, il make СMake e Conan, il multithreading, metodi e pattern di programmazione, il lavoro con database e richieste http. Nella seconda parte abbiamo parlato di testing, Continuous Integration e Continuous Delivery, Gitflow, lavoro di squadra e refactoring.

Hai bisogno di un giugno già pronto: insegnalo tu stesso o come abbiamo lanciato un corso di seminari per studenti

Diapositiva dalla presentazione degli sviluppatori backend
 

Contenuti dei corsi frontend

Innanzitutto, configuriamo l'ambiente: installiamo NVM, utilizzando Node.js e npm, utilizzando la CLI Angular e creando un progetto in Angular. Quindi abbiamo ripreso i moduli, imparato come utilizzare le direttive di base e creare componenti. Successivamente, abbiamo capito come navigare tra le pagine e configurare il routing. Abbiamo imparato cosa sono i servizi e quali sono le caratteristiche del loro lavoro all'interno dei singoli componenti, moduli e dell'intera applicazione.

Abbiamo conosciuto l'elenco dei servizi preinstallati per l'invio di richieste http e l'utilizzo del routing. Abbiamo imparato come creare moduli ed elaborare eventi. Per i test, abbiamo creato un server fittizio in Node.js. Per dessert, abbiamo appreso il concetto di programmazione reattiva e strumenti come RxJS.

Hai bisogno di un giugno già pronto: insegnalo tu stesso o come abbiamo lanciato un corso di seminari per studenti

Diapositiva da una presentazione di sviluppatori front-end per gli studenti
 

Strumenti

I seminari prevedono esercitazioni non solo in classe, ma anche al di fuori delle stesse, quindi era necessario un servizio per ricevere e controllare i compiti. I front-end hanno scelto Google Classroom, i back-end hanno deciso di scrivere il proprio sistema di valutazione.
Hai bisogno di un giugno già pronto: insegnalo tu stesso o come abbiamo lanciato un corso di seminari per studenti

Il nostro sistema di valutazione. È immediatamente ovvio cosa ha scritto il backender :)

In questo sistema il codice scritto dagli studenti veniva autotestato. Il voto dipendeva dai risultati del test. Si potrebbero ottenere punti aggiuntivi per la revisione e per il lavoro presentato in tempo. La valutazione complessiva ha influenzato la posizione in classifica.

La valutazione ha introdotto un elemento di competizione nelle classi, quindi abbiamo deciso di lasciarla e abbandonare Google Classroom. Per ora il nostro sistema è inferiore in termini di comodità alla soluzione di Google, ma a questo si può rimediare: lo miglioreremo per i prossimi corsi.

Suggerimenti

Ci siamo preparati bene per i seminari e non abbiamo commesso quasi nessun errore, ma abbiamo comunque commesso alcuni errori. Abbiamo formalizzato questa esperienza in consigli, nel caso tornasse utile a qualcuno.

Scegli il tuo tempo e distribuisci correttamente le tue attività

Speravamo nell'università, ma invano. Alla fine delle lezioni, è diventato chiaro che il nostro corso si è svolto nel momento più scomodo dell'anno accademico, prima della sessione. Gli studenti tornavano a casa dopo le lezioni, si preparavano per gli esami e poi si sedevano per svolgere i compiti. A volte le soluzioni arrivavano in 4-5 ore.

È anche importante considerare l’ora del giorno e la frequenza delle attività. Abbiamo iniziato alle 19:00, quindi se le lezioni di uno studente finivano presto, doveva andare a casa e tornare la sera: questo era scomodo. Inoltre, le lezioni si tenevano lunedì e mercoledì o giovedì e martedì e, quando c'era un giorno per i compiti, i bambini dovevano lavorare sodo per completarli in tempo. Poi ci siamo adeguati e in giorni come questi abbiamo chiesto di meno.

Porta i colleghi ad aiutarti durante le tue prime lezioni

All'inizio, non tutti gli studenti riuscivano a tenere il passo con il docente; sono sorti problemi con la distribuzione dell'ambiente e la sua configurazione. In tali situazioni, hanno alzato la mano e il nostro dipendente si è avvicinato e ha aiutato a risolvere la questione. Durante le ultime lezioni non c'è stato bisogno di aiuto perché era già tutto predisposto.

Registra seminari su video

In questo modo risolverai diversi problemi contemporaneamente. Innanzitutto, dai la possibilità a coloro che hanno perso la lezione di guardare. In secondo luogo, ricostituisci la base di conoscenza interna con contenuti utili, soprattutto per i principianti. In terzo luogo, guardando la registrazione, puoi valutare come il dipendente trasmette le informazioni e se riesce a catturare l'attenzione del pubblico. Tale analisi aiuta a sviluppare le capacità oratorie di chi parla. Le aziende IT hanno sempre qualcosa da condividere con i colleghi nelle conferenze specializzate e i seminari possono produrre ottimi relatori.

Hai bisogno di un giugno già pronto: insegnalo tu stesso o come abbiamo lanciato un corso di seminari per studenti

Il docente parla, la telecamera registra
 

Preparati a cambiare il tuo approccio se necessario

Avremmo letto un piccolo pezzo di teoria, fatto un po' di programmazione e dato i compiti. Ma la percezione del materiale si è rivelata non così semplice e fluida e abbiamo cambiato l'approccio ai seminari.

Nella prima metà della lezione hanno iniziato a considerare in dettaglio i compiti precedenti e nella seconda parte hanno iniziato a leggere la teoria per quello successivo. In altre parole, hanno dato agli studenti una canna da pesca e a casa loro stessi hanno cercato un bacino, un'esca e un pesce catturato, hanno approfondito i dettagli e compreso la sintassi C++. Alla conferenza successiva abbiamo discusso insieme quello che è successo. Questo approccio si è rivelato più produttivo.

Non cambiare frequentemente insegnante

Avevamo due dipendenti che conducevano seminari sul backend e sette sul frontend. Per gli studenti non c'era molta differenza, ma i docenti frontali sono giunti alla conclusione che per un contatto più produttivo è necessario conoscere il pubblico, come percepisce le informazioni, ecc., ma quando parli per la prima volta, questa conoscenza non c'è. Pertanto, potrebbe essere meglio non cambiare frequentemente insegnante.

Fai domande in ogni lezione

È improbabile che gli studenti stessi dicano se qualcosa sta andando storto. Hanno paura di sembrare stupidi e di fare domande “stupide” e sono imbarazzati a interrompere il docente. Ciò è comprensibile, perché da diversi anni vedono un approccio diverso all'apprendimento. Quindi, se è difficile, nessuno lo ammetterà.

Per alleviare la tensione, abbiamo utilizzato la tecnica dell'esca. Il collega del docente non solo ha aiutato, ma ha anche posto domande durante la lezione e suggerito soluzioni. Gli studenti hanno visto che i docenti sono persone vere, puoi fare loro domande e anche scherzare con loro. Ciò ha contribuito a disinnescare la situazione. La cosa principale qui è mantenere un equilibrio tra supporto e interruzione.

Ebbene, anche con una simile “esca”, chiediti ancora delle difficoltà, scopri quanto è adeguato il carico di lavoro, quando e come analizzare al meglio i compiti.

Alla fine tenere un incontro informale

Dopo aver ricevuto la domanda finale durante l'ultima lezione, abbiamo deciso di festeggiare con una pizza e semplicemente chiacchierare in un ambiente informale. Hanno fatto regali a coloro che sono durati fino alla fine, hanno nominato i primi cinque e hanno trovato nuovi dipendenti. Eravamo orgogliosi di noi stessi e degli studenti, ed eravamo contenti che finalmente fosse finita :-).

Hai bisogno di un giugno già pronto: insegnalo tu stesso o come abbiamo lanciato un corso di seminari per studenti
Presentiamo i premi. All'interno della confezione: maglietta, the, bloc notes, penna, adesivi
 

Risultati di

Alla fine delle lezioni sono arrivati ​​16 studenti, 8 per direzione. Secondo i professori universitari è tanto per corsi di tale complessità. Ne abbiamo assunti o quasi cinque tra i migliori e altri cinque verranno ad allenarsi in estate.

Subito dopo la lezione è stato lanciato un sondaggio per raccogliere feedback.

I seminari ti hanno aiutato a decidere la tua scelta di direzione?

  • Sì, mi occuperò dello sviluppo backend: 50%.
  • Sì, voglio assolutamente diventare uno sviluppatore front-end - 25%.
  • No, non so ancora cosa mi interessa di più: il 25%.

Cosa si è rivelato il più prezioso?

  • Nuove conoscenze: "non puoi ottenerlo all'università", "uno sguardo nuovo al denso C++", formazione sulle tecnologie per aumentare la produttività - CI, Git, Conan.
  • La professionalità e la passione dei docenti, la voglia di trasmettere il sapere.
  • Formato della lezione: spiegazione e pratica.
  • Esempi dal lavoro reale.
  • Collegamenti ad articoli e istruzioni.
  • Presentazioni di lezioni ben scritte.

La cosa principale è che abbiamo potuto dire che dopo la laurea, i ragazzi avranno molto lavoro interessante e stimolante. Hanno capito in quale direzione volevano muoversi e si sono avvicinati un po' di più a una carriera di successo nel settore IT.

Ora sappiamo come scegliere il formato di allenamento appropriato, cosa semplificare o escludere del tutto dal programma, quanto tempo ci vuole per prepararsi e altre cose importanti. Comprendiamo meglio i nostri ascoltatori; paure e dubbi vengono lasciati indietro.

Forse siamo ancora lontani dalla creazione di un'università aziendale, anche se stiamo già formando i dipendenti all'interno dell'azienda e lavorando con gli studenti, ma abbiamo fatto il primo passo verso questo compito serio. E molto presto, ad aprile, andremo a insegnare di nuovo, questa volta all'Università statale di Irkutsk, con la quale collaboriamo da molto tempo. Auguraci buona fortuna!

Fonte: habr.com

Aggiungi un commento