Retour d’expérience — Boostcamp Web·Mobile 10 Challenge
Un retour sur la phase Challenge du Boostcamp : missions quotidiennes, apprentissage CS, feedback entre pairs, travail d’équipe et évolution de ma façon d’apprendre avec l’IA.
Un retour sur la phase Challenge du Boostcamp : missions quotidiennes, apprentissage CS, feedback entre pairs, travail d’équipe et évolution de ma façon d’apprendre avec l’IA.
Le mot de passe saisi sert à ouvrir, modifier et supprimer les commentaires secrets.
La phase Challenge se déroule sous la forme d’une combinaison entre un apprentissage centré sur les bases de l’informatique et des missions quotidiennes.
La devise principale du Challenge est : il ne s’agit pas simplement de mémoriser la théorie, mais d’apprendre en construisant réellement des choses.
Cependant, la méthode optimale varie selon les personnes. Certains préfèrent parcourir rapidement les concepts recommandés dans la Challenge, puis commencer immédiatement à coder et apprendre en cherchant les réponses au moment où ils rencontrent un blocage. Personnellement, je pense aussi que cette méthode peut être très efficace.
Mais pour quelqu’un comme moi, qui manquait de connaissances de base au point de ne pas toujours comprendre entièrement les problèmes, il était parfois plus adapté de se concentrer d’abord sur l’apprentissage, puis de consolider cet apprentissage en implémentant.
En réalité, mes connaissances théoriques se résumaient pratiquement à ce que je savais le premier jour. Ainsi, même si la proportion entre apprentissage et implémentation variait d’un jour à l’autre, j’ai essayé d’aborder les missions de la manière suivante.
Je commence par parcourir rapidement les mots-clés du jour.
L’objectif est simplement de comprendre :
« Ah, aujourd’hui nous allons traiter ce type de sujet. »
Pendant la période de travail principale (de 12 h à 19 h), je consacrais une grande partie de mon temps à l’étude.
Selon la mission, il m’arrivait même de passer presque toute la journée à apprendre. Je passais moins de temps que d’autres à implémenter, mais pour moi il était plus utile de renforcer mes bases que de produire rapidement quelque chose avec l’aide de l’IA.
Je définis le plus précisément possible les structures de données et la modularisation.
Dans la phase Basic, je rédigeais souvent la conception tout en implémentant les éléments demandés. Mais dans la Challenge, l’ampleur des missions était bien plus grande et il n’y avait pas assez de temps pour modifier constamment la conception pendant le développement.
J’ai donc essayé de décider autant que possible à l’avance comment chaque partie devait être implémentée.
Bien sûr, même avec cette préparation, de nombreuses modifications ont été nécessaires.
En implémentant, je complétais la conception et revenais parfois à l’apprentissage.
Surtout dans les dernières semaines, les idées obtenues grâce aux retours de mes pairs m’ont parfois amenée à recommencer la conception depuis le début. J’utilisais aussi l’IA pour revoir mon code et organiser ce que j’avais appris.
Ce qui a été le plus important dans tout cela, c’est que je n’ai pas décidé seule du niveau de “yak-shaving”.
Pour quelqu’un comme moi qui ne savait même pas jusqu’où approfondir un sujet, la question la plus difficile était toujours :
« Jusqu’où dois-je étudier aujourd’hui ? »
J’ai donc ajusté cela avec l’aide de l’IA. Lorsque l’IA me proposait un plan minimal d’apprentissage, j’ajustais moi-même la profondeur et l’ordre pour que cela reste faisable dans le temps imparti.
Je pense que l’une des plus grandes leçons que la Challenge veut nous transmettre est d’apprendre à trouver la méthode d’apprentissage qui nous convient le mieux et à l’appliquer à notre propre progression.
La Challenge a été honnêtement très difficile.
Certaines personnes disaient que c’était comme résoudre en une seule journée un projet universitaire qui prend normalement deux ou trois semaines. Pour moi, c’était parfois encore plus difficile.
Les étudiants ayant une formation en informatique avaient au moins des bases pour commencer. Moi, j’avais l’impression de me heurter à un mur tous les jours.
Cependant, même certains étudiants spécialisés disaient que la Challenge demandait d’implémenter les choses à un niveau plus profond et plus bas niveau que ce qu’ils avaient fait à l’université. Cela montre à quel point la Challenge était exigeante.
La plupart du temps, je passais toute la période de travail principale (12 h – 19 h) à étudier, et je ne commençais l’implémentation que plus tard dans la soirée, souvent avec l’aide de l’IA.
Parfois il était déjà 19 h, et d’autres fois c’était même le lendemain matin lorsque je me disais enfin :
« Bon, il est temps de commencer à implémenter. »
Le véritable challenge consistait à décider :
Pendant la première semaine, j’ai essayé de tenir en dormant très peu, simplement avec l’idée :
« Je dois absolument terminer. »
Mais cette stratégie a fini par provoquer des problèmes. Un jour, j’ai même manqué la rétrospective du vendredi soir parce que j’étais trop épuisée.
Après cela, j’ai changé de stratégie.
Je dormais toujours peu, mais j’ai essayé de garantir au moins le minimum de sommeil nécessaire pour pouvoir donner des retours à mes pairs avec un esprit clair. J’ai compris que travailler dans un état d’épuisement complet était en réalité inefficace.
Pendant la Challenge, il y avait trois types d’activités en équipe.
Jusqu’alors, j’avais tendance à parcourir rapidement le code des autres sans vraiment l’analyser en profondeur.
Mais dans cette activité, nous devions évaluer le code des autres selon plusieurs critères : lisibilité, structure, commentaires, etc.
Cela m’a obligée à lire attentivement le code des autres jusqu’au bout.
Au début, même suivre quelques lignes était difficile. Mais peu à peu, j’ai commencé à comprendre la manière dont les autres réfléchissaient.
Je pouvais observer des choses comme :
Comme les autres membres de l’équipe devaient également lire mon code, j’ai commencé à faire plus attention aux noms de variables, à la structure des dossiers et à la rédaction du README.
Vers la fin du programme, un coéquipier m’a dit que lire mon README était intéressant parce qu’on pouvait suivre mon raisonnement. Cette phrase est restée longtemps dans ma mémoire.
Même sur les parties que je n’avais pas implémentées moi-même, j’ai pu apprendre beaucoup.
Je me suis souvent dit :
J’ai également découvert des façons d’écrire du code orienté objet que je ne connaissais pas encore.
Personnellement, je me concentrais surtout sur la lisibilité plutôt que sur l’efficacité. Mais voir comment d’autres participants amélioraient les performances grâce aux algorithmes et à l’optimisation m’a beaucoup appris.
Dans le projet relais, j’ai essayé de guider le rythme de la discussion, de partager les conversations de la semaine précédente et de proposer activement de nouvelles idées.
Beaucoup de participants ont dit que je ne semblais absolument pas introvertie.
En réalité, je suis très introvertie. Mais pendant la Challenge, j’ai simplement essayé de faire de mon mieux pour créer une dynamique positive et encourager le partage d’idées et d’insights entre les membres de l’équipe.
Avant même de commencer la phase Challenge, j’utilisais déjà l’IA de manière assez variée, probablement plus que beaucoup d’autres participants. Par exemple, j’avais créé un petit bot de recommandation musicale pour me suggérer des chansons correspondant à mes goûts, ou encore un bot d’apprentissage de l’anglais pour pratiquer la conversation.
Cependant, en traversant la phase Challenge, l’étendue et la profondeur de mon utilisation de l’IA ont considérablement évolué. J’ai mieux compris les forces et les limites de différents outils d’IA, et j’ai eu l’occasion d’en tester plusieurs nouveaux.
Par exemple, j’ai découvert des outils comme NotebookLM, qui réduit la contamination de l’information en ne répondant qu’à partir des documents fournis, ou Lilly, capable d’analyser des vidéos YouTube. C’était la première fois que je les utilisais, et je les ai trouvés extrêmement utiles.
J’ai également diversifié ma manière d’interagir avec l’IA. Grâce à certaines tâches qui nous encourageaient à expérimenter différents usages de l’IA, j’ai commencé à réfléchir à des méthodes plus efficaces que le simple fait de poser une question et d’attendre une réponse.
Par exemple :
Ces méthodes m’ont particulièrement marqué. Avant cela, je pensais parfois naïvement que si j’avais étudié quelque chose une fois, je m’en souviendrais naturellement. Mais revoir mes apprentissages en m’appuyant sur mon propre code et avec l’aide de l’IA m’a permis de consolider bien plus efficacement mes bases.
À une époque où l’IA est omniprésente, je ne pense pas que devenir un développeur « différent de l’IA » signifie apprendre ou programmer sans elle. Au contraire, il est bien plus important d’apprendre à utiliser l’IA de manière intelligente et efficace pour continuer à progresser. De ce point de vue, cette période a été extrêmement précieuse.
Le point le plus regrettable est que mon manque de connaissances fondamentales en informatique rendait parfois difficile la compréhension de certaines discussions lors des peer feedback ou sur Slack.
En particulier, lorsqu’il était question d’optimisation des performances ou d’algorithmes, je me retrouvais souvent à simplement hocher la tête en me disant : « Je devrai regarder ça plus tard. »
Pour pouvoir participer à de véritables discussions techniques avec mes collègues dans le futur, j’ai réalisé qu’il était indispensable de renforcer mes bases en informatique.
Pour être honnête, plutôt que de « profiter » du Challenge comme certains semblaient le faire, j’ai surtout eu l’impression de tenir bon jour après jour.
Pendant quatre semaines, je dormais généralement entre deux et quatre heures par nuit. Je travaillais tard pour terminer les missions, puis je recommençais la journée suivante dès le matin.
Même si l’intensité fait partie de la nature du Challenge, j’ai compris que pour un apprentissage durable, il est important de trouver un meilleur équilibre entre travail et santé physique.
Au début du programme, je prenais beaucoup de temps pour écrire des README détaillés. Mais plus les semaines passaient, plus je me concentrais sur l’implémentation du code, et mes explications devenaient plus courtes, laissant parfois de côté mon raisonnement.
Le type de développeur que je souhaite devenir est quelqu’un qui facilite la collaboration grâce à un code lisible et une documentation claire et bien structurée.
Les compétences techniques sont évidemment importantes, mais la capacité à partager ses connaissances et à travailler efficacement avec d’autres l’est tout autant. J’aimerais revenir à cet état d’esprit pour la suite.
Avant même le Challenge, je savais déjà que la phase de conception était importante. Pourtant, dans la pratique, j’avais souvent tendance à commencer directement à coder, puis à modifier la conception en cours de route.
En affrontant des tâches plus complexes pendant le Challenge, j’ai réalisé une fois de plus à quel point la conception et la décomposition d’un problème en petites étapes sont essentielles.
Plutôt que de commencer immédiatement à coder, j’essaie désormais de clarifier d’abord :
Pour mieux identifier les blocages, gérer le temps et maintenir la motivation, j’essaie de diviser les étapes d’implémentation en tâches très petites et détaillées.
Dans la phase Basic, une checklist était fournie, ce qui faisait que je n’y faisais pas particulièrement attention. Mais pendant le Challenge, comme je devais écrire moi-même ces étapes, j’ai réalisé à quel point cela était important.
Au lieu d’utiliser l’IA simplement comme un moteur de recherche, j’ai commencé à l’utiliser pour :
Bien sûr, pour devenir un développeur capable de penser de manière autonome, il est important de rester maître de ses décisions de conception. Mais dans ce processus, j’ai appris de nombreuses façons différentes d’utiliser l’IA comme partenaire d’apprentissage.
Le jour de la cérémonie de fin du Challenge, nous avons tous écouté la chanson Butterfly ensemble.
Ces derniers temps, j’écoutais aussi souvent d’anciennes chansons d’animation comme Grip! ou Notre rêve. En y réfléchissant, je pense que ces chansons me donnaient simplement la force de continuer et de ne pas abandonner.
Pendant quatre semaines, je travaillais tard la nuit pour terminer les missions, puis je me réveillais le matin pour continuer à étudier. Chaque jour, je me répétais simplement : « Aujourd’hui encore, il faut tenir. »
Il y a eu des moments où j’ai voulu abandonner. J’avais souvent l’impression que les autres étaient bien meilleurs que moi, ce qui me faisait douter de mes capacités.
Mon ordinateur est même tombé en panne pendant le programme, ce qui m’a fait manquer une mission entière. Une autre fois, en alternant entre mon ordinateur portable et mon ordinateur de bureau, j’ai perdu du code parce que j’avais oublié de faire un push.
Malgré tout, même si tout n’était pas parfait, j’ai fait de mon mieux chaque jour sans abandonner. C’est pourquoi je pense que cette expérience restera pour moi un souvenir dont je serai vraiment fière.
Je souhaite appliquer les enseignements tirés de ces quatre semaines à mon apprentissage tout au long de la vie.
À partir de maintenant, j’espère continuer à progresser comme développeuse à mon propre rythme et à ma manière, mais de façon constante.
Merci d’avoir lu cet article.
Et dès demain, la phase Membership commence.
Retour sur les 6 semaines de sprint de groupe : défis d'architecture, dynamiques de collaboration et progression technique suite aux retours seniors.

Le récit d'une aventure intense de 7 semaines : de l'amélioration de l'onboarding et du monitoring d'infrastructure à la communication temps réel et l'optimisation de personnages 3D.
Retour d’expérience sur la préparation, la phase Basic et le test de résolution de problèmes du Boostcamp Web·Mobile 10.

De l'idéation à l'implémentation du MVP en passant par les retours seniors : récit de la mise en place des fondations du projet et des défis techniques relevés
Une analyse de l'essence de la normalisation à travers la logique de mouvement dans les jeux et l'application de l'échelle dans Blender.
Retour sur les 6 semaines de sprint de groupe : défis d'architecture, dynamiques de collaboration et progression technique suite aux retours seniors.
Retour sur dix semaines d’apprentissage au Boostcamp : technologies étudiées, défis de conception, fatigue mentale et enseignements tirés de l’utilisation de l’IA.
Un retour sur la phase Challenge du Boostcamp : missions quotidiennes, apprentissage CS, feedback entre pairs, travail d’équipe et évolution de ma façon d’apprendre avec l’IA.
Exploration des avantages et inconvénients de la programmation fonctionnelle et orientée objet, et des raisons du choix fonctionnel dans React
Retour d’expérience sur la préparation, la phase Basic et le test de résolution de problèmes du Boostcamp Web·Mobile 10.
Un résumé de mon expérience de contribution au projet Githru pendant la phase Master de l’OSCCA.
Mon expérience durant la phase Challenge de l'OSCCA : propositions d’issues et première Pull Request sur le projet Githru.
Retour d’expérience sur ma candidature à l’Open Source Contribution Academy et mon exploration de l’extension Githru pour VSCode.
마지막 아티클까지 모두 확인했습니다.