Première université à laquelle j'ai pu assister mercredi : Les 5 mercenaires du Devops. Devops c'est un thème qui me tient à coeur. Pour résumer en quelques mots :
- c'est la responsabilisation des développeurs sur ce qui tourne en prod, le fameux "you build it, you run it" qui se transforme bien souvent en "you build it, you ruin it"...
- c'est une façon de construire son infrastructure comme on écrit du code et d'appliquer les mêmes recettes d'ingénierie : automatisation, répétabilité, fiabilité, testabilité
Popularisé par quelques grands du web qui réalisent de multiples mises en prod par semaine, voire par jours, ces pratiques commencent à faire parler d'elles dans la plupart des boites même si on sent que la route est encore longue. Même si ce n'était pas une track majeur de Devoxx France, ce fut l'un des thèmes récurrents de plusieurs présentations. Bon sinon sur la forme on a eu l'occasion de voir 5 cowboys en stetson marron nous faire une belle présentation et nous parler de déploiement automatisé à partir de Jenkins, d'utilisation des RPM (rappelez vous la prez d'Henri Gomez au Paris Jug d'il y a quelques mois), d'utilisation de profiles Spring pour la configurabilité, de Puppet et Chef pour la configuration des environnements et plein d'autres choses.
L'après midi j'ai été voir Neal Ford et son labs "The Productive Programmer". Pour être honnête, en fait il ne s'agissait pas d'un labs mais plutot d'une réflexion sur le thème de la productivité du progammeur moderne. Pour pas mal de choses il s'agissait d'enfoncer des portes ouvertes. Le même sujet traité par une autre personne ne m'aurait sans doute pas intéressé mais il faut rendre à Neal ce qui appartient à Neal, il présente sacrément bien.
Il a présenté des principes généraux sur les mécaniques permettant d'être productif et a illustré via différents outils très puissants glané à droite à gauche. Je vous liste ceux qui m'ont le plus intéressé :
- le clipboard avec mémoire sous windows : clcl
- jedi concentrate sous windows pour améliorer sa focalisation sur son développement en grisant le reste des applis
- google desktop pour s'éviter la navigation souris pour retrouver ces documents (plus maintenu par Google malheureusement)
- virtua win pour avoir plusieurs bureaux sous windows
- cygwin pour se créer des bash permettant d'automatiser des actions sous windows
Il rappelait aussi quelques principes, couper les notifications emails ou messagerie instantanée, utiliser un casque, apprendre les raccourcis claviers de son IDE, cou. Bon ok, il précise qu'il faut éviter d'en arriver là :
Il a ensuite listé quelques bons principes de programmation. Des principes plein de bon sens c'est vrai, mais comme une personne avait dit (je ne retrouve plus l'auteur) :
"le bon sens fait parti des choses les mieux partagés au monde, c'est sans doute pour cela que tout le monde en a si peu".
Intéressant, il a réinsisté sur :
- le TDD
- les outils d'analyse statique (pmd, cpd, findbugs)
- la reflexivité
Sur cette présentation, si je devais en ressortir 3 choses en particulier ce serait les suivantes :
- le principe yagni. Punaise celui là il faudrait vraiment l'enseigner partout et à tout le monde tellement j'en ai marre de coder des trucs qui serviront jamais à rien. J'ai adoré l'image suivante :
- la remise en cause de l'autorité établie quand c'est nécessaire. Il a rappelé le théorème du singe. Combien de fois vous a t-on dit "ce n'est pas possible" et lorsque vous avez demandé pourquoi, on vous a juste dit "Parce que"...
et enfin le dernier qui rejoint le thème principal de la conférence tel que l'ai interprété : "fier d'être développeur"
Vous voyez l'image suivante ? Eh bien dites vous que vous évoluez dans le même environnement et qu'une autre personne sans vos compétences ne pourrait rien faire sans déclencher de catastrophes. Dites vous aussi que ce qui fait votre valeur c'est votre capacité à diagnostiquer et agir rapidement dans un environnement complexe.
J'ai poursuivi avec deux format tools in action de 30 minutes :
- le déploiement continu avec Rackspace, Chef et Capistrano
Super présentation de Bertrand Paquet qui a bluffé l'auditoire en déployant en production pendant la présentation et en rajoutant des noeuds à la volée sur une infrastructure entièrement automatisé. La stack technique était très impressionnante. Rien à dire, quand je vois que je passe 4 mois à obtenir un serveur et 3 mois pour qu'il soit configuré j'ai ressenti une grosse jalousie ^^ Bon en même temps je me console en me disant que si toutes les boites étaient parfaites on aurait plus de boulot... Ou pas, il serait juste plus intéressant...
- l'audit de code avec Sonar
Il s'agissait d'une présentation des nouveautés de la version 3.0 de Sonar qui venait juste de sortir pour l'occasion (!!). La notation de qualimétrie différentiel sur le code, la capacité à ne mesurer l'évolution que sur le code nouvellement produit, est très intéressante sur la plupart des produits legacy. A mettre en place une fois testé.
La journée s'est finalement terminé par le dîner des speakers auquel j'avais la chance d'assister. Bonne bouffe, bonne ambiance, des discussions sympa, bref, ce fut sympa.
Fin du premier jour, fier d'être développeur mais un peu crevé quand même.