Conseils à l’attention des étudiants : comment démarrer votre carrière dans la programmation
Sebastian Aigner, developer advocate spécialisé dans l’éducation chez JetBrains, parle ici de son travail avec les étudiants et évoque son parcours, de l’université à JetBrains. Un partage d’expérience et des conseils inspirants pour les étudiants prêts à gérer la frustration.
Pour vous accompagner dans vos études et vous aider à améliorer vos compétences en programmation, JetBrains propose :
- Des licences gratuites pour les étudiants et les enseignants.
- Des produits éducatifs pour un apprentissage interactif.
- Des opportunités de stage pour les étudiants.
En quoi consiste votre travail de developer advocate spécialisé dans l’éducation chez JetBrains ?
Au sein de l’équipe developer advocacy, je travaille essentiellement sur la coopération avec les universités et les écoles et pour le développement d’autres initiatives dans le domaine de l’enseignement. J’essaie d’amener JetBrains dans les salles de cours en démontrant aux enseignants la qualité des fonctionnalités et les avantages de nos outils et de notre langage de programmation Kotlin. Nous parrainons et organisons également des hackathons dans les universités, dans le cadre desquels les étudiants peuvent créer des solutions innovantes et constater par eux-mêmes l’intérêt d’utiliser Kotlin et nos outils de développement.
Toutes mes activités visent à aider les gens à améliorer leurs compétences dans ce qu’ils aiment faire. Pour cela, les questions fondamentales sont : comment pouvons-nous faciliter l’apprentissage de la programmation et rendre l’utilisation de nos outils et de Kotlin plus agréable ?
Que préférez-vous dans votre travail ?
Travailler sur le stand lors des conférences, des hackathons et des salons de recrutement. Lorsque nous parlons directement aux utilisateurs, nous pouvons vraiment réaliser l’impact de notre travail. Cela me fait vraiment plaisir lorsque les gens viennent vers nous pour dire : “Hé ! Votre outil a résolu notre problème.”, ou “Hé, c’était vraiment facile de me lancer.”, ou “Hé, vous avez sauvé ma carrière de développeur” ou encore “Hé, sans vous, je n’aurais pas pu terminer mon devoir à temps.”
À l’inverse, est-il déjà arrivé qu’une personne vienne vous voir avec une idée que vous avez ensuite implémentée ?
Une bonne partie de mon travail au quotidien consiste à répondre à l’un des retours récurrents que nous avons reçus à propos de Kotlin JS, à savoir que les débuts sont difficiles à cause du manque de tutoriels et de documentation.
Lors d’événements universitaires comme le hackaton hackaTUM, des étudiants nous ont dit : “J’ai décidé de participer à cet événement parce que je pensais que JetBrains allait me lancer un défi.”. Alors l’année suivante, nous sommes arrivés avec un défi et nous avons eu plus de participations que nous n’aurions pu l’espérer. Nous ne faisons pas que proposer des ateliers et éduquer les gens sur nos outils. Nous mettons les gens au défi de créer des solutions innovantes pour améliorer leur vie d’étudiants et de développeurs.
En quoi les outils JetBrains sont-ils utiles pour les étudiants ?
Ayant moi-même été étudiant à une époque (rires), je pense personnellement que ces outils sont les meilleurs pour commencer. Lorsque vous apprenez, il est très important de recevoir un retour sur ce que vous faites. Cela peut venir de vos professeurs ou d’autres étudiants, mais votre apprentissage prend une toute nouvelle dimension si ces retours viennent aussi de votre EDI.
Un environnement de développement intelligent vous indique les cas dans lesquels vous faites une erreur ou lorsque vous pourriez faire mieux. Cela vous donne des opportunités d’amélioration, en indiquant par exemple : « Hé, peut-être que tu n’as pas besoin d’utiliser trois boucles imbriquées ici. Peut-être qu’on peut trouver un moyen de combiner tout ça d’une manière plus lisible.”. C’est ainsi qu’un EDI intelligent vous aide vraiment en tant qu’étudiant, car il commence à transformer votre approche des sujets complexes et vous montre comment vous améliorer. Si vous écrivez du mauvais code, ou disons du code qui n’est pas optimal, votre EDI peut vous orienter dans la bonne direction. Et à un moment donné, quand cela s’est produit plusieurs fois, vous vous retrouvez à écrire directement un meilleur code.
Avec nos produits éducatifs, notre objectif est de permettre aux apprenants de démarrer en douceur, en intégrant des plateformes comme Coursera et JetBrains Academy. Grâce à nos outils, ils peuvent accéder directement aux exercices à partir d’un cours de programmation et y travailler sans avoir à copier et télécharger les fichiers.
Avez-vous des conseils à donner aux étudiants qui souhaitent travailler chez JetBrains ?
Montrez de l’enthousiasme pour ce que vous voulez faire. Sachez vous motiver tout seul, c’est l’un des points essentiels si vous travaillez chez JetBrains. Soyez créatif et n’ayez pas peur de remettre les choses en question et de les changer. Vous devez aussi être capable d’accepter que vous ne savez pas tout. Vous devez être prêt à remettre en question ce que vous savez et garder constamment l’envie de continuer à apprendre et à vous développer en tant qu’individu. Je pense que ce qui nous caractérise chez JetBrains, c’est de concevoir des choses créatives et innovantes de grande qualité.
Comment combiner travail et études sans faire un burn-out ?
Il est évidemment très difficile de considérer ses études comme un travail à temps plein, en leur consacrant 40 voire 50 heures par semaine, tout en devant travailler de 15 à 20 heures en parallèle. Il n’y a que 24 heures dans une journée, et à un moment donné, vous vous épuisez. Malheureusement, il n’y a pas de remède miracle à cela. Le meilleur conseil que je puisse donner est de toujours structurer votre travail et de vous concentrer sur des tâches individuelles sans changer constamment de contexte.
Quelles sont les erreurs que font généralement les étudiants qui postulent pour un stage chez JetBrains ?
Les candidats réussissent généralement bien à mettre en évidence leurs points forts sur leur CV. Mais certains d’entre eux semblent avoir du mal à faire le lien entre leurs compétences et le poste pour lequel ils postulent.
Alors bien sûr, de bonnes notes et une bonne expérience soient un excellent point de départ, mais il ne faut pas oublier de préciser pourquoi vos compétences particulières font de vous un candidat idéal pour le poste auquel vous postulez. La lettre de motivation est un excellent moyen de le faire et nous aide à identifier plus facilement des correspondances entre les candidats et les opportunités que nous avons chez JetBrains.
Quels conseils pouvez-vous donner aux stagiaires qui sont acceptés ?
Concentrez-vous sur le travail que vous faites. Il est également essentiel doit être d’écouter votre responsable d’équipe, d’accepter le fait que vous êtes entouré de personnes qui en savent sans doute plus que vous, d’essayer d’absorber autant de connaissances que possible et de les injecter dans le projet sur lequel vous travaillez. Vous serez alors en bonne voie pour tirer le meilleur parti de cette expérience. Et bien sûr, essayez d’établir de véritables liens avec vos collègues.
Comment avez-vous réalisé que vous vouliez être programmeur ?
J’ai commencé quand j’avais environ 11 ans. Je suppose que j’ai été influencé par des films comme ‘War Games’ qui ont diffusé cette représentation hollywoodienne des pirates informatiques et des gens vraiment doués avec les ordinateurs. Mon père m’a montré un dialecte Basic appelé Free-Basic. Il n’est pas programmeur, mais il a toujours été d’un grand soutien dans tout ce que j’ai fait. À un moment donné, j’ai découvert le développement avec PHP avec un ami, puis Java, et plus tard Swift. Quand j’ai découvert Kotlin, j’ai tout de suite adoré sa syntaxe et ses approches, j’ai donc fortement concentré mes efforts sur ce langage. Après avoir vu que ce langage avait été créé par JetBrains, je savais juste que ce serait mon langage de programmation de référence pour longtemps.
Quel a été le premier outil de JetBrains que vous avez utilisé ?
C’était IntelliJ IDEA, lors de mon premier semestre d’études à la Technical University de Munich. Je l’ai installé, (en activant le thème sombre) et j’ai vu tous les avertissements dans le code que j’avais écrit au préalable. Et je suis presque instantanément tombé amoureux.
Comment apprenez-vous de nouvelles choses ?
C’est une combinaison entre un processus d’essais et d’erreurs, et une immersion complète. La phase d’essais et d’erreurs se traduit par la tentative de construire quelque chose de nouveau à l’aide d’une nouvelle technologie, puis par le fait de tout jeter et réécrire en essayant de comprendre si je suis tombé dans un piège dont je ne peux pas sortir, pour finir par revoir mes décisions en matière d’architecture et de conception jusqu’à ce que je sois réellement satisfait de ce que j’ai construit.
Quant à ce que j’appelle l’immersion complète, cela signifie que j’essaie d’utiliser de nombreux canaux différents pour amasser des connaissances sur une technologie. Je peux chercher un podcast, trouver un cours en ligne ou regarder une conférence avant d’aller me coucher. Je ne comprends peut-être pas immédiatement tout sur chaque type de média, mais je peux me faire une idée de la technologie.
Quels traits de caractère une personne doit-elle avoir pour être programmeur ?
Une énorme tolérance à la frustration. C’est le plus important. Il est bon d’avoir une appétence pour les maths ou un sens de la logique assez développé. Mais contrairement à la croyance populaire, les machines ne font pas toujours ce que vous leur demandez, ou du moins pour l’utilisateur final, souvent elles ne semblent pas faire ce que vous leur demandez.
Essayez différentes choses. N’ayez pas peur. Vous ne pouvez pas vous attendre à ce que tout fonctionne du premier coup. Vous devez être capable de consacrer plusieurs heures à un même problème, à essayer de comprendre pourquoi quelque chose ne fonctionne pas. À mes yeux, c’est probablement le plus important pour être programmeur.
Auteur de l’article original en anglais : Nadya Davydova