No Code
Cela fait un moment qu’on entend parler de No Code, c’est aujourd’hui devenu un buzzword de plus, mais qui cache pourtant un véritable phénomène dans le monde de la tech.
En tant que développeur, j’ai d’abord regardé le NoCode avec dédains. Faisant le parallèle avec de vieux outils (bonjour dreamweaver) qui n’ont jamais vraiment percé. Puis j’ai essayé d’utiliser certains de ces outils pour voir ce qu’on pouvait faire avec et si c’était vraiment une révolution.
Retour d’expérience d’un dev
J’ai tout d’abord tenté de faire avec du No Code ce que je pouvais faire en codant. Je suis plutôt dev back et donc je me suis amusé à automatiser certaines taches avec du Zappier et stocker des données avec Airtable. C’est clairement ultra facile à prendre en main. C’est un véritable jeu d’enfant de bâtir quelque chose qui fonctionne bien avec ces outils, ce qui explique leurs rapides adoptions aux non-développeurs. En revanche, j’ai vite été frustré par ces outils. Ils sont certes ultra efficaces mais également très limités. Quelqu’un qui n’est pas développeur ne s’en rend pas forcément compte et se contente de ce qu’offrent les services. Mais pour un dev, c’est un peu comme être à l’étroit dans ces chaussures, on lâche vite l’affaire.
J’ai donc laissé tomber ces outils pour repartir sur du code. Très clairement, le No Code ne m’a pas permis d’être plus rapide qu’en codant. Je dirai que je suis allé plus vite sur le 10 premiers pourcents de mon projet avant de devoir batailler avec les différents outils et leur capacité d’intégration. Chose qui n’arrive pas quand on développe soit même. Les offres gratuites sont très limitantes, autant dire que ça permet de voir un peu ce que ça donne, mais il faudra rapidement passer sur une offre payante pour tirer parti de l’outil, ce sera même indispensable pour lancer un produit. Ce aussi quelque chose qui n’existe pas en codant. Je n’ai jamais eu à payer quoique se soit pour déployer mes applications en production (si ce n’est un nom de domaine perso, bien sûr) parce que la plupart des fournisseurs proposent une offre gratuite jusqu’à un certain niveau pour une application. Il y a aussi autre chose qui m’a dérangé, c’est de devoir passer par plusieurs outils avec chacun leurs règles et leurs tarifs pour pouvoir réaliser mon projet. Cela cumule les coûts et les aller/retour d’une plateforme à l’autre.
Mon retour est que ces outils n’apportent pas grand-chose si ce n’est rien pour un développeur qui a la compétence de faire from scratch. Ils sont également très chers. Franchement, les tarifs sont vraiment élevés par rapport à un hébergement d’application, donc encore une fois un dev trouvera mieux ailleurs. En revanche pour quelqu’un qui n’est pas développeur ce n’est pas la même histoire.
Pour un non dev
Quand on a pas la capacité de développer soit même, ces outils sont juste géniaux et permettent de réaliser à peu prêt tout ce qu’on peut faire sur le web. On peut faire un site web, une application mobile, des base de données relationnelle ou non, tout un paquet d’automatisations pour faire le lien entre les différents outils. Cela ouvre des perspectives incroyable pour quelqu’un qui veut lancer son idée ou pour les entreprises qui veulent automatiser certain process sans passer par la case dev. C’est pour cela que le coût de ses plateformes est élevé. C’est parce que la valeur se trouve dans les opportunités qu’elles ouvrent et dans l’optimisation des coût quelles proposent. Même si il faut payer 3 abonnements sur trois outils différents pour son projet on sera toujours très loin du coût du salaire d’un seul développeur même junior. Le prix va cependant vite exploser et les limitations se faire sentir si le service doit être customisé ou répondre à des problématiques de charge particulière. Mais si cela arrive c’est que le produit/service se vends et qu’il est tant d’internalisé le développement.
Quand on n’a pas les compétences pour développer soi-même, ces outils, sont juste géniaux et permettent de réaliser à peu près tout ce qu’on peut faire sur le web. On peut faire un site web, une application mobile, des bases de données relationnelles ou non, tout un paquet d’automatisations pour faire le lien entre les différents outils. Cela ouvre des perspectives incroyables pour quelqu’un qui veut lancer son idée ou pour les entreprises qui veulent automatiser certains process internes sans passer par la case équipe de développement. C’est pour cela que le coût de ces plateformes est élevé. C’est parce que la valeur se trouve dans les opportunités qu’elles ouvrent et dans l’optimisation des coût qu’elles proposent. Même s’il faut payer 3 abonnements sur trois outils différents pour son projet, on sera toujours très loin du coût du salaire d’un seul développeur, même junior. Le prix va cependant vite exploser et les limitations se faire sentir si le service doit être customisé ou répondre à des problématiques de charge particulière. Mais si cela arrive, c’est que le produit/service se vend et il sera encore temps d’internaliser le développement.
Devant ce constat, je vais tenter une nouvelle expérience avec le No Code. Ma première approche a été d’utiliser ses outils pour faire ce que je pouvais faire facilement et avec plaisir moi-même. En revanche, je ne suis pas un grand fan du CSS et le développement front à tendance à vite me saouler. Je pense donc tenter de refaire un front pour une de mes applications en passant par mon API. Je ferai un retour dans un prochain post pour vous raconter tout ça. C’est le seul intérêt pour l’instant que je vois pour moi, me faire gagner du temps sur ce que je n’aime pas trop faire et me permettre de me concentrer sur mes forces.
L’avenir du No Code
Il faut être honnête avec son accessibilité et la puissance qu’offre le No Code aujourd’hui, il va se développer à fond. Toutes les plateformes No Code ouvrent l’accès à la création autour du web à un bien plus large public. Dans le monde actuel cela répond à un enjeu stratégique sur la transition numérique des entreprises. De plus, le No Code en tant que tel n’est pas nouveau. Ce qui a fait exploser les CMS il y a quelques années, c’est justement la possibilité de permettre à des non-techs de maintenir leur site et de gérer leur propre contenu. Ces outils ne sont que l’évolution de ce qui se faisait déjà, mais à une tout autre échelle et en mode SaaS.
Danger ou opportunité
Dans la communauté des développeurs, ce qu’on peut dire, c’est que le No Code n’est pas apprécié. Je trouve qu’il y a une réaction extrême et dédaigneuse de la part de la communauté. C’est vrai que cela ouvre les portes à la création d’application aux personnes qui ne sont pas développeur. Ils peuvent maintenant se passer de nous pour beaucoup de choses. Mais n’est-ce pas là la raison d’être de l’informatique en général. Permettre à de plus en plus de personnes de bénéficier, de maîtriser les nouvelles technologies et de créer par elle-même.
Il y a peut-être une peur de se faire remplacer par n’importe qui sachant utiliser ces outils et de devenir obsolète. À mon sens, ces craintes sont infondées. Premièrement, parce qu’il faut bien coder ces outils. Deuxièmement, parce que le monde de développement ne se limite pas qu’au web, il y a beaucoup d’opportunités dans d’autres domaines. Et enfin parce qu’il y aura toujours besoin d’un développement spécifique et pointu dans certains cas et il faudra des experts pour assurer à ce niveau. Il se peut que dans un avenir proche le No Code deviennent la norme pour une grande partie des applications pour lesquelles il offre une couverture fonctionnelle suffisante, tout comme Wordpress est hyper présent dans l’univers du web.
Il peut être à la fois une menace pour tout un pan de la profession. Je pense aux développeurs juniors qui auront moins d’opportunités puisque les missions qu’on leur conférait seront remplacées par ses outils. Je pense aux développeurs qui n’ont pas suffisamment développé leurs compétences. Ils ne pourront pour aller travailler sur des projets qui ne sont pas adaptés au No Code et seront remplacés.
Il peut également être une opportunité. En effet tout le monde ne pas se mettre à faire du No Code et il faudra des spécialistes dans ce domaine pour prendre en main les intégrations. Ce seront sûrement les nouveaux métiers de demain (nocoder ou maker 🤔). Les développeurs pourront facilement embrasser ce changement avec en plus la vision d’un dev et la connaissance des technos sous-jacente (beaucoup d’outils No Code permettent de coder pour la customisation).
Je peux me tromper, bien évidemment, mais le monde du développement web et peut-être en train de vivre ce que beaucoup de secteurs ont vécu avec l’arrivé de l’informatique. C’est-à-dire moins de personne pour réaliser une tâche et surtout un niveau d’abstraction qui monte, permettant de réaliser des tâches complexes avec moins de connaissance technique.
Evolution du métier de développeur
Au final, ne peut-on pas voir le No Code comme une évolution de notre métier ? Un nouveau niveau d’abstraction dans le monde de la programmation. Si on y regarde de plus prés l’intégration des différents outils via des API, le fait de réaliser une application front, de gérer sa DB et mettre en place ses règles métiers pour l’automatisation est assez proche de ce que l’on fait en développant. Il faut simplement beaucoup moins de connaissance technique pour y parvenir.
Si on réfléchi, c’est un peu la même chose qu’avec les évolutions des langages eux même. En regardant un développeur web aujourd’hui, ce souci t-il de l’occupation mémoire des données qu’il manipule. Est-ce qu’il doit explicitement libérer cette même mémoire lorsqu’il ne l’utilise plus ? Les dernières générations de langage de programmation ont également abstrait bon nombre de concept de base. Au point que beaucoup de développeurs n’ont même pas besoin de comprendre comment fonctionne un ordinateur pour le programmer. C’était impensable pour pouvoir développer dans les premières générations de langage.
Au final qu’on pensé les développeurs qui codaient en assembleur quand le, C est arrivés ? Et que pensent les développeurs C quand ils voient du JavaScript ? Il est possible de réaliser de programme en JavaScript sans même comprendre le début pourquoi du comment fonctionne un ordinateur et un système d’exploitation. Est-ce que cela fait des développeurs JS de mauvais développeurs ?
Bien que le niveau d’abstraction des langages ait augmenté avec le temps, le C et l’assembleur n’ont pas disparu. Ils sont la base de beaucoup de choses dans l’informatique d’aujourd’hui. Ils sont devenus des langages ultra spécifiques à des domaines précis où aucun autre ne peut prétendre répondre mieux au besoin. Ils sont les outils de développeurs qui ont acquis une expertise pointue dans les domaines qui les nécessite.
Pour conclure, si on repense à l’introduction de Robert C.Martin dans Clean Code, on trouve justement un chapitre qui parle de la montée en niveau d’abstraction de nos langages de programmation. L’objectif étant de permettre à de plus en plus de monde de se servir de l’outil informatique en exploitant toujours mieux sa puissance. Le No Code est peut-être, tout simplement, ce qui s’approche le plus aujourd’hui du prochain niveau de code.