Formation « Développeur d’applications Fullstack » à l’Institut National Polytechnique de Toulouse

Posté par . Édité par Yvan Munoz, Davy Defaud, palm123 et Benoît Sibaud. Modéré par patrick_g. Licence CC by-sa
20
4
avr.
2017
Éducation

Le 28 août 2016 nous annoncions sur LinuxFr.org l’ouverture de cette formation 100 % open source, qui vise à former des développeurs d’applications Web ou mobile hybrides modernes.

Elle a accueilli sa première promotion en octobre 2016 et les cours viennent de se terminer, les étudiants partant en stage pour cinq mois. Cette dépêche vise à faire un premier bilan et à annoncer un atelier d’information pour la promotion suivante.

Le bilan : il est possible de former en neuf mois des développeurs Fullstack débutants mais opérationnels. Il faut avoir le goût du développement, mais aussi en avoir les capacités, c’est‐à‐dire la forme particulière de logique propre au développement et la rigueur qui l’accompagne.

Après des entretiens individuels et un job dating avec cinq entreprises partenaires, nous n’avons retenu que la moitié environ des candidats. Ils ont des âges, des diplômes et des parcours très différents. Certains, débutants en informatique et peu diplômés se sont retrouvés finalement parmi les meilleurs. Et un seul étudiant ne validera pas tous les modules.

La formation était très intensive, seule façon d’obtenir en cinq mois les compétences minimales requises. Le premier mois était consacré aux bases de la programmation impérative avec Python et asynchrone avec JavaScript, ainsi qu’à l’administration sous Unix et avec Python. Le back‐end a été étudié avec NodeJS et Django ; le front‐end avec ReactJS et Angular1. Git et GitLab ont été utilisés en permanence ; un projet significatif réalisé en groupe a été réalisé avec la méthode Scrum.

Un atelier d’information sur la session d’octobre 2017 avec les responsables de la formation est organisé le mercredi 19 avril de 14 h à 16 h, à l’Institut National Polytechnique de Toulouse (site de Labège), 6, allée Émile Monso, 31029 Toulouse, Formation Continue – salle LB 09.

La moitié des intervenants étaient des enseignants du département informatique de l’ENSEEIHT, l’autre moitié des intervenants extérieurs provenant généralement de petites entreprises. Lors du montage de cette formation, une surprise a été de voir à quel point il aura été facile de trouver des développeurs passionnés ayant envie de partager leur savoir‐faire.
Lors des réunions pédagogiques, ils influent sur le programme en y incluant les notions et technologies qu’ils utilisent dans leur travail.

