Bon je crois que tout est dis, alors je vais juste me mettre dans la peau des différents intervenants (enseignant - débuant - confirmé)
Du point de vue de l'enseignant
Je préfère leur apprendre la POO, les design patterns, les STL, etc
plutôt que la notion de type de base, de mémoire, d'algorithme de base ...
+++ Dans le premier cas je me sens comme un maître de conférence
--- Dans le second cas je me sens comme un instituteur de 'petite' classe
Pour l'apprentissage basique du langage ils n'ont qu'à se référer aux bouquins !!!
Du point de vue de l'élève
Je préfère apprendre la POO, les design patterns, les STL, etc
C'est beaucoup plus valorisant,
et puis une fois que je maîtrise ces notions 'de haut niveau', je peux les appliquer à n'importe quel langage !
Pour l'apprentissage d'un langage spécifique, je le ferais 'sur le tas'.
Du point de vue du développeur confirmé
Ah, des débutants, va falloir que je les forme sur les bonnes techniques de développement
Mais cette formation va se heurter à des problèmes
2 cas de figure pour un projet :
I. Soit le projet de dev consiste à écrire 'from scratch' le code source
II. Soit le projet de dev consiste à modifier un code source pour améliorer/modifier/ajouter des fonctionnalités.
Dans le cas I, idéalement, il faudrait que le dév confirmé revoit quotidiennement le code de chaque débutant, lui explique ce qui ne va pas, et comment corriger.
Autant vous dire que l'idéal est très loin de la réalité et en pratique le dév confirmé se borne à 'éteindre les incendies' car lui aussi est chargé d'une partie du dév (et généralement une grosse partie).
Bref au final 80% du code d'un projet de type I est de qualité médiocre, sauf si l'équipe est majoritairement constituée de dév confirmés (confirmés qui avaient été correctement formés...).
Dans le cas II, idéalement, le code source est bien écrit, le dév confirmé peut s'y référer pour former les dév débutants qui le prendront 'en exemple'.
Mais comme le cas II découle d'un projet de type I, le code source avec lesquels se forment les débutants a été... souvent réalisé par des débutants, donc est globalement pourri !
Ah là là, pas facile pour un confirmé de former un débutant !
Du point de vue du développeur débutant
Le débutant sera frustré, malheureux, voir inquiet de n'avoir par été correctement formé au cours de ses premiers projets.
Bon ok j'ai forcé un peu le trait, mais tout ça pour souligner que personne n'est à blâmer dans ce long et difficile processus d'apprentissage.
Partager