Concentrez-vous sur les principes, pas la technologie

Au détour d’une discussion sur les monolithes modulaires avec un collègue développeur ce matin, je lui explique être en train de regarder une formation en ligne intitulée “Modular Monoliths in .NET”. Il me demande alors: “Pourquoi regarder une formation orientée .NET ? Alors qu’au quotidien, tu travailles essentiellement en PHP.”.

C’est (malheureusement) un peu dans la tendance. Aujourd’hui beaucoup cherchent à se spécialiser sur une technologie précise. On voit souvent des développeurs se qualifier de “développeur [insérer ici une techno de votre choix]”. On cherche dorénavant à connaitre une techno sur le bout des doigts. Pourtant les langages, frameworks et bibliothèques vont et viennent. Je fais de l’informatique professionnellement depuis 15 ans et lorsque j’ai commencé, les frameworks PHP en étaient à leur tout début (j’ai encore les souvenirs de Copix). On était encore bien loin des frameworks type Zend, Symfony ou Laravel.

Pour autant, je travaillais avec des frameworks type Struts, qui reposaient sur une architecture modèle-vue-controleur (MVC) comme encore la plupart des frameworks existants. Or, si on comprend comment fonctionne ce pattern, passer de l’un à l’autre est relativement simple.

Bien entendu, cela ne se fait pas en un claquement de doigts. Il faudra (ré)apprendre les particularités du nouveau framework, éventuellement le langage de programmation utilisé, mais de nombreux principes restent communs à tous les outils.

Et c’est bien là que je veux en venir. Ne vous focalisez par sur une technologie précise, concentrez-vous sur les principes sous-jacents. Tout d’abord, cela vous permettra de bien comprendre les tenants et les aboutissants, vous donnant ainsi la capacité de juger de la pertinence de la mise en place de l’outil dans un contexte donné.

En plus de cela, vous ne serait pas enfermé dans un écosystème particulier. Ce dernier point est d’autant plus important si vous souhaitez avoir une carrière longue de développeur. Car si les technologies changent, les principes et les patterns restent souvent les mêmes. Vous n’aurez donc pas à continuellement repartir de 0 lorsque vous basculerez sur de nouvelles briques techniques.

Comprendre le fonctionnement des outils et les fondamentaux sur lesquels ils reposent est donc le secret de la longévité de votre carrière de développeur, mais également un des éléments clés pour avoir une analyse pertinente à un problème donné.