CodeGym /Blog Java /Random-FR /J'enseigne aux étudiants des choses qui leur ouvriront de...
John Squirrels
Niveau 41
San Francisco

J'enseigne aux étudiants des choses qui leur ouvriront de nombreuses portes. Entretien avec Milan Vucic, le mentor de l'Université CodeGym

Publié dans le groupe Random-FR
Rencontrez Milan Vucic , l'un des mentors du cours "Java Fundamentals" à l'Université CodeGym, auteur et tuteur du cours "Développement d'applications Android pour débutants" . Il a huit ans d'expérience en tant que développeur Android et quelques années de mentorat Java et Android. Dans ce texte, il parle de son parcours professionnel et de son mentorat, révèle les plus grosses erreurs que peuvent commettre les débutants et conseille les utilisateurs de CodeGym pour devenir développeurs.

Pourquoi avez-vous choisi de devenir développeur ?

Je viens de Serbie. J'ai beaucoup déménagé quand j'étais enfant, j'ai donc changé cinq écoles primaires en huit ans. Cela m’a rendu assez franc et très réceptif envers les nouveaux professeurs. Une fois que j'ai eu un excellent professeur de mathématiques, j'ai commencé à concourir en mathématiques et j'ai remporté le troisième prix au concours national serbe. Plus tard, je suis allé dans un lycée de mathématiques, qui a formé certains des meilleurs élèves à participer à des compétitions mondiales en mathématiques, en physique et en programmation. J'ai beaucoup aimé ces disciplines académiques. Ainsi, au lycée, j'ai appris beaucoup de langages comme le Pascal, le C, le C# et un peu de SQL pour les bases de données. De plus, j'ai été un joueur toute ma vie et j'ai vu un grand potentiel dans la création de jeux.

Quel a été votre parcours d’apprentissage pour devenir développeur ?

J’ai d’abord commencé à suivre un programme sérieux à l’université. Je me suis inscrit dans l'une des meilleures écoles d'ingénieurs de Belgrade et j'y étudie depuis deux ans. À cette époque, j’avais des notes relativement élevées dans chaque matière du programme de formation. Et puis, mon ami et moi avons décidé de créer une application et de postuler pour le stage (c'était en 2015). Heureusement, notre « projet maison » nous a permis d’obtenir des postes de stagiaire et nous avons commencé à travailler dans une entreprise. Le langage principal pour les projets était PHP, que je n'avais jamais essayé auparavant. Mais la direction nous a donné quelques semaines pour apprendre les frameworks PHP, ce que j'ai fait en regardant des tutoriels YouTube et en recherchant sur Google. J'écrivais également du code en PHP, histoire de me familiariser avec le langage. Finalement, nous avons intégré l’équipe et sommes restés dans cette entreprise pendant un an. Et puis, j’ai trouvé un autre travail, où j’ai fait de la programmation Python, puis je suis passé à Android. Les premières années ont été épuisantes et stimulantes, pleines de travail et de nouvelles connaissances. Mais petit à petit, ma confiance a grandi. À un moment donné, j'ai pensé que j'étais enfin devenu un vrai programmeur.

Pour quelles entreprises avez-vous travaillé et à quels projets avez-vous participé ?

Ma première entreprise était géniale : j’adorais la culture là-bas. J'ai été membre de leur équipe de recherche et développement. Nous travaillions sur une application pour aider les étudiants à organiser leurs études universitaires, où vous disposeriez d'une interface utilisateur conviviale pour voir quelles salles sont vides, lesquelles sont pleines et le calendrier des cours. La deuxième entreprise où je travaillais était l’une des meilleures de la région en matière de programmation. Je me suis beaucoup amusé là-bas : nous créions différents types d'applications. Quant à moi, la plupart du temps, je travaillais sur une application médicale. Ensuite, depuis trois ans et demi, je travaille dans une entreprise qui propose une application de poker aux utilisateurs. Et là, j’ai appris encore beaucoup de choses sur Android.

De votre point de vue, quel est l’avenir de Java dans le développement Android (et en général) ?

J'ai écrit du code principalement en Java, qui est mon langage préféré. De tous les langages que j'ai utilisés, Java est le plus beau et le plus simple à apprendre car il est très convivial. Java est déjà utilisé dans de nombreux projets ; bien sûr, il a un avenir. Vous pouvez créer presque tout en Java : d'Android aux applications Web, du backend au frontend en passant par le bureau. Mais même si l'on imagine que Java n'a pas d'avenir et que tous les projets écrits en Java se sont arrêtés (ce qui est impossible), cela reste un excellent langage pour se familiariser avec la programmation. Connaissant Java, vous pouvez apprendre Python ou C# relativement rapidement. Vous n’aimerez pas la programmation si vous commencez par apprendre un langage complexe (ou laid). Si j'avais appris PHP ou C++ dès le début, je n'aurais peut-être pas aimé la programmation du tout : ce n'est pas facile à maîtriser.

À quel moment avez-vous décidé de devenir mentor ?

