En dehors du titre, le générique masculin est utilisé sans aucune discrimination et uniquement dans le but d'alléger le texte.

Je ne vais pas te parler du petit Jésus, mais de technologie. Tous les développeurs sans exception sont religieux. Moi le premier et surtout toi. Cette religion te met en colère et te pousse vers de mauvais choix. Aujourd’hui je te parle d’amour et de violence.

Coup de foudre dans ton dev

Nous sommes en plein milieu de l’été 1999. J’ai décidé de passer une semaine entière à jouer à mon jeu vidéo préféré parce que je suis un énorme geek. Final Fantasy 8 me fait rêver et le monde entier doit être au courant. Je me jette alors sur le PC de ma mère et je décide de faire un site Internet. Le problème c’est qu’à ce moment-là je viens d’avoir 13 ans. Je suis encore plus con qu’aujourd’hui. J’ai aucune idée de ce que je fais. Malgré mon QI négatif, je finis par comprendre comment utiliser le HTML. Puis le CSS. Et enfin le Javascript. Sans le savoir, je m’autoforme à la base du développement web. La création et la mise en ligne de ce site va être pour moi un moment pivot qui va changer ma vie.

Je tombe en amour immédiat avec le développement et tous les langages que j’utilise à ce moment-là. J’insiste sur le mot amour. C’est un putain de coup de foudre cette affaire. Je ne touche plus à ma PlayStation pendant des semaines. Mon apprentissage me passionne. Faire mon site internet est bien plus intéressant que tous mes jeux réunis. Et surtout, je ne trouve absolument aucun problème à tout ce que j’utilise. Ces outils sont parfaits. Tu as vu ce que j’ai fait avec ? Incroyable.

L’année d’après la version 4 de PHP est release dans les Internets. Pour la première fois, mon site sur Final Fantasy 8 devient dynamique. Une base de données me permet de mettre à jour le site sans toucher au HTML. C’est fou. Ma lune de miel continue. Je n’ai plus aucun doute sur ce que je veux faire dans la vie. Mon culte envers toutes ces technologies grandit à mesure que j’y passe du temps. J’ai vraiment l’impression de devenir un Dieu là-dedans. Une profonde foi s’installe en moi. Et gare aux impies qui oseraient critiquer ma nouvelle religion.

Les croyants recevront un bel accueil

Je suis sûr que tu te reconnais d’une façon ou d’une autre dans mon histoire. Comme tous les développeurs, tu as une relation particulière avec ce métier. Une passion, une vocation, une évidence tu l’appelle comme tu veux. Tu as investi tellement de temps et d’effort dans ces technologies que tu finis par t’identifier. Comme une extension de toi-même. C’est impossible d’être complètement objectif quand tu es autant investi. On est des êtres humains. On veut adhérer à des idées et croire en des choses. Et pour les croyants la récompense est énorme. La puissance de productivité et de créativité que t’offre un langage maîtrisé est un formidable don. Un cercle vertueux s’installe. Plus tu y crois, plus tu deviens bon. Tu deviens une personne pieuse. Tu veux honorer ton souverain et il devient alors important d’évangéliser.

Les communautés autour d’un langage ou une pratique viennent ré-enforcer ta foi. Tu rencontres tous ces gens en ligne ou lors de meet-up et autres conférences. Tu es galvanisé par autant d’adeptes. Et tous les fidèles ont le même discours. Ta sainte technologie est la solution à tous les problèmes. Même quand tu fais clairement rentrer un triangle dans un rond en défonçant les côtés. L’amour aveugle t’empêche d’avoir du recul. Et quand un hérétique se met à hurler des horreurs sur tes croyances, l’amour fait place à la violence.

L’amour et la violence

Nous sommes en septembre 2005 et ça fait pas mal d’années que je dev dans mon coin pour le fun. Je suis de religion PHP. PHP c’est la vie et celui qui dit le contraire je lui coupe la tête. J’arrive à ce moment-là à ma première année de BTS informatique. C’est la première fois qu’on va m’enseigner le dev de façon professionnelle. Et je tombe nez à nez avec pleins d’autres développeurs. Évidemment, je leur parle immédiatement de ma sainte religion. Et la réponse que j’ai est insoutenable. “PHP c’est de la merde ! Quand t’es un vrai développeur, tu codes en C#.” Et tout le monde à l’air d’accord.

Je vois rouge. Dans une colère explosive, j’insulte violemment tous ces fanatiques du C#. C’est allez si loin que très vite l’établissement nous recadre chez le directeur. C’est un groupe de cinq personnes que je me mets à dos. Aucun mot ne sera échangé entre nous durant les deux années qui suivront. On ne discute pas avec le diable.

Fast forward je continue mes études en Angleterre puis en Espagne, je te raconterai ça un autre jour c’est trop long, et je rentre à Lyon fin 2009 pour mon premier stage. À ce moment-là dans ma tête je suis un Dieu du dev et je prêche jQuery et Symfony. Le problème c’est qu’au travail, la religion n’a pas sa place. Je me suis mis à produire des projets Symfony entiers là où un simple script bash avec un cron aurait suffit. Assez vite mon fanatisme pose de gros problèmes à mon premier job. Mon lead dev a décidé d’avoir une discussion avec moi qui allait mettre fin à ma vie de sectaire. Une discussion que tous les développeurs devraient avoir pour éviter de faire des bêtises.

Blasphémateur

Avant ça, il faut que je te parle de l’événement qui m’a inspiré cet article. Il y a presque deux mois de ça, j’ai publié cet article. J’aime NodeJS. J’aime tellement ça que c’est mon outil de travail depuis des années. Et du coup j’aime en parler. Et quand le créateur de NodeJS fait la liste des choses qu’il regrette avec NodeJS et nous parle de son futur projet, je suis obligé de t’en parler. Cet article va plaire à beaucoup de monde. Beaucoup de monde, mais pas Thomas.

Thomas est un développeur qui aime NodeJS et son environnement. Il poste un article réponse à mon article. C’est Internet, donc j’ai l’habitude des critiques. Mais son article est d’une violence inouïe. Ça aurait été OK s’il se contentait de technique, mais là c’était personnel. J’ai jamais vu autant de violence dans une réponse. C’est si violent qu’il va s’autocensurer. En plus de ça on est sur Linkedin, on est pas chez mémé ! Tout le monde est censé être professionnel dans ce coin des Internets non ? Mais pourquoi tant de haine alors qu’il était d’accord avec une bonne partie de l’article ? En fouillant un peu je suis tombé sur un autre article de Thomas. Et dans cet article il se livre. Dans cet article, il parle d’amour.

Et là, j’ai compris. Thomas est de religion NodeJS. Et à ses yeux, je suis un hérétique qu’il convient de brûler vif en place publique. Quand j’ai compris ça, je me suis revu des années en arrière défendre PHP comme si c’était ma mère. Passer la première barrière de choc, j’ai réalisé que sa violence était une mauvaise traduction de son amour pour NodeJS. Si tu lis ça Thomas sache que je t’aime et je t’estime. Sans rancune. Partage-nous ton expertise NodeJS dans des articles. Je suis sûr que je serais pas le seul à apprendre plein de choses techniquement grâce à toi. Et pour arrêter d’agresser les gens et mieux vivre ta passion, je t’invite à la lecture de la partie suivante.

Exorcisme

Retour à mon premier job. Mon lead dev me fait venir dans le café devant la boite et me fait un monologue qui va changer ma façon de voir les choses. Les langages sont des outils. Les langages ne sont pas ta famille. Je comprends ton attachement et ton besoin de les défendre mais c’est ridicule. Tu es un développeur et c’est de façon logique que tu dois choisir tes technologies.

Tu as devant toi une énorme boite à outils. Si tu utilises un tournevis pour casser un mur tu es un mauvais développeur. Ça va se voir tout de suite et ton entreprise va en payer le prix. Je m’en carre le cul que ce tournevis t’as aidé toute ta vie. Je m’en fous encore plus que t’as vu des gens casser des murs avec un tournevis avant. Oui l’outil parfait n’existe pas, mais c’est évident quand il faut aller voir ailleurs. Dans un milieu technique, les faits et les benchmarks sont de bien meilleurs conseils que ton ressenti ou tes sentiments. Et je t’en supplie met fin à tes pulsions qui vont seulement t’emmener vers des situations de conflits inutiles. Il est temps d’exorciser tes démons.

Combien de débats inutiles entre programmation-objet et programmation fonctionnelle ? Combien de projets voués à l’échec à cause d’un mauvais choix de technologie ? Combien de pseudo-guerres entre développeurs pour une histoire de langage ? Combien de développeurs qui refusent de voir les failles dans leurs technologies ? Religion, religion, religion. La plupart des développeurs vont vendre leur technologie, en crachant sur le reste, sans n’avoir jamais rien essayé d’autre. À part propager la haine et faire échouer des projets, ça sert à rien. La prochaine fois que tu veux défoncer un langage essaye de te retenir et de respecter les autres. Car l’amour pour un langage, c’est très bien quand c’est contrôlé.

Aimez-vous les uns les autres

C’est ton amour pour ce métier qui a fait de toi ce que tu es aujourd’hui. Je dis pas que c’est mal tout ça. Mais tu dois prendre du recul. Il est super important d’analyser et d’accepter les faiblesses de ton langage. C’est même indispensable si tu veux en éviter les pièges. C’est indispensable si tu veux faire les bons choix et devenir un meilleur développeur. Si comme moi tu as été coupable de colère et de mauvais choix dans le passé, il est temps de faire ton travail de rédemption. Regarder droit dans les yeux les faiblesses de toutes ces technologies et utiliser ce savoir à ton avantage.

C’est exactement ce que j’ai fait avec NodeJS. Pareil quand j’ai posté cet article sur mon ancienne religion PHP. Je la descends en flèche avant de la défendre. Je me souviens très bien de tous les mails remplis de haine et/ou d’amour que j’ai reçus.

Je suis en train de dépiler la liste de mails que j'ai reçue après l'article sur le PHP et y'a beaucoup trop de religions chez les dev. PHP est un outil, comme tous les autres langages. PHP c'est pas ta famille. C'est fou d'être aussi attaché émotionnellement à un langage. — Mehdi Zed (@jesuisundev) September 26, 2019

Ta religion n’est pas censée te contrôler. Tu dois être critique envers ta religion pour la contrôler. La critique est saine si elle est faite intelligemment. Je critique en particulier les gens que j’aime. Je les connais bien et si je les critique c’est parce que je veux leur bien. Je prends des pincettes et je me renseigne très fortement avant d’oser parler des gens que je ne connais pas bien. Car je les respecte et je veux être respecté. Appliquer cette façon de penser à la technologie est une bonne idée. Ça va renforcer ton expertise et éviter d’heurter les croyances des autres. Ils vont fortement apprécier que tu demandes avant de leur envoyer des horreurs. Peut-être même que du coup ils vont avoir envie de t’apprendre quelque chose de leur expertise à eux. Et à la fin de l’histoire, l’amour triomphe.

Épilogue

Au fur et mesure que le blog grandit j’ai l’impression que mes idées ont plus de résonance. Et si cet article peut t’aider à répandre de bonnes ondes, j’en serais honoré. Notre domaine en a bien besoin. Tu as toujours les commentaires en bas. Je suis curieux de savoir si tu as envie de me parler d’amour ou de violence.