Marcel Salathé, EPFL Extension School: «Savoir coder est aussi essentiel que de savoir lire et écrire»
Depuis l’automne 2017, l’Extension School de l’EPFL dispense des formations continues dans le numérique et la programmation. Directeur académique de l’école, Marcel Salathé est convaincu que tout le monde devrait apprendre à coder. Et il n’est pas tendre avec ceux qui pensent que l’on pourra un jour s’en passer.
L’Extension School de l’EPFL propose diverses formations continues dans le numérique. Pourquoi ces cours et pour qui?
A l’origine de ces formations, il y a le constat d’un écart important entre la préparation des gens et les compétences numériques nécessaires aujourd’hui. Le système éducatif et les cursus classiques peinent à répondre aux évolutions très rapides des technologies appliquées, et ce n’est pas leur rôle. Avec l’Extension School, nous profitons du savoir-faire de l’EPFL en matière de cours en ligne pour proposer à la plus large audience de se former dans le numérique. On trouve toutes sortes de participants: des adolescents, des retraités et beaucoup de personnes en milieu de carrière qui comprennent que les capacités numériques sont cruciales pour leur développement professionnel.
Plusieurs formations proposent d’apprendre à coder. Est-ce vraiment nécessaire?
Nous pensons que savoir coder est aujourd’hui une compétence aussi essentielle que de savoir lire et écrire. Nous rejetons totalement l’idée selon laquelle il suffirait d’enseigner le computational thinking et pas la programmation à proprement parler. Aujourd’hui, toutes les innovations et inventions intègrent du code, et beaucoup d’entre elles sont même composées uniquement de code. Certes, tout le monde ne va pas devenir programmeur, mais nous estimons qu’il n’est pas possible d’apprendre comment pense un ordinateur sans apprendre à programmer. En codant, on développe un nouveau regard sur les choses, on apprend à aborder les problèmes différemment. C’est pour toutes ces raisons que nous enseignons à coder dans l’ensemble de nos formations. Y compris celles destinées aux parfaits débutants.
Certains experts, y compris dans l’informatique, estiment que l’avenir est davantage aux humanités qu’à la programmation…
Ce genre de réflexion m’amuse et m’énerve à la fois. Des professeurs réputés suggèrent qu’on ferait mieux de former des psychologues plutôt que des programmeurs. Je trouve cela culotté de la part de personnes qui ont bâti leur succès sur leur maîtrise des ordinateurs et de la programmation. A l’Extension School, nous ne disons pas que tout le monde doit devenir un développeur, mais nous disons devenez un psychologue qui sait coder: voilà la combinaison gagnante! J’en suis un bon exemple: j’ai étudié biologie, puis j’ai appris à coder et aujourd’hui je suis responsable du Digital Epidemiology Lab où j’utilise ces deux types de compétences. Voilà la direction à prendre. Les développeurs eux-mêmes ne passent pas leurs journées à coder, ils écrivent des spécifications, ils échangent avec d’autres métiers, mais ils doivent leur position au fait de savoir coder. C’est jeter de la poudre aux yeux que de dire qu’il n’est pas nécessaire de savoir programmer.
On assiste à l’émergence de nombreux outils simplifiant la création d’applications pour les développeurs, mais aussi pour ceux qui ne savent pas coder. On peut légitimement se poser la question de l’avenir de la programmation, tout au moins sous la forme actuelle…
Ce n’est pas nouveau. Il y a toujours eu des évolutions facilitant les développements les plus communs et standardisés, comme Wordpress pour créer un site web. Il en va de même avec l’intelligence artificielle: des outils comme Tensorflow permettent aujourd’hui d’entraîner des réseaux neuronaux de manière extrêmement simple pour des applications basiques. Nous utilisons nous-mêmes ces outils low code dans nos formations, mais ils ne permettent pas de développer des applications vraiment sophistiquées avec lesquelles les entreprises peuvent se différencier. Il faut veiller à ne pas répandre la fausse idée que demain il suffira de faire du drag & drop pour développer de l’intelligence artificielle élaborée.
Pensez-vous qu’avec les progrès en machine learning, le rôle des développeurs pourrait à l’avenir se borner à superviser des algorithmes?
Il faut observer ces progrès, mais ne pas en déduire qu’il ne sera plus nécessaire de coder. Cela fait des années qu’on en parle, mais rien n’a abouti. Sinon les entreprises n’auraient pas à payer des salaires de folie pour construire les applications dont elles ont besoin. A ce jour, il n’est même pas possible de créer un site fonctionnel pour le web et le mobile sans programmer. Je ne crois pas beaucoup non plus à du code généré par de l’intelligence artificielle. Le machine learning est très bon à reconnaître des patterns, mais pas autant à rédiger avec précision. Or, quiconque écrit du code, sait aussi qu’il suffit d’une petite erreur pour que le programme ne marche pas.
En doutant des capacités futures du machine learning à écrire du code, ne suivez-vous pas le même raisonnement que ceux qui relativisent l’impact actuel du numérique?
Je pense qu’il y a une différence. Ceux qui nient l’impact actuel du numérique vivent tout simplement sur une autre planète. Je ne nie pas l’importance du low code, voire du no code. C’est le sens général du progrès: des outils deviennent accessibles aux masses et démocratisent des technologies autrefois réservées à des spécialistes. Mais, dès lors que les choses sont devenues une commodité, la différentiation passe par un nouveau niveau technique, nécessitant à son tour de savoir programmer. Et ainsi de suite: les choses ne sont jamais finies.