Il y a 3 années · 8 minutes · Craft

Retour sur une conférence de codeurs

Le 27 novembre 2014 à Rouen s’est déroulée la conférence Codeurs en Seine. Cet évènement gratuit durant une journée a profité d’un lieu idéal pour une conférence ouverte et sérieuse : les amphithéâtres de l’université de Rouen. Ce ne sont pas moins de 4 slots en parallèles qui ont vu passés chacun 7 sujets. De ce programme riche, nous n’avons malheureusement pas pu assister à tous les talks. Voici toutefois certains retours. Nous pensons que ces retours sont extrêmement importants pour les speakers qui sont constamment en recherche de feedback.

Keynote Bunkr – Alexis Jamet

La keynote d’ouverture a donné un très bon coup d’envoi à cette seconde édition de Codeurs en Seine. Alexis Jamet est un entrepreneur à français avec un rêve un peu fou, vouloir détrôner PowerPoint. Il nous raconte l’histoire de Bunkr avec une totale franchise et transparence. Une bande de potes qui se réunissent dans un appartement à Rouen et qui créé en mode « Quick & Dirty » un outil en ligne de présentation. Il avoue ne pas être le développeur du siècle mais est fortement animé par son envie de vouloir faire ce produit. Les phases de développement se succèdent, le prototype prend forme mais les fondations sont de plus en plus fragiles et ne supportent plus le rythme effréné des évolutions.

Mais il attire le regard de la presse numérique, le bouche à oreille commence. Ils commencent à gagner une réputation internationale. Vient alors un moment crucial dans la vie d’une startup, la levée de fond. À travers le monde, Alexis voyage et défend son produit. Il ne s’attendait pas forcément à ce que la qualité technique de son projet soit auditée. L’idée semble intéresser les investisseurs mais sont réticents. De plus, les VC sont organisés en réseaux et échangent beaucoup. Au bout de quelques rendez-vous, un réseau entier est déjà au courant de leur projet. Ils finiront par gagner la confiance du groupe IDInvest, fond européen porteur de projet comme Deezer, Meetic ou Dailymotion. Arrive le moment où il faut faire appel à une équipe de développement et « refaire » le produit. Après avoir tenté une équipe composée principalement de personnes de la même tranche d’âge que les fondateurs, l’équipe aura tendance à se sénioriser rapidement.

Une vraie expérience de craftsmanship et d’entreprenariat, on adore! Bravo à Bunkr et bon vent à vous!

Docker de « Zéro » à « Héros » – Nicolas De Loof

Cette entrée en matière sur Docker donnée par Nicolas était assez enthousiasmante. Certaines personnes dans l’assemblée n’avait semble-t-il pas encore testé Docker et l’effet waou sur la vitesse de démarrage d’une image a fait son petit effet. On a donc retenu de cette présentation que c’est finalement des avancées assez récentes sur le matériel qui nous permettent aujourd’hui de tirer parti de la technologie : ce qu’on appelle le hardware virtualization. Quel est le meilleur cas d’usage pour un développeur ? Installer des outils ou des logiciels tiers sans toucher à la machine du développeur. Un des points intéressants de Docker, c’est la documentation exécutable de l’infrastructure d’un projet sous la forme d’un Dockerfile. Nicolas a tendance à voir de plus en plus de projets qui proposent un Dockerfile plutôt qu’un README où les opérations manuelles ne sont pas répétables.
Un cas d’usage que peu de développeurs envisagent avec Docker : votre QA vient de reproduire un bug difficile à comprendre et à reproduire. Afin que vous puissiez investiguer, le testeur lance un docker pause, commite l’image et vous la communique ce qui vous permet ensuite une investigation à froid.
Enfin un dernier cas d’usage est d’intégrer des conteneurs dans une intégration continue afin d’isoler les composants à tester une fois générés.
En conclusion cette session met l’eau à la bouche et donne réellement envie d’utiliser Docker dans son projet.

Tour d’horizon du Machine Learning – Stéphane Canu

Il est assez rare d’avoir l’opportunité d’assister en conférence à des sessions données par des universitaires. Stéphane Canu est professeur à l’INSA de Rouen. Il nous propose ici une découverte des principales notions du Machine Learning, du son intérêt, de l’outillage aux ressources disponibles. La substantifique moelle :

L’apprentissage d’un algorithme est caractérisé par sa capacité à améliorer sa performance à résoudre une  tâche en fonction d’une plus grande expérience acquise.

La tâche représente l’utilité du programme. Recueillir et traiter la donnée, qui symbolise l’expérience, représente 80% du travail. Cela fait appel à des compétences BigData et statistiques. La mesure de la performance repose sur deux grandes catégories, la démarche supervisée et la démarche non-supervisée. La méthode supervisée est utilisée lorsque les résultats de l’algorithme face à une expérience sont connus à l’avance, comme par exemple tester un algorithme d’OCR en y injectant des images qu’un humain pourra reconnaître et valider le résultat de l’algorithme. La démarche non-supervisée repose quant à elle sur d’autres types de mesure comme le clustering quand on ne peut pas connaitre à l’avance une réponse mais plutôt un comportement global. Cette technique revient à faire de la catégorisation des résultats en sortie de l’algorithme pour ensuite vérifier que des groupes distincts existent sont cohérents avec l’expérience. Par exemple, …

Stéphane Canu revient ensuite sur une expérience lancée il y a quelques années par le géant d’aujourd’hui, Netflix. À l’époque cantonné au marché américain, Netflix lance un défi aux développeurs du monde entier. 1 000 000 $ pour celui qui arrivera à améliorer la précision des recommandations de 10%. Netflix fourni un jeu de données 450 000 spectateurs, 17 000 films, 100 000 évaluations. On est tout de même loin de problématique BigData, le challenge me ne semble pas à moi néophyte complexe. Il faudra plus d’un an, la fusion d’une dizaine d’équipe et un algorithme à 125 paramètres pour y parvenir! Cet exemple concret me révèle l’ampleur de la tâche!

Scala : pourquoi et pourquoi pas ? – Xavier Bucchiotty

Cette session de live coding est assez rafraîchissante. Quoi de mieux pour expliquer les fonctionnalités d’un langage que de pouvoir s’amuser avec, d’avoir un feedback immédiat par le compilateur puis par un REPL. C’est ce que propose Xavier dans sa présentation du langage. Les particularités du langage sont introduites dans un contexte particulier : celui de la modélisation d’une notion de montant financier. À ce montant est associé une devise qui interdit donc par exemple d’additionner des montants dont les devises ne sont pas identiques. En une heure on a le temps d’aborder de nombreux points comme le pattern matching, les implicites et les objets compagnons.

Spark, où comment traiter les données à la vitesse de l’éclair – Alexis Seigneurin

S’il y a bien un produit dont on parle beaucoup dans la sphère BigData, c’est bien Spark. Cette présentation nous permet d’obtenir une vision d’ensemble de ce qu’il est possible de faire. Alexis a bien préparé sa présentation car elle est accompagnée de démos vidéos (peut-être que l’exécuter en live devant l’auditoire aurait permis encore un peu plus d’interactivité). Voici deux choses que j’ai retenu de la présentation : bien que l’outil soit écrit en Scala, de l’avis d’Alexis, il n’est pas pénalisant de rester sur l’API Java. Il faut également retenir que les cas d’usages de Spark ne sont pas exactement les mêmes que ceux d’Hadoop : Spark vous proposera de vous rapprocher du temps réel, notamment avec Spark Streaming, mais restera très gourmand en mémoire. Il faut garder à l’esprit cette consommation mémoire lorsque vous lancez vos traitements dans votre cluster.

TDD is not Dead – Sébastian et Éric Le Merdy

Le duo de clean-coders révélé par Code-Story nous propose ici un retour sur la polémique lancée par David Heinemeier Hansson en avril 2014. Sous le format d’une discussion et d’un échange, nous balayons tous ensemble les différents arguments lancés contre le TDD lors du Hangout organisé avec DHH, Martin Fowler et Kent Beck.

C’est une présentation très interactive, rythmée par une succession de quelques slides et de live-coding. Ces sessions de code apportent la preuve par la pratique que certains arguments lancés étaient sans fondement. Cette présentation nous permet de nous rappeler la différence entre test-first et test-unitaire, le lien entre TDD et design émergent, ou encore rappeler les trois étapes du TDD : Red -> Green -> Refactor, cette dernière étant souvent oubliée dans la pratique.

Plénière : Extremist Programming – Cyrille Martraire et Bernard Notarianni

Parfois dans notre métier réputé sérieux, il faut savoir lâcher un peu la bride pour (re)trouver le fun dans notre activité de tous les jours. Avec cette session, Cyrille et Bernard ne nous proposent pas moins qu’un tour d’horizon de tout ce qui est inutile et ludique en informatique. Des langages inutiles ou compliqués aux guitares lumineuses en passant par le rythme et la sonorité d’un algorithme QuickSort : on ne s’ennuie pas un seul instant durant cette présentation rafraichissante. Parfait pour une dernière session et pour montrer aux étudiants que même les développeurs expérimentés gardent la passion intacte.

Sébastian Le Merdy
Sébastian est entré chez Xebia en 2011 pour mettre en pratique le Software Development Done Right.
Il est passionné par le développement logiciel et les technologies innovantes et le met au service de l'utilisateur final à travers l'agilité dans les projets.
Vous pourrez peut-être le rencontrer lors d'un coding dojo ou une présentation de live coding.
Xavier Bucchiotty
Software Engineer Scala Fanboy FP constant learner Akka trainer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *