Craft : mes premiers pas

Bonjour Hernan ! On va démarrer notre interview du jour intitulée : « Craft : mes premiers pas« . Peux-tu nous en dire plus sur ton premier « contact » avec le craft ?

Bonjour Wissem ! La première fois que j’ai entendu parler de cette approche, c’était au moment d’intégrer Adventium Technologies. Je devais alors passer l’entretien technique.
J’ai préparé les différents concepts. Ainsi, je me suis intéressé à tout ce qui est le manifeste du craft, la clean architecture, l’architecture hexagonale. Les concepts SOLID, je connaissais déjà un peu, mais ça m’a permis de les revoir. En ce qui concerne les bonnes pratiques, j’ai un peu consulté les publications de Uncle Bob et certaines vidéos. Par la suite, l’entretien technique s’est bien passé et on m’a un peu redonné quelques éléments.

C’est surtout au moment de mon onboarding, lorsque j’ai dû regarder un peu plus profondément les différents concepts. Puis, en travaillant sur des projets concrets, j’ai vraiment commencé à comprendre en quoi consiste cette approche. 

En quoi cette nouvelle approche, le craftsmanship, est intéressante, selon toi ?

Les vidéos sur le sujet que j’ai visionné en préparant mon entretien m’ont tout de suite paru intéressantes et instructives.
Par ailleurs, l’état d’esprit, les aspects liés à la coopération et au transfert de compétences, ainsi que les principes du manifeste en lien avec la méthode Agile, m’ont séduit. Je crois en l’apprentissage en continu, j’ai moi même besoin d’apprendre et j’aime bien transmettre aussi.
Les aspects plus techniques, notamment les principes de l’architecture hexagonale ont également attiré mon attention. En effet, les solutions apportées afin de tester le fonctionnement de notre code de façon isolée, d’éliminer au maximum les dépendances dans notre code et en général le fait d’appliquer des bonnes pratiques de codage m’ont semblé répondre à des difficultés que j’avais souvent rencontré dans mon expérience de développeur.

Il y a beaucoup plus à dire, sur la clean architecture, le DDD, les TDD, le BDD notamment. Mais dans un premier temps, c’est l’état d’esprit et la possibilité de structurer mon code et de le construire de façon évolutive, intelligible et efficace car plus testable qui m’ont interpellé.

Tu as mentionné quelques concepts apportés par le craft. J‘ai bien entendu les termes TDD, clean architecture, architecture hexagonale, DDD. Peux-tu nous parler de ce que de ce que tu as appris de ces concepts ?

Valérie Graziani, en charge de mon recrutement, m’avait suggéré de regarder ces concepts pour préparer mon entretien Adventium. En conséquence de quoi, j’ai cherché des définitions et tout ce qu’on disait là-dessus et sur le domain-driven design DDD en particulier. C’est le concept clé.
J’ai alors compris que l’on avait besoin de modéliser le métier pour construire du code de qualité. Ceci a eu une forte résonance pour moi. En effet, sur plusieurs projets cette partie métier était souvent séparée pour plus de pertinence. Cependant, sur d’autres projets, tout était mélangé, ce qui a posé beaucoup de difficultés.

J’ai retenu, en premier lieu, de ces investigations que ce type d’architecture consistait à intégrer dans le “domaine” toute la logique métier, puis dans un bloc séparé tout ce qui est lié aux technologies.
Ensuite, la pratique du TDD qui consiste à guider notre code par les tests, et donc construire notre application à partir des tests m’a dans un premier temps interrogé.
J’avais déjà utilisé des test unitaires mais sans comprendre le réel intérêt de la démarche, juste comme une bonne pratique à adopter.

Par la suite, à l’occasion de différents projets de mise en pratique et des échanges avec les Adventuriers, j’ai mieux assimilé comment tout cela ( DDD, TDD, architecture hexagonale) se coordonnent. Et finalement à quoi correspondaient les différents concepts.
J’y ajoute le BDD, correspondant au fait  de construire les différentes features avec le client , les différentes user stories qui seront ensuite développées dans l’application.

Sans oublier toute la dimension humaine, soft skills correspondant à l’état d’esprit du craft avec lequel je me sens en affinité.

Je ne suis pas allé plus loin sur les aspects techniques à ce stade. Cependant, j’ai noté comment ces différentes approches permettaient de construire un logiciel de qualité en évitant de cumuler la dette technique, et en faisant des choses plus durables, plus stable, et aussi visiblement de façon plus agréable. Tout cela grâce à une méthodologie claire.

C’est en effet plus gratifiant et formateur qu’appliquer bêtement des technologies imposées par un framework. 

J’ai compris aussi  que la maitrise des technologies c’est une chose et appliquer une bonne conception c’est une autre chose.

Qu’est-ce que t’a apporté Adventium Technologies , en terme d’encadrement  et d’accompagnement ,  dans l’atteinte de cet objectif  : évoluer vers le savoir-faire craft, devenir craft ?

Au moment de mon onboarding, mon mentor chez Adventium m’avait suggéré de regarder des livres de référence que j’ai parcourus rapidement. Le but était de me familiariser avec certaines notions phares. Par exemple : agrégat, entité, value object, service, repository, ubiquitous language, test unitaire, etc.

D’une part, j’ai beaucoup échangé avec mon mentor et toute l’équipe des Adventuriers. D’autre part, j’ai mis en oeuvre un projet concret. Ainsi j’ai pu comprendre comment appliquer concrètement et correctement ces concepts.

Le projet consistait en un en back end avec la technologie Symphony en PHP. Le front end était quant à lui construit avec du TypeScript et du React.

Nous avons évoqué tes premiers pas avec le craft Comment vois-tu ton avenir dans quelques mois ou années, renforcé par cette pratique ?

J’ai bien intégré cette façon de concevoir et de coder et cela va me servir constamment. C’est également une référence pour moi, un véritable guide sur la manière de bien exercer mon métier de développeur.

Mon souhait est de continuer à évoluer dans la mise en pratique des concepts liés au craft dans mon métier. Mais aussi de transmettre ces bonnes pratiques aux autres développeurs, notamment aux plus jeunes.

Cet article vous a plu ? Consultez les autres.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

CodinCraft

© 2025 CodinCraft