À la prochaine rentrée, une plate‐forme d’évaluation des aptitudes à la programmation sera mise en place, qui nous permettra d’avoir des éléments plus objectifs pour le recrutement qu’un simple entretien. Nous maintiendrons le job‐dating avec les entreprises partenaires ; il a débouché cette année sur la signature de deux contrats de « parcours opérationnel ».

  • # Il manque des informations

    Posté par . Évalué à 6.

    Il manque quelques données, à moins que j'aie mal cherché mais dans ce cas elles ne sont peut-être pas très accessibles. D'abord, quels sont les effectifs de cette formation. Un seul étudiant n'a pas validé tous les modules, cela n'a pas le même sens s'ils sont trois ou trente.

    Sur la page consacrée à la formation je lis que le coût de la formation par stagiaire est de 5000 €. Est-ce le coût à assumer par le stagiaire ?

  • # fullstack : bullshit

    Posté par (page perso) . Évalué à 3.

    Ça avait déjà été évoqué dans le journal précédent, mais je ne peux m’empêcher d'en remettre une couche.

    Faut arrêter avec le terme fullstack, ça ne veut rien dire du tout ! Par exemple :

    Le premier mois était consacré aux bases de la programmation impérative avec Python et asynchrone avec JavaScript, ainsi qu’à l’administration sous Unix et avec Python. Le back‐end a été étudié avec NodeJS et Django ; le front‐end avec ReactJS et Angular1.

    Donc là, sur un vrai projet, si le backend est en GO, PHP ou autre que Python, ou encore que le frontend utilise autre chose que Angular, bah le dev, il n'est plus fullstack. Il est demi-stack, stack-haché, ou ce que vous voulez, mais pas fullstack.

    Certes il a des notions sur l'ensemble de la pile (ce qui est reste très intéressant, il comprendra à peu près ce que font ses collègues), mais dire que le gars est opérationnel, non. Il l'est peut-être si le projet sur lequel il va travailler utilise exactement les quelques technos qu'il a appris. Pour le reste, non, il n'est pas opérationnel : il va devoir apprendre d'autres langages, d'autres frameworks, d'autres technos etc.. Et cela à chaque projet quasiment. Et donc, il y a de forte chance qu'il ne bosse que sur une partie de la stack, parce que la plupart des boites n'ont pas que ça à faire que de former ses devs sur des technos qu'ils ne connaissent pas.

    Même moi qui ai travaillé avec des dizaines de technos/language en backend, frontend, et admin-sys depuis 23 ans que je fais du dev pour le web, je ne me considère pas "fullstack". Surtout que le nombre de technos explose, on ne peut pas tout connaitre, et encore moins être expert en tout. Donc on n'a pas le choix : faut se spécialiser si on veut faire les choses correctement. Ou alors, on reste un dev médiocre, parce qu'on n'a pas le temps d'approfondir toutes les technos de la stack. Et ça, c'est pas très recommandé, car ça peut même être dangereux pour le projet (en terme de sécu, perf etc…)

    Bref, fullstack : non. Personne n'est fullstack. Fullstack, c'est du bullshit.

    PS: je ne dénigre pas cette formation au niveau technique hein, il faut bien commencer par quelque chose. Je dénonce juste ce marketing à 2 balles qui fait croire qu'on devient un dieu en dev "fullstack" à la sortie de cette formation. les technos apprises sont intéressantes et pertinentes, mais pas suffisantes pour être "fullstack" "opérationnel" (!)

    • [^] # Re: fullstack : bullshit

      Posté par . Évalué à 3. Dernière modification le 06/04/17 à 13:32.

      Je comprends très bien ton aversion pour les termes qui sont plus marketing que techniques (et clairement "fullstack" en est un). Perso je ne suis pas totalement contre ce genre de terme, mais je suis toujours à la recherche d'une définition qui soit relativement juste, sachant qu'un terme marketing est vite galvaudé (tout le monde voulant tout de suite s'en réclamer vu que c'est à la mode).

      Dans ce cas, je pense quand même que tu confonds la dimension verticale et horizontale. Fullstack veut marquer le fait que tu peux faire une appli web (relativement standard) de A à Z, si tu as le choix des technos, pas que tu connais toutes les technos possibles sur toute la pile (là il faudrait parler de omni-stack peut être ? à supposer que ça puisse même se concevoir !).

      Voilà c'est mes deux cents sur le terme, sans grande conviction !

    • [^] # Re: fullstack : bullshit

      Posté par (page perso) . Évalué à 3. Dernière modification le 06/04/17 à 14:40.

      En tant que freelance, je me présente parfois comme développeur fullstack (pas exactement sous cet intitulé, mais il y a fullstack dedans). Ce que personnellement j'entends par là, c'est la capacité de pouvoir développer une application de A à Z, de l'interface utilisateur au moteur de base de données (si requis), et cela sans préjuger des technos utilisées. Cette définition n'est sans doute pas universelle, mais le fait d'utiliser ce terme, et c'est la raison pour laquelle je l'emploi, c'est que ça éveille la curiosité de mes interlocuteurs, la plupart ne connaissant pas ou peu ce terme.

      Développeur freelance.

    • [^] # Re: fullstack : bullshit

      Posté par (page perso) . Évalué à 4.

      Je pense que ton erreur est de focaliser sur les technologies. Et j'espère que ce n'est pas l'erreur de cette formation, toute formation universitaire qui réduit le monde à une pile de technologies est vouée à former des zéalotes.

      Être fullstack ne signifie pas que tu maîtrise l'ensemble des technologies : ça signifie que tu comprends le rôle de chaque élément de la pile technologique, quelles sont les implications des choix faits à chaque échelon, et que tu a suffisament d'agilité pour changer régulièrement de langage si possible, voire d'idiome programatique.

      Je suis un fullstack devops (double buzz word), ceci dans le sens où je suis capable de composer une application du storage à l'expérience utilisateur, en passant par les systèmes de cache, de proxy, de déployement, de test en continu, d'architecture réseau, etc. Évidement, je ne suis pas bon dans tout, mais je sais le faire et je sais faire appelle aux bonnes personnes pour compléter mes compétences.

      Mais je trouve un peu facile de jeter fullstack avec l'eau du bain. Il il y a 10 ans, fullstack n'existait pas car c'était la norme : un dev web était un dev LAMP, mixant tout dans la même page source (PHP/HTML/CSS/JavaScript/SQL).

      Je finirais par répondre à ton focus sur l'opérationnelité de l'étudiant qui serait illusoire avec une telle formation. Quelque soit les langages que l'on connaît, il y a toujours une phase d'apprentissage du langage du projet. On y échappe pas, malgré l'expérience, ça prend toujours facilement un mois, pour commencer à être opérationnel. Apprendre un nouveau langage de programmation n'est qu'un détail, il est rare de tomber sur un langage dont on ne connaît pas les idiomes fondateurs (surtout qu'on a eu une formation correcte à travers C++).

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.