Les technologies basées sur la blockchain sont de plus en plus nombreuses. Le besoin en main-d’œuvre pour construire les infrastructures et outils informatiques nécessaires se fait de plus en plus ressentir. Le rôle de développeur web blockchain fait partie des plus recherchés, et ouvre la voie à de nouveaux paradigmes de développement. Cet article propose une exploration de ce nouveau métier en pleine explosion.
Introduction au métier de développeur blockchain
Lorsque l’on parle de développement blockchain, il faut en réalité distinguer deux catégories de métiers.
Tout d’abord, il y a les développeurs de blockchain à proprement parler, appelés développeurs de blockchain principale, ou développeur blockchain core. Leur rôle est de concevoir, construire et maintenir de nouvelles blockchains (architecture, protocoles, mesures de sécurité, back-end).
La 2ème catégorie concerne les développeurs d’applications décentralisées, qui s’appuient sur ces blockchains. Ils sont également appelés développeurs web blockchain, car leur rôle présente des similitudes avec celui des développeurs web classiques. C’est sur cette catégorie de développeur que nous allons nous concentrer dans cet article.
Quelles sont les missions d’un développeur web blockchain ?
Un développeur web blockchain a pour mission de créer des applications décentralisées, aussi appelées DApps (Decentralized Applications). Il va faire le lien entre le front-end, soit la partie visible pour l’utilisateur, et le back-end de l’application. Plus précisément, ses missions vont consister à :
- Construire le front-end en fonction des besoins de l’utilisateur : il s’agit de la réalisation d’un site web ou d’une application avec les langages web usuels. Le développeur doit veiller à offrir une interface conviviale et intuitive, tout en faisant en sorte qu’elle puisse fonctionner sur une blockchain.
- Développer des contrats intelligents (smart contracts), c’est-à-dire des programmes autonomes qui s’exécutent sur une blockchain, en utilisant des langages spécifiques tels que Solidity ou Go. Pour interagir avec la partie back-end de l’application décentralisée, qui permet d’exécuter le smart contract, le développeur web blockchain réalise des appels API (Application Programming Interface). Il s’agit d’un intermédiaire entre l’application et des services décentralisées. L’API permet d’accéder de manière standardisée à des informations via des services tiers. Par exemple, une API peut permettre à une dApps d’accéder à un oracle afin de connaitre les taux de change de cryptomonnaies, et d’automatiser des transactions financières basées sur les données fournies par l’oracle.
Lire plus : Qu’est-ce qu’un Smart Contract ?
Quelle est le salaire d’un développeur web blockchain ?
Du fait de la complexité du métier et la rareté des profils, le salaire d’un développeur web blockchain est généralement très attractif. Certains facteurs vont par ailleurs exercer une influence importante tels que le niveau d’expérience, la localisation géographique, le type d’entreprise, la rareté ou la popularité de certains langages de programmation par rapport à l’offre du marché.
Les États-Unis, en particulier la Silicon Valley et New York, proposent les salaires particulièrement élevés. Il n’est pas rare de voir des offres d’emploi à 50k/an pour des débutants, qui peuvent monter jusqu’à plus de 100k/an au bout de quelques années d’expériences. En Europe, les pays avec les offres les plus avantageuses sont généralement la Suisse ou l’Allemagne. Concernant la France, l’échelle varie entre 42k et 60k par an, selon le site Glassdor.
La maitrise des langages de programmation Solidity et Rust offrent des perspectives lucratives intéressantes, par rapport à d’autres langages plus courants tels que C++ et Javascript.
Il est par ailleurs possible d’exercer en freelance et de proposer de tarifs journaliers plus ou moins élevés en fonction de son niveau d’expérience et sa spécialisation.
Quelles compétences faut-il avoir ?
Avant de chercher à acquérir des compétences en développement blockchain, il est indispensable de maitriser les bases théoriques. Une fois les principales notions liées à la blockchain maitrisées, le développeur devra apprendre des langages et outils spécifiques.
Maitrise des bases du développement web front-end
Dans un premier temps, il est essentiel de connaitre les langages web front-end déjà utilisés dans le web traditionnel (web2) tels que HTML, CSS et Javascript. Le Javascript servira également à faire des tests de vérification des dApps.
L’objectif est de créer une expérience utilisateur sensiblement identique à ce à quoi il est habitué.
Création de smart contracts
Ensuite, il faudra apprendre au moins un langage permettant de créer des smart contracts :
- Solidity: le plus répandu. Très proche du Javascript, il est utilisé sur la blockchain Ethereum.
- Rust: est utilisé avec le framework ink! pour développer des contrats intelligents sur Polkadot et Substrate
- Vyper: plus récent et plus sécurisé, il fonctionne également sur Ethereum mais propose moins de fonctionnalités
- Go: adapté à la plateforme Hyperledger
- Michelson: langage très sécurisé utilisé sur la blockchain Tezos
Le choix se fera en fonction de la blockchain sur lequel le développeur souhaite de spécialiser.
Une fois que le langage est maitrisé, il est très utile d’apprendre à maitriser des frameworks. Il s’agit d’environnements de développement comprenant des fonctions prédéfinies et des outils qui permettre de développer plus rapidement des projets.
Comment se former à ce métier ?
Avant de s’engager dans une formation, il est possible de se familiariser avec l’écosystème via des ressources dédiées à la vulgarisation du Web3. Cela peut être via des sites tels que Start In Blockchain, ou d’autres contenus plus axés sur le développement blockchain tels que la chaine Youtube BenBK.
Lire plus : Bien débuter dans l’univers blockchain
L’apprentissage des langages HTML, CSS et Javascript peut se réaliser via les nombreuses ressources disponibles sur internet. Citons par exemple le site Open Classrooms et Gravikart.
Les formations spécifiques à la blockchain sont présentées dans les deux paragraphes suivants.
Formations gratuites
Il existe plusieurs formations gratuites permettant de faire ses premiers pas dans le monde du développement blockchain.
- FreeCodeCamp : déjà connu pour offrir des parcours d’apprentissage basés sur la réalisation de projets concrets, FreeCodeCamp propose un cours de 32h très complet pour apprendre le développement web blockchain avec Solidity
- Le site cryptozombies est une plateforme éducative proposant des tutoriels ludiques sur les NFT et la création de dApps fonctionnant sur Ethereum
- Documentation des langages : propose généralement des tutoriels gratuits pour apprendre à maitriser les bases
Formations payantes
Pour aller plus loin, il est possible de s’inscrire à des formations payantes qui proposeront généralement un accompagnement plus personnalisé. L’avantage de ces formations est d’offrir un standard de qualité grâce à la délivrance d’un diplôme ou d’une certification reconnue par la plupart des employeurs. Enfin, passer par un organisme de formation payant permet aussi d’accéder à un réseau favorisant les opportunités professionnelles. Quelques exemples (liste non exhaustive) :
- Alyra : centre de formation en ligne qui propose un parcours de formation sur 3 mois avec des intervenants reconnus dans le monde de la blockchain
- Acadee : dispense également une formation à distance reconnue par l’État qui peut se réaliser à temps plein ou à temps partiel
- Blockchain Business School : offre un large catalogue de formation en ligne autour du Web3 dont celui de développeur web blockchain
Quelques formations en présentiel spécialisées dans la blockchain commencent à apparaitre dans certains établissements supérieurs tels que l’ESGI, l’ESILV, l’Epita ou d’autres écoles d’ingénieur.
En résumé
Le métier de développeur web blockchain reste complexe et nécessite d’avoir de solides bases en informatique. Cependant, il s’agit d’un métier en forte demande sur lequel il peut être intéressant de se positionner, si vous aimez à la fois la programmation et l’univers du Web3. Les développeurs web qui souhaitent monter en compétences dans ce domaine seront avantagés par leur maitrise initiales des langages front-end, mais le métier reste accessible à toute personne prête à y investir du temps.