React n'est pas le problème. C'est la façon dont nous l'enseignons.
Demandez à un développeur junior ce qui se passe lorsqu'il clique sur un bouton de validation. La plupart des gens ne parviennent pas à donner une réponse claire.
Ils diront peut-être qu'un appel API est envoyé à un serveur et qu'une réponse revient. C'est une réponse superficielle.
Posez-leur des questions plus spécifiques :
- Comment le navigateur prépare-t-il la requête ?
- Quelle méthode HTTP est utilisée ?
- Où l'authentification a-t-elle lieu ?
- Comment le serveur traite-t-il les données avant qu'elles n'atteignent une base de données ?
C'est là que le silence s'installe.
Les développeurs juniors ne sont pas paresseux. Ils ne manquent pas de talent. Ils manquent de contexte.
Nous enseignons les abstractions avant les fondations.
Les bootcamps et les tutoriels se concentrent sur des résultats rapides. Ils veulent que vous construisiez un portfolio et que vous trouviez un emploi. React aide à cela car vous voyez des résultats rapidement.
Les apprenants voient les frameworks avant de voir les systèmes.
- Ils apprennent React avant HTTP.
- Ils apprennent les composants avant les serveurs.
- Ils apprennent la gestion d'état avant les bases de données.
Cela crée des développeurs qui savent quoi faire, mais pas pourquoi ils le font.
Cela mène à l'enfer des tutoriels (tutorial hell). Vous copiez du code d'une vidéo et vous vous sentez productif. Puis, vous essayez de construire quelque chose seul et vous échouez. Vous avez confondu familiarité et compréhension.
Les outils d'IA aggravent ce problème. Des outils comme ChatGPT aident à la productivité. Le danger commence quand l'IA remplace la réflexion au lieu de la soutenir.
Le débogage était autrefois difficile. Il fallait lire la documentation et échouer jusqu'à trouver la cause profonde. Cette lutte a forgé votre cerveau. Si vous déléguez chaque problème à l'IA, vous perdez votre jugement d'ingénieur.
Le génie logiciel consiste à prendre des décisions et à comprendre les compromis. On ne peut pas apprendre cela uniquement par le prompting.
Si je devais concevoir un programme, je l'enseignerais dans cet ordre :
- HTML/CSS
- Les fondamentaux de JavaScript
- Les fondamentaux du navigateur
- HTTP et APIs
- Les concepts de base du back-end
- Les bases de données
- L'authentification
- React
Au moment où les étudiants arrivent à React, ils comprennent pourquoi la récupération de données (data fetching) existe. Ils comprennent la mécanique derrière le clic sur un bouton.
React n'est pas le problème. L'IA n'est pas le problème.
Le problème est de parcourir les bases trop rapidement en espérant que les lacunes se comblent d'elles-mêmes.
Enseignons-nous aux gens à construire, ou leur apprenons-nous à copier sans comprendre ?
Source : https://dev.to/franklyn_nmesoma_86940ec9/react-isnt-the-problem-how-we-teach-it-is-38m8