Arrêtez de coder, apprenez à développer.

Un orgue de barbarie
Crédit photo : Roman Bonnefoy

[Article initialement publié dans Le Figaro Étudiant en partenariat avec HETIC]

"Coder". "Développer". Avez-vous remarqué que l'on emploie indifféremment un mot et l'autre ? Sont-ils strictement équivalents ?

"Développer", on voit bien : on développe des sites Web, des applications mobiles, des jeux, de l'informatique embarquée… on facilite des métiers existants en les dématérialisant, on crée de nouveaux usages, on ouvre de nouveaux horizons.

Fort bien.

Mais pourquoi "coder" ? Le mot évoque la cryptographie, champ de savoir dans lequel un message n'est plus directement intelligible par les humains. C'est logique, puisque que le code est destiné aux machines. Cela remonte aux cartes perforées des orgues de Barbarie (on encode une musique) et des métiers à tisser (on encode un motif), ancêtres de l'ordinateur.

Apprendre à parler aux machine est la base. Comme la farine est la matière première du boulanger, le code est notre matière première, à nous développeurs et développeuses. Ne vous laissez pas attirer par les sirènes du Management, avec un grand "M". Le management ne saurait être une fin en soi. Le management n'est qu'un moyen, éventuellement nécessaire, pour atteindre un objectif : développer un produit, faire bouger les lignes, résoudre des problèmes. Développer notre société, bâtir un meilleur futur, tel est notre objectif.

Seulement voilà, "coder", parler à des machines ne suffit pas. Le code est chose sociale : on écrit du code pour des humains, sinon on en serait encore à l'assembleur. Au contraire, les langages usuels (HTML, CSS, JavaScript, Python, Go, you name it) se situent à un très haut niveau, au plus proche de l'humain. On parle d'ailleurs de langages de programmation, de grammaire, de syntaxe, de mots-clefs. Tous ces emprunts à la linguistique ne sont pas anodins : quand on "code", on s'adresse en fait à des humains.

A bien y regarder, le code ne réalise-t-il pas l'ambition de l'Esperanto ? Une lingua franca permettant à deux personnes de se comprendre malgré la distance et les différences de culture, de religions peut-être… Là réside la beauté de l'open source.

Parler à des machines ne suffit donc pas. Le fait que "mon code marche" ne suffit pas.

Et cela, peu de développeurs et de développeuses le comprennent. Oui, la tension du marché du travail est telle qu'il est facile aujourd'hui de trouver un emploi après quelques mois d'un bootcamp, comme il en fleurit par dizaines ces dernières années. Pourquoi ne pas s'en contenter, alors, en bons adeptes du "sam'suffit ?"

Non, justement, parce que nous ne saurions nous satisfaire de produire un code passable, "juste OK". Comme Oscar Wilde, contentons-nous du meilleur !

Soyons des artisans du code. Aimons le travail bien fait, et même, osons le mot, la perfection. Une forme de perfection, atteinte avec le temps. Abandonner l'idée de perfection, c'est abandonner l'idée même d'amélioration, l'idée du mieux, l'idée du bien. Soyons ambitieux, visons haut et n'ayons de cesse de progresser, de transmettre, de créer, de retravailler, d'améliorer, de consolider, de faire vivre notre passion pour le code.

Et concrètement ?

Ce ne sont pas de vaines paroles : l'artisanat logiciel ("software craftsmanship") recouvre un ensemble de pratiques qui trouvent leur origine dans l'Extreme Programming des années 1990. L'agilité en est indissociable. Ce savoir met l'accent sur la lisibilité du code, les pratiques de test et la modularisation, trois composantes qui sont autant de gages d'un programme capable d'évoluer sur le long terme et donc de durer.

Un code trop dur à comprendre, un code qui ne fonctionne plus à la moindre modification, c'est un code bon à jeter. Impossible d'y rajouter des fonctionnalités, impossible même de le maintenir en état. Un tel code, c'est un manoir qui tombe en ruine : c'est du gâchis.

Ce savoir est finalement peu enseigné, car peu de personnes le maîtrisent. C'est ma raison d'enseigner, auprès d'entreprises que j'aide à produire du meilleur code, et auprès d'HETIC, qui, avant les autres, a compris l'importance de l'artisanat logiciel.

Alors… arrêtez de coder, apprenez à développer !

Subscribe to Mathieu Eveillard

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe