Blockchain : former les ingénieurs de demain
Cet article fait partie de la série "Formation Blockchain à l'EPF"
Depuis deux ans j’ai la chance et le plaisir d’intervenir auprès des étudiants de l’EPF, école d’ingénieurs généraliste dont j’ai été diplômé en 2015. Passer de l’autre côté de l’enseignement n’est pas une mince affaire, surtout sans expérience, mais revenir dans «son» école facilite largement le changement de posture.
Une école d’ingénieurs a la lourde responsabilité de maintenir sa formation à jour, pour préparer les étudiants du mieux possible à leur entrée dans le monde du travail. C’est ainsi que Talan a développé un partenariat avec l’EPF, pour un cycle de formations sur le thème de la Blockchain pour ses 4ème et 5ème années de la filière informatique.
Faire passer ses idées
Notre premier challenge était de créer une formation théorique. Travailler sur cette technologie relativement jeune et aux applications disruptives apporte des convictions et des idées fortes sur ce que la blockchain peut faire, mais aussi et surtout sur ce qu’elle ne peut pas faire. Les implications de la mise en place d’un tel système distribué ont plus d’impacts sur les organisations et les personnes que la technologie en elle-même sur les systèmes d’information. Pour autant, face à un public étudiant, il convient de regarder de près les composantes techniques de la blockchain pour en saisir l’intérêt.
De nombreuses idées à faire passer, sur des thèmes très vastes et variés, de la plus petite brique technique à la conduite du changement, en passant par des concepts complexes, la gouvernance…
Formaliser et organiser ces idées en thèmes, les articuler de manière logique et fluide, en détaillant les concepts sans forcément entrer trop en détails dans l’implémentation, s’adapter aux connaissances supposées d’étudiants que l’on ne connaît pas… Autant de challenges à relever, mais non sans intérêt : c’est bel et bien le meilleur moyen de se rendre compte des concepts que l’on maitrise et de ceux qui méritent que l’on s’y attarde.
Grâce à de nombreuses présentations « à blanc » du support face aux collègues, on fait émerger les questions qui subsistent, les passages trop rapides sur des points complexes et, surtout, il devient possible de roder une première version du discours qui se doit de rester interactif et illustré pour intéresser.
Du baptême du feu au discours rodé
Après une première édition de la formation en conditions réelles, face à des étudiants qui semblent intéressés et posent des dizaines de questions, nous ne comptions pas en rester là. L’objectif était de passer d’une formation basique à un parcours complet couvrant plusieurs technologies de Blockchain et DLT, à destination de nos clients.
Il est clair qu’une formation sur un sujet aussi mouvant doit rester vivante et évolutive, même si cela suppose un investissement constant.
C’est ainsi que les étudiants de la promotion 2020 ont bénéficié d’une formation largement revue, telle que nous la délivrons à nos clients ou lors de BBL.
Pour éviter la perte de spontanéité et la routine, j’essaye de changer au moins un slide par présentation, de toujours adapter le contenu au public ou à la durée, voire de prendre des angles très différents, comme à l’https://www.esgi.fr/[ESGI^] (une école d’informatique) où le thème était « Blockchain : des métiers pour tous ».
Adapter son discours au public est indispensable : face à un public très haut niveau et fonctionnel on survole les aspects techniques, tandis que face à des développeurs il convient souvent de descendre dans les entrailles de la blockchain, pour évoquer les algorithmes de consensus, etc.
De la théorie à la pratique, il n’y a que la création d’un TP
Sans en avoir la consigne directe de la part de l’EPF, nous souhaitions limiter le temps de présentation théorique pour accorder du temps à la pratique.
De manière à rester relativement abordables et en accord avec une idée de réelle décentralisation, nous avons choisi dans un premier temps de nous concentrer sur Ethereum, probablement la blockchain la plus accessible.
Mais par où commencer ?
CryptoZombies
Nos premières expérimentations sur Ethereum remontent à fin 2016, avant qu’un écosystème ne se mette parfaitement en place. Mais en gardant un œil sur les nouveautés nous ne pouvions rater la franche réussite de CryptoZombies, sûrement le meilleur moyen de découvrir le langage Solidity des smart contracts Ethereum.
CryptoZombies a été créé par Loom Network afin de rendre plus facile l’apprentissage de Solidity. Persuadés de leur pertinence, nous estimons qu’il faut faire profiter de ces excellents exercices à nos étudiants. Au-delà de la facilité que cela représente pour nous, il faut reconnaitre que CryptoZombies est bien pensé et surtout très ergonomique, il serait dommage de créer une formation dédiée alors que la communauté s’accorde à l’utiliser.
En créant une armée de zombies, les étudiants acquièrent les bases techniques du développement de smart contracts, il est ensuite temps de passer aux choses encore plus sérieuses !
Vote décentralisé
Pour le saut dans le grand bain, nous avons choisi de mettre en place un TP visant à développer une application de vote décentralisée.
De manière à ne laisser personne en chemin, mais aussi pour faciliter l’encadrement de ce TP, nous avons choisi de rédiger un support le plus complet possible, ainsi que de proposer un jeu de tests unitaires qui valident étape par étape les développements.
Cette préparation en amont est loin d’être anodine, et s’est déroulée sur plusieurs semaines :
Réalisation du système de vote minimal (possibilité de créer une élection avec des candidats et de voter pour l’un d’entre eux à chaque élection) et validation des développements par des tests unitaires
Rédaction d’un premier jet du support, basé sur des souvenirs des développements qui venaient d’avoir lieu
Réalisation du TP par 10 de nos collègues, sur la base du support uniquement, afin d’obtenir un maximum de retours
Correction et amélioration du support, mais aussi des exercices à réaliser (trouver la bonne balance entre le guidage total et l’incompréhension des consignes, établir la liste exhaustive des pré-requis, etc.)
Nouveaux tests en conditions quasi-réelles, etc.
Et puis le jour J arrive. Une soixantaine d’étudiants doivent suivre nos instructions, à commencer par la mise en place du poste de développement. Et c’est bien là que les premières difficultés apparaissent.
Évidement, sur le PC d’un développeur, la majorité des pré-requis est déjà présente (variables d’environnement maîtrisées, outils installés et maîtrisés, etc.). Mais sur des postes aux performances et systèmes d’exploitation variables, avec des niveaux de maîtrise très hétérogènes et des consignes parfois survolées, les premières salves de questions surprennent. Tout ce qui nous paraît évident ne l’est pas pour tout le monde, c’est bien là notre première leçon. Ce qui nous paraît complexe ne l’est pas pour tout le monde non plus, et c’est là notre meilleure surprise.
Si nous attendions des difficultés dans la compréhension et la rédaction des smart contracts par exemple, le gros des problématiques rencontrées est finalement au niveau de leurs appels depuis une page web. Ces notions de smart contracts et leur langage (Solidity) ont beau être relativement novatrices, pour des débutants le développement web l’est tout autant.
Retour d’expérience
Nous étions venus pour transmettre des connaissances, mais aussi pour bénéficier des enseignements que des étudiants ont à transmettre. En mettant en place un climat de confiance (facilité lorsque l’on sort de la même école), il devient possible de récolter des avis francs et des idées d’amélioration au plus près du terrain.
Sur ces journées de formation, si la balance théorie / pratique a paru bonne, les difficultés rencontrées dans le développement web ont plombé le ressenti des étudiants.
Nul doute que nous prenons en compte ces problèmes pour tenter de les effacer lors de la prochaine session. Par exemple en fournissant plus de tests unitaires qui guident de manière plus stricte, ou une interface web attrayante plus satisfaisante pour tous.
Retrouvez la vidéo de présentation de ces formations auprès des étudiants de l’EPF réalisée par Talan :
Au-delà de ces formations ponctuelles de quelques jours en 4e et 5e années, Talan Labs s’est aussi lancé dans l’accompagnement d’un groupe de projet plus restreint (5 en 2018/2019 puis 8 en 2019/2020), toujours sur la thématique de la blockchain.
C’est l’objet d’un autre article !
Cet article a initialement été publié sur Medium.