A propos

Père de famille sportif, modérément geek, féru de littérature et de photographie, musicien amateur à mes heures perdues, je suis également diplômé en sciences et passionné par les Budo Japonais (j'enseigne le Yoseikan Budo près de Dijon).

Et sinon ?

Je confectionne des logiciels.

Compétences

Développeur informatique depuis 2007, je m’épanouis techniquement sur les technologies Microsoft .Net C#, WPF et Xamarin.Forms. Mais ce qui me distingue de certains de mes confrères, peut-être, c'est ce qui n’apparaît pas nécessairement sur mon CV : la vision que j'ai de mon métier et mes convictions à son propos.

Pendant longtemps, j'ai cru être développeur informatique. Mais des événements récents, sur lesquels je reviendrai plus en détail sur ce blog, m'ont fait réviser mon jugement et prendre conscience que le point de vue que j'ai sur mon métier n'est clairement partagé ni par l'industrie du logiciel, ni par beaucoup de développeurs...

En fait, ce qui me caractérise transversalement à toutes mes activités, professionnelles ou non, c'est sans doute le goût du travail bien fait et le travail fait avec goût ! Mais aussi le sacrifice du sacro-saint rendement au profit de l'ouvrage (ou du service) réalisé avec soin.

Obtenir un logiciel de haute qualité, rapidement et à bas prix ? La bonne blague !

Un artisan logiciel ?

En d'autres termes, j'ai fini par réaliser que ma façon d'envisager le développement applicatif s'apparente plus à de l'artisanat que de l'ingénierie !

Ce n'est certes pas mon statut juridique et je ne peux revendiquer le titre d'Artisan, c'est pourtant bel et bien l'esprit dans lequel je travaille.

Artisanat
transformation de produits ou mise en œuvre de services grâce à un savoir-faire particulier et hors contexte industriel : l'artisan assure en général tous les stades de sa transformation, de réparation ou de prestation de services, et leur commercialisation.
Wikipédia

Certes, il n'existe pas de statut ou de titre d'artisan dans le monde du développement logiciel, pourtant certains développeurs, unis autour d'une culture commune de la valorisation et de la transmission du savoir-faire, revendiquent l'appellation d'artisan logiciel (ou artisan développeur) pour se démarquer de l'industrialisation. En particulier, celle qui vise à vendre les développeurs comme de la viande à leur clients, qui impose des délais irréalistes et tirent les coût vers les bas, entrainant de fait la qualité du développement vers un trou sans fond où le développeur peine à trouver la satisfaction du travail accompli.

Bien entendu on peut cacher la misère, livrer du logiciel "opérationnel", mais pourvu que personne ne mette le nez dans la plomberie, le dégât des eaux n'est jamais loin !

Alors évitons la catastrophe et élevons les métiers du développement informatique au rang de l'artisanat !

Quelle différence ?

Techniquement, cela se traduit notamment par la livraison de logiciels non seulement opérationnels (ce qui est la moindre des choses) mais aussi développés dans les règles de l'art, dans le respect des bonnes pratiques afin d'en assurer la lisibilité, l'évolutivité et la maintenabilité. C'est-à-dire de livrer une solution pérenne plutôt qu'un produit qui répond à un besoin ponctuel sans ce soucier du lendemain :

  • Lisibilité : un code source facile à lire et à comprendre et dont on peut transmettre la charge à un autre artisan développeur sans rendre ce dernier complètement dingue
  • Évolutivité : un code source ouvert au changement, qui ne nécessite pas de détruire toutes les fondations pour ajouter de nouvelles fonctionnalités ou faire évoluer l'existant
  • Maintenabilité : un code source dont on peut corriger les bugs sans provoquer une avalanches d'effet de bords et de nouveaux bugs inattendus

J'ai également la conviction que le métier du développement informatique ne se limite pas à son aspect contractuel et que la relation entre le développeur et le client s'apparente plus à un partenariat qu'à une relation client-prestataire : nous avançons ensemble sur votre projet, chacun devant assumer son rôle, car au final, ce n'est pas le développeur qui va utiliser le produit au quotidien !

Nous élaborons et mettons en œuvre ensemble votre projet logiciel

A ce titre, je suis signataire du manifeste pour l'artisanat logiciel, dont je livre ci-dessous une traduction personnelle :

Manifesto for Software Craftsmanship

Élever le niveau

En tant qu’aspirants Artisans Logiciel, nous élevons les exigences du développement logiciel professionnel par la pratique et en aidant les autres à acquérir le savoir-faire. A travers ce travail, nous avons appris à apprécier :

  • Non seulement des logiciels opérationnels, mais aussi des logiciels bien conçus
  • Non seulement l'adaptation au changement, mais aussi l'ajout régulier de valeur
  • Non seulement les individus et leurs interactions, mais aussi une communauté de professionnels
  • Non seulement la collaboration avec les clients, mais aussi des partenariats productifs

C'est à dire qu'en recherchant les éléments de gauche, nous avons trouvé que les éléments de droite sont indispensables.

© 2009, les sous-signés.
Cette déclaration peut être copiée librement, quelle que soit la forme, mais seulement dans sa totalité, y compris cette remarque.