A propos...

Un peu geek, diplômé en sciences (bac+5) et en informatique (BTS IG), Sylvain est un passionné de sciences et de technologies qui fabrique des logiciels et des applications mobiles depuis 2007. D'abord en entreprise, puis en tant que consultant indépendant depuis 2016.

Depuis quelques années, il se focalise sur le développement d'applications mobiles en s'appuyant principalement sur Xamarin.Forms

Sa prédilection va aux équipes enthousiastes qui croient en leur projet et aux produits innovants. 

C'est aussi un père de famille, passionné par les Budo japonais, instructeur de Yoseikan Budo (pages facebook et instagram du club), féru de photographie et musicien amateur.

Compétences

Développeur informatique depuis 2007, Sylvain s’appuie techniquement sur les technologies Microsoft .Net C#.  Ses différentes expériences et son gout pour l'autoformation lui ont permis de suivre l'évolution technique de cet écosystème : Visual Basic 6 d'abord, puis .Net C# sur les plateformes Winforms, WPF, UWP et enfin Xamarin.Forms.  Et Bientôt MAUI !

Plutôt que de longs discours, une liste non-exhaustive de ses compétences

Software craftsmanship ("Artisanat logiciel") .Net C# Xamarin.Forms Xamarin.UITest / Page object pattern MVVM (architecture Model-View-ViewModel) SQL Linq SqLite Realm iOS Android WPF UWP Bluetooth Low Energy (BLE) LSNR RankOne Facial Recognition Geofence

Software craftsmanship

Au delà des compétences techniques, ce qui le caractérise transversalement à toutes ses 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.

Diagramme de Venn
Vous ne croyez tout de même pas au Père Noël ?

En d'autres termes, une façon d'envisager le développement applicatif qui s'apparente plus à l'artisanat qu'au processus industriel !

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 impose des délais irréalistes et tirent les coûts vers les bas, entraînant 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

Le métier du développement informatique ne se limite pas à son aspect contractuel et 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 !

A ce titre, Sylvain est 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.