Comme je l'ai mentionné plus tôt, nombre de mes professeurs étaient excellents dans leur travail. Je reconnais leur enseignement inspirant, qui m'a aidé à maîtriser leurs disciplines et m'a motivé à acquérir encore plus de connaissances. Alors naturellement, lorsque je suis devenu développeur avec une expérience considérable, j'ai simplement senti que je devais transférer mes connaissances à quelqu'un parce que je savais comment le faire correctement. C'est pourquoi j'ai commencé à travailler chez Codementor. J'ai eu au moins dix étudiants réguliers et un tas de sessions ponctuelles (environ), et je les ai guidés de ne pas savoir comment allumer un ordinateur à comprendre comment coder une simple application Java ou Android. J'ai également eu des sessions de débogage en direct : les utilisateurs de Codementor ont la possibilité de prendre rendez-vous avec un mentor et d'obtenir de l'aide pour le débogage. Au cours de ces sessions, j'ai corrigé les bugs et expliqué ce que je faisais exactement (et dans quel but) à certains moments. Cette expérience a grandement influencé mon style d’enseignement. Je souhaite que mes étudiants du cours Android soient fortement impliqués dans l'explication de n'importe quel sujet. Je les guide tout au long du processus de réflexion pendant qu'ils écrivent du code et travaillent sur les solutions. Vous devez adopter une approche significative de l’apprentissage, car c’est le seul moyen de maîtriser quelque chose correctement.

Comment vous est venue l’idée de lancer votre propre cours Android ?

Cela m'a simplement frappé. Je savais que CodeGym n'avait pas de cours Android, j'ai donc décidé de leur proposer d'en créer un pour eux et ils ont accepté. J'ai commencé à préparer du matériel et mon cerveau travaillait constamment dans différentes dimensions. Parfois, je marchais dans la rue et prenais mon téléphone pour écrire quelque chose pour le cours. A cette époque, j'avais tellement d'idées : et si on écrivait telle application, et telle application, couvrait tel domaine de connaissance ou tel concept Android ?.. C'était amusant de faire le contenu du cours et de coder les applications. Créer le cours Android a été une expérience fantastique pour moi et j'ai d'autres améliorations en tête. Lors de nos sessions live, je raconte beaucoup de mon expérience professionnelle, notamment des 3-4 premières années de travail. Je pense que cela leur ouvrira de nombreuses portes. Je ne leur enseigne pas seulement Java ou Android, mais je leur explique également comment les choses fonctionnent dans une entreprise et comment concevoir des programmes réels.

Quelles sont les erreurs courantes commises par les étudiants lorsqu’ils apprennent à programmer ?

La plus grosse erreur est d’arrêter d’apprendre et de penser que la programmation est bien au-dessus de votre tête. Je fais encore des bugs après sept ans d'expérience professionnelle. Certains d'entre eux sont volontaires – pour montrer aux étudiants comment déboguer. Certains bugs surviennent simplement lors du codage en direct, et les étudiants peuvent voir moi-même comment je les corrige pour la première fois. La seule chose qui est différente pour moi par rapport à l'apprenant, c'est que je trouverai et corrigerai très probablement le bug beaucoup plus rapidement.

Quelles sont les principales différences entre les étudiants ayant des connaissances/expériences préalables en programmation et ceux qui débutent en codage ?

Si vous avez nagé et que vous connaissez quelqu'un qui ne fait pas beaucoup d'activité physique, qui est le plus susceptible de réussir dans n'importe quelle forme de compétition physique ? Vous connaissez la réponse. Il en va de même pour la programmation : toute expérience préalable avec les ordinateurs/technologies vous aidera. Si vous êtes un joueur sur ordinateur, il vous sera plus facile d’apprendre la programmation que pour quelqu’un qui n’a jamais utilisé d’ordinateur. Une recrue en technologie aura le chemin le plus important à parcourir. Est-ce que vous maitrisez bien l'anglais? Un plus instantané, car de nombreux supports sont à votre disposition, dont la plupart même gratuitement (Youtube, StackOverflow, etc). Qui va apprendre plus vite ? Bien sûr, celui qui a déjà passé des milliers d’heures sur son ordinateur et qui sait comment fonctionne généralement la technologie. Mais ne vous laissez pas décourager par le fait que vous n'avez pas suffisamment d'expérience en technologie : vous pouvez aussi devenir développeur ; vous avez simplement besoin de plus de temps.

Pourriez-vous donner des conseils aux utilisateurs de CodeGym pour atteindre leurs objectifs de formation et devenir développeurs ?

Explorer les technologies

La technologie nous facilite la vie. J'ai appris tellement de choses en cliquant au hasard sur des boutons et en explorant mon environnement de travail. Quand vous voyez quelque chose, voulez-vous savoir comment cela fonctionne ? Alors cliquez dessus !

Oublie la peur

Mon plus grand conseil à tout le monde est de ne pas avoir peur. Tout le monde fait des bugs et des erreurs. Il suffit de chercher sur Google et de faire beaucoup de recherches, et vous finirez par trouver la solution.

Investir du temps dans l’apprentissage

Ce que nous faisons en classe représente la moitié de la bataille ; vous devez investir plus de temps individuellement. Plus vous en faites entre les cours, plus vous apprenez, n'est-ce pas ? Si vous ne faites rien entre les cours, vous aurez probablement quelques connaissances ( en regardant mes cours ), mais vous ne pourrez pas créer quelque chose de manière indépendante. Si vous suivez les cours Java Fundamentals ou Android, investissez au moins autant d'heures à travailler seul que nous travaillons ensemble. Disons que nous avons trois heures et demie par semaine avec moi ; alors vous devriez faire vous-même au moins trois ou quatre heures par semaine. Il est important de coder par vous-même pour consolider les connaissances et proposer des questions potentielles pour de futures discussions. N'hésitez jamais à poser une question en classe ou dans le chat Slack. Pour les bugs persistants, nous pouvons même faire des sessions de débogage en direct comme nous l'avons fait dans le groupe précédent. L'apprentissage est une voie à double sens, et c'est à nous tous de faire de ce cours une expérience amusante et productive. "J'enseigne aux étudiants des choses qui leur ouvriront de nombreuses portes."  Entretien avec Milan Vucic, le mentor de CodeGym University - 1
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION