Hello ! Je suis Antoine / t4w4n3. Nous sommes sur un blog tech, alors me voici sous cette facette là, même si je suis plus que cela :wink:

Mes dev partent en prod depuis 2012, et j’ai fini par réaliser que c’est mon Ikigai aux alentours de 2017.

Le code me parait semblable à un organisme vivant; il est soumis à l’entropie, il se complexifie, il mutte, il évolue, il pourrit. En designant, codant, testant j’ai la sensation de maitriser l’entropie.

Mon rôle d’ingénieur m’amène à utiliser des principes software transverses aux technos : Archi hexagonale, DDD, TDD, POO.

J’aime les langages et frameworks de haut niveau : Kotlin, Java 18, Springboot, Grails, Groovy.

Je me tourne souvent vers Kotlin, Groovy, qui donne accès aux opérateurs avancés, (elvis, elvis assignement, safe nav, safe index, spread, range, …), et offre nativement des fonctions de manipulations de structures de données telles que .collect(), findAll(), .collectEntries(), .combination(), .permutation(), .groupBy(). C’est dont tout naturellement que Kotlin et Scala me font de l’œil.

En effet, la compléxité du monde du software grandit à toute allure, et je n’ai pas envie de résoudre les problèmes qui sont pliés depuis longtemps. L’enchevetrement de niveaux d’abstraction est aujourd’hui si dense, qu’il est déraisonnable d’étudier toute la strate avant de commencer à en utiliser le sommet. Vouloir apprendre tout ce que nos prédécesseurs savaient n’est qu’un attavisme de la période pre-disque-dur. Maintenant que nous pouvons y stocker les enseignements de toutes les générations, plus besoin de tout retenir. Le paradigme Just-In-Time est maintenant bien plus adapté quand il s’agit d’aller chercher l’information.

L’écosystème de la JVM c’est mon truc ! J’ai commencé par le monde Java EE et ses RI (Implémentations de référence), et depuis 2019 je n’officie presque plus que dans le monde Spring. C’est dommage, Microprofile (Jarkarta EE for microservices) a pourtant tant à offrir.

J’aime expérimenter toutes les technos JVM que je trouve. Une bonne partie de mes trouvailles viennent de Sdkman, qui me sert aussi à mettre à jour très régulièrement mes outils.

Mon outil d’automatisation de build préféré ? Gradle, et de loin. Je maitrise Maven, mais le xml me fait mal au crane. J’ai été agréablement surpris par Sbt dans le cadre d’une cross-compilation Scala-Java.

Côté test, j’ai enfin eu le déclic du TDD en 2022 (le vrai, avec le test qui fail, les baby step, le refacto et l’émergence du design). Je suis un inconditionnel de Spock (et oui encore du Groovy), pour la partie unitaire et intégration. J’apprécie aussi Junit5 quand Groovy n’est pas disponible. J’ai gouté à Cucumber, que j’ai trouvé fort mal compris par mes clients. Si je peux, je l’évite.

J’ai aussi expérimenté le benchmarking avec un peu de Jmeter, beaucoup de JMH, et un chouilla de Gatling.

En résumé : Pratiques software éprouvés et technologies disruptives comme atouts de compétitivité.