Un logiciel qui doit durer ne s'écrit pas comme une démonstration
Faire marcher un logiciel le jour de la présentation, beaucoup savent le faire. Celui qui tourne encore dans cinq ans, quand quelqu'un d'autre devra le modifier un vendredi soir sans rien casser, s'écrit autrement. On y préfère une solution simple à une solution brillante, on note pourquoi telle décision a été prise, on laisse des tests qui rappellent ce que le programme est censé faire. Pensez au tableau électrique d'une maison : le jour de l'installation, les étiquettes ne servent à rien, et dix ans plus tard vous bénissez celui qui les a posées. L'ingénierie logicielle, c'est ce soin-là, du besoin jusqu'à la maintenance, et c'est ce travail que nous aimons.
Il arrive aussi que personne ne sache si une idée tiendra techniquement. C'est là que commence la R&D : nous construisons un prototype pour le vérifier avant que vous n'investissiez davantage. Un prototype qui répond non vous a déjà rendu service.
Nous choisissons la technologie une fois le problème compris, et nous n'hésitons pas à vous déconseiller certaines choses. Une réécriture complète, le plus souvent, parce qu'un vieux code contient des années de règles que personne n'a jamais notées. Dix petits services séparés pour un produit qui a cent utilisateurs, parce que chaque découpe ajoute une panne possible. Pour un nouveau backend, la partie invisible d'une application qui stocke les données et applique les règles, notre premier choix est Rust ; pour un système déjà en place, nous restons le plus souvent dans son langage.
Codetics est une entreprise française qui travaille à distance, pour des clients en France et à l'international. Derrière elle, il y a le parcours de Kevin Vavelin : du C++ chez KDE, des années sur des infrastructures bancaires, du test logiciel chez Air France, et l'habitude d'expliquer, Apple Teacher depuis 2016.