CodeGym /Java Blog /Random-IT /Insegno agli studenti cose che apriranno loro molte porte...
John Squirrels
Livello 41
San Francisco

Insegno agli studenti cose che apriranno loro molte porte. Intervista a Milan Vucic, mentore della CodeGym University

Pubblicato nel gruppo Random-IT
Incontra Milan Vucic , uno dei mentori del corso "Java Fundamentals" presso la CodeGym University, autore e tutor del corso "Sviluppo di app Android per principianti" . Ha otto anni di esperienza come sviluppatore Android e alcuni anni di tutoraggio Java e Android. In questo testo parla del suo background professionale e del suo tutoraggio, scopre gli errori più grandi che i principianti possono commettere e consiglia agli utenti di CodeGym come diventare sviluppatori.

Perché hai scelto di diventare uno sviluppatore?

Vengo dalla Serbia. Mi sono trasferito molto da bambino, quindi ho cambiato cinque scuole elementari in otto anni. Ciò mi ha reso piuttosto schietto e molto ricettivo nei confronti dei nuovi professori. Una volta ho avuto un bravo professore di matematica, così ho iniziato a gareggiare in matematica e ho vinto il terzo premio al concorso nazionale serbo. Successivamente frequentai una scuola di grammatica matematica, che preparava alcuni dei migliori studenti a partecipare a competizioni globali di matematica, fisica e programmazione. Mi piacevano molto quelle discipline accademiche. Quindi, al liceo, ho imparato molti linguaggi come Pascal, C, C# e un po' di SQL per i database. Inoltre, ho giocato per tutta la vita e ho visto un grande potenziale nel creare giochi.

Qual è stato il tuo percorso di apprendimento per diventare uno sviluppatore?

Mi sono appassionato per la prima volta alla programmazione seria al college. Mi sono iscritta ad una delle migliori facoltà di ingegneria di Belgrado e studio lì da due anni. A quel tempo, ho ottenuto voti relativamente alti in ciascuna materia del programma di formazione. E poi, io e il mio amico abbiamo deciso di creare un'app e fare domanda per lo stage (era il 2015). Fortunatamente, il nostro “progetto casa” ci ha aiutato a ottenere le posizioni di tirocinante e abbiamo iniziato a lavorare in un’azienda. Il linguaggio principale per i progetti era PHP, che non avevo mai provato prima. Ma la direzione ci ha concesso un paio di settimane per imparare i framework PHP, cosa che ho fatto guardando i tutorial su YouTube e cercando su Google. Stavo anche scrivendo codice in PHP, solo per familiarizzare con il linguaggio. Alla fine entrammo nel team e restammo in quell’azienda per un anno. E poi ho trovato un altro lavoro, dove ho programmato un po' in Python e successivamente sono passato ad Android. I primi anni sono stati travolgenti e impegnativi, pieni di lavoro e nuove conoscenze. Ma gradualmente, la mia fiducia è cresciuta. Ad un certo punto, pensavo di essere finalmente diventato un vero programmatore.

Per quali aziende hai lavorato e a quali progetti hai partecipato?

La mia prima azienda è stata fantastica: ho amato la cultura lì. Sono stato membro del loro team di ricerca e sviluppo. Stavamo lavorando a un'app per aiutare gli studenti a organizzare i loro studi universitari, dove avresti un'interfaccia utente intuitiva per vedere quali aule sono vuote, quali sono piene e il programma delle lezioni. La seconda azienda in cui ho lavorato era una delle migliori della regione per la programmazione. Lì mi sono divertito molto: creavamo diversi tipi di app. Quanto a me, la maggior parte delle volte lavoravo su un'app medica. Poi, negli ultimi tre anni e mezzo, ho lavorato presso un'azienda che offre agli utenti un'app per giocare a poker. E lì ho imparato un sacco di altre cose su Android.

Dal tuo punto di vista, qual è il futuro di Java nello sviluppo Android (e in generale)?

Ho scritto codice principalmente in Java, che è il mio linguaggio preferito. Di tutti i linguaggi che ho usato, Java è il più bello e il più facile da imparare perché è molto amichevole. Java è già utilizzato in molti progetti; certo, ha un futuro. Puoi creare quasi tutto in Java: da Android alle app Web, dal backend al frontend al desktop. Ma anche se immaginiamo che Java non abbia futuro e che tutti i progetti scritti in Java si siano fermati (il che è impossibile), rimane comunque un ottimo linguaggio per familiarizzare con la programmazione. Conoscendo Java, puoi imparare Python o C# in tempi relativamente brevi. Non ti piacerà programmare se prima devi imparare un linguaggio complesso (o brutto). Se avessi imparato PHP o C++ fin dall'inizio, forse non mi sarebbe piaciuto affatto programmare: non sono facili da padroneggiare.

A che punto hai deciso di diventare mentore?

Come ho detto prima, molti dei miei professori erano bravissimi nel loro lavoro. Rendo merito al loro insegnamento stimolante, che mi ha aiutato a diventare esperto nelle loro discipline e mi ha motivato ad acquisire ancora più conoscenze. Quindi, naturalmente, quando sono diventato uno sviluppatore con una notevole esperienza, ho sentito il bisogno di trasferire la conoscenza a qualcuno perché sapevo come farlo nel modo giusto. Questo è il motivo per cui ho iniziato a lavorare presso Codementor. Ho avuto almeno dieci studenti regolari e un sacco di sessioni una tantum (o giù di lì) e li ho guidati dal non sapere come accendere un computer alla comprensione di come codificare una semplice app Java o Android. Ho anche tenuto sessioni di debug dal vivo: c'è un'opzione per gli utenti di Codementor di prenotare un appuntamento con un mentore e ottenere aiuto con il debug. Durante queste sessioni ho corretto i bug e spiegato cosa esattamente (e per quale scopo) stavo facendo in determinati punti. Questa esperienza ha influenzato notevolmente il mio stile di insegnamento. Voglio che i miei studenti del corso Android siano fortemente coinvolti nella spiegazione di qualsiasi argomento. Li guido attraverso l'intero processo di pensiero mentre scrivono il codice e lavorano sulle soluzioni. È necessario adottare un approccio significativo all'apprendimento perché è l'unico modo per padroneggiare qualcosa in modo corretto.

Come ti è venuta l'idea di lanciare il tuo corso Android?

Mi ha semplicemente colpito. Sapevo che CodeGym non aveva un corso Android, quindi ho deciso di proporre di poterne realizzare uno per loro e loro hanno accettato. Ho iniziato a preparare materiali e il mio cervello lavorava costantemente in diverse dimensioni. A volte camminavo per strada e prendevo il telefono per scrivere qualcosa per il corso. A quel tempo, avevo così tante idee: e se scrivessimo questa app, e quell'app, coprisse quest'area di conoscenza o questo concetto di Android?... È stato divertente creare i contenuti del corso e codificare le app. Creare il corso Android è stata un'esperienza fantastica per me e ho in mente altri miglioramenti. Durante le nostre sessioni live racconto molto della mia esperienza professionale, soprattutto dei primi 3-4 anni di lavoro. Penso che aprirà loro molte porte. Non insegno loro solo Java o Android, ma spiego anche come funzionano le cose in un'azienda e come progettare programmi nella vita reale.

Quali sono gli errori più comuni commessi dagli studenti mentre imparano a programmare?

L’errore più grande è smettere di imparare e pensare che la programmazione sia molto al di sopra delle tue capacità. Realizzo ancora bug dopo sette anni di esperienza lavorativa. Alcuni di loro appositamente – per mostrare agli studenti come eseguire il debug. Alcuni bug si verificano semplicemente durante la codifica dal vivo e gli studenti possono vedere personalmente come li risolvo per la prima volta. L'unica cosa che differisce per me rispetto allo studente è che molto probabilmente troverò e risolverò il bug molto più velocemente.

Quali sono le differenze principali tra gli studenti con precedenti conoscenze/esperienze di programmazione e coloro che sono alle prime armi con la programmazione?

Se hai nuotato e conosci qualcuno che non fa molta attività fisica, chi è più propenso a fare meglio qualsiasi tipo di competizione fisica? Tu sai la risposta. Lo stesso vale per la programmazione: qualsiasi esperienza precedente con computer/tecnologie ti aiuterà. Se sei un giocatore di computer, sarà più facile per te imparare a programmare che per qualcuno che non ha mai usato un computer. Un principiante della tecnologia avrà la strada più significativa da percorrere. Conosci bene l'inglese? Plus istantaneo, poiché hai a disposizione moltissimi materiali, la maggior parte dei quali anche gratuiti (Youtube, StackOverflow, ecc.). Chi imparerà più velocemente? Naturalmente, quello che ha già trascorso migliaia di ore sul suo computer e sa come funziona in generale la tecnologia. Ma non lasciarti scoraggiare dal fatto che non hai abbastanza esperienza con la tecnologia: puoi anche diventare uno sviluppatore; hai semplicemente bisogno di più tempo.

Potresti dare consigli agli utenti CodeGym su come raggiungere i loro obiettivi di allenamento e diventare sviluppatori?

Esplora le tecnologie

La tecnologia ci semplifica la vita. Ho imparato tantissime cose cliccando casualmente sui pulsanti ed esplorando il mio ambiente di lavoro. Quando vedi qualcosa, vuoi sapere come funziona? Quindi fare clic su di esso!

Dimentica la paura

Il mio più grande consiglio per tutti è di non avere paura. Tutti commettono bug ed errori. Basta cercare su Google e cercare molto e alla fine troverai la soluzione.

Investi tempo nell'apprendimento

Quello che stiamo facendo in classe è metà dell'opera; è necessario investire più tempo individualmente. Più fai tra una lezione e l'altra, più impari, giusto? Se non fai nulla tra una lezione e l'altra, probabilmente acquisirai una certa conoscenza ( guardando le mie lezioni ), ma non sarai in grado di creare qualcosa in modo indipendente. Se ti stai formando nei corsi Fondamenti di Java o Android, investi almeno tante ore lavorando da solo quante noi lavoriamo insieme. Diciamo che abbiamo tre ore e mezza a settimana con me; allora dovresti fare almeno tre o quattro ore alla settimana da solo. È importante programmare da solo per consolidare le conoscenze e formulare potenziali domande per discussioni future. Non esitare mai a porre una domanda in classe o nella chat di Slack. Per i bug persistenti, possiamo anche eseguire sessioni di debug dal vivo come abbiamo fatto nell'ultimo gruppo. L'apprendimento è una strada a doppio senso e spetta a tutti noi rendere questo corso un'esperienza divertente e produttiva. "Sto insegnando agli studenti cose che apriranno loro molte porte."  Intervista a Milan Vucic, il mentore della CodeGym University - 1
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION