Loading…
SnowCamp 2019 has ended
23rd-26th of January 2019 / 23-26 Janvier 2019, Grenoble

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Method [clear filter]
Wednesday, January 23
 

09:30

Pour des logiciels de qualités, dites stop au TDD et passez au TDD ! ¯\_(ツ)_/¯
Deux piliers du Software Craftsmanship manifesto sont : des logiciels bien conçus et l'ajout constant de la valeur. Pourtant les développeurs ont tendance à subir leur premier outil : le langage de programmation, et développent pour lutter contre un outil mal choisi des pratiques telles que le TDD à l'excès... Avec le Type Driven Design, toutes une catégorie de tests peut être encodée dans votre application grâces à un système de types algébriques, et surtout vous permet de mieux raisonner votre application.
Avec la montée en puissance de langage statiquement typé et tel que F#, OCaml, Haskell, Scala, Swift, Kotlin, ReasonML, Rust, Nim, ... c'est un sujet d'actualité.

Note de l'auteur : j’ai eu l’occasion de tester ce workshop lors de l’agile tour Lille. Actuellement il est prêt en ReasonML, OCaml, Rust et Kotlin sera ajouté pour le SnowCamp.
Il est tout à fait accessible à une personne ne connaissant rien aux ADT (c’est même au final l’objectif premier de ce workshop que d’amener ce concept) et une itération 0 est même prévu pour découvrir le langage choisi pour quelqu’un qui ne le connaîtrait pas. ReasonML est le plus accessible pour quelqu’un qui ne connait aucun des langages car pose moins de problème de syntaxe.
Mais dans l’absolu quelqu’un qui souhaiterait participer au workshop pour découvrir l’un des langages proposé est aussi une bonne motivation pour participer. Lors de l’agile tour un groupe a choisi d’utiliser le temps disponible pour découvrir RUST (sûrement le moins accessible des langages proposé) et cela c’est très bien passé, je pense même qu’ils ont tiré une certaine fierté d’avoir pu mettre en œuvre certains concepts même sans aller au bout de l’exercice.
Le but est de jouer avec les systèmes de types et pas nécessairement avec la programmation fonctionnelle. L’atelier ce veux principalement orienté pour des débutants en programmation statiquement (bien

Speakers
avatar for Thomas Haessle

Thomas Haessle

Cutii
CTO chez Cutii.io et enseignant à l'université de Lille. Je suis passionné d'agilité, de software craftsmanship et de programmation fonctionnelle, je code en javascript, OCaml / ReasonML et Rust... Mais je peux aussi longuement parler IA, Cloud ou robotique autour d'un green... Read More →


Wednesday January 23, 2019 09:30 - 12:30
Workshop Amphi La Maison Minatec, 3 Parvis Louis Néel, 38000 Grenoble

14:00

BugZero Kata
Vous allez étudier des bugs afin de comprendre les faiblesses dans le design qui a permi et facilité leur introduction. Une fois compris vous allez inventer de designs alternatifs qui rendraient impossible ou du moins peu probable leur introducition. Nous allons également chercher des faiblesses du design, où ce serait probable que l'on introduise un bug dans le futur.

En comprenant mieux puis en corrigeant la cause racine des bugs, nous tranformons les échecs de hier en force pour demain.

Le geste à répéter :

1. Identifier soit une faiblesse du design susceptible de causer un bug lorsque l'on étend le code, soit un bug existant.
2. Expliquer comment le design actuel a contribué à l'introduction du bug ou comment il risque d'y contribuer dans le futur.
3. Trouvez un design qui rend impossible ce bug ou du moins qui le rend peu probable.

Pré-requis :
faire tourner un des langages du répo https://github.com/martinsson/BugsZero-Kata

Speakers
avatar for Johan Martinsson

Johan Martinsson

Johan Martinsson est un développeur freelance qui se passionne entre autres pour le design du code. Avec 17 ans d’expérience, il a passé les 7 dernières années à aider des équipes de maîtriser le développement accompagné de tests dans de multiples langages. Régulièrement... Read More →


Wednesday January 23, 2019 14:00 - 17:00
Workshop Amphi La Maison Minatec, 3 Parvis Louis Néel, 38000 Grenoble
 
Thursday, January 24
 

15:00

(Quick kata to) explain DIP from SOLID principles
My company decided to train *young* graduates on everything they will ever work on as professionals.
As we deliver Masterclasses in Clean code for our colleagues (aka *old* graduates), we were asked to train the *young* ones as well.
Having planned a day for all the SOLID principles, we couldn't give them a 90 min kata to train (as we usually do)
We wanted to take 1 hour per principle ( theory, example, exercise and correction of the exercise included

Speakers
avatar for Michelle Avomo

Michelle Avomo

Developper, SOAT
Hi there! I'm a fullStack dev in #Paris. Daily, I try to #craft my code and, I train my peers on #softwareCraft as wellCurious, I just start playing with #AWS


Thursday January 24, 2019 15:00 - 15:45
Chrome 1 La Maison Minatec, 3 Parvis Louis Néel, 38000 Grenoble
 
Friday, January 25
 

11:00

Architecture Decision Records : enfin une documentation qui vous ressemble !
En tant que développeur, on n'aime pas écrire de la documentation, c'est un fait. Pourtant il y a sans doute quelque chose que l'on aime encore moins : regarder la base de code et se demander pourquoi il a été organisé comme ça, pourquoi le choix de tel ou tel framework, etc.

C'est d'autant plus vrai dans un contexte agile et depuis l'adoption des microservices qui demandent d'être capable d'évoluer rapidement. Mais alors comment faire pour garder le contexte du projet sans se prendre la tête ?

A travers cette présentation nous verrons comment les Architecture Decision Records (ADRs) peuvent nous aider à créer un historique immutable des choix d'architecture à travers l'écriture de documents très simples. Après 1 an d'expérimentation dans mon équipe, nous sommes plus que satisfaits de l'utilisation des ADRs.

A ce jour c'est probablement la seule "documentation" que j'ai réussi à maintenir à jour et que je n'ai pas peur de consulter de peur qu'elle soit obsolète.
Cette présentation sera faite sous la forme d'un ADR, ce qui nous permettra de voir comment ils sont construits.

Speakers
avatar for Olivier Revial

Olivier Revial

Stack Labs
Développeur Java depuis plusieurs années, je suis passionné par mon métier. Plus récemment je me passionne pour les architectures microservices et leurs enjeux. Dans ce contexte, je suis toujours à la recherche d'outils et de nouvelles méthodes qui peuvent améliorer ma vie... Read More →


Friday January 25, 2019 11:00 - 11:45
Chrome 1 La Maison Minatec, 3 Parvis Louis Néel, 38000 Grenoble

15:00

Comment perdre sa surcharge featurale ?
Le cycle de vie d'une application est un chemin nébuleux et plein de dangers. La complexité ne fait que croitre durant les mois et les années d'utilisation. L'un des plus gros challenges d'un développeur est de pouvoir la contrôler tout en ajoutant de nouvelles fonctionnalités (features). Des solutions existent : le ré-écriture de code ou encore la maitrise de la dette technique. En effet, ces deux actions permettent de lever "la complexité accidentelle". Mais que faisons nous de la "complexité essentielle" ? La complexité qui n'est pas liée au code. La seule solution : Supprimer des fonctionnalités ! Ce talk vous expliquera comment perdre la surcharge featurale de vos applications en comprenant la différence entre la complexité essentielle et la complexité accidentelle, mais aussi en vous donnant des clés pour mener à bien ce changement de vie dans vos équipes projet.
Présentation : https://t.co/kcEPhXpcUv

Speakers
avatar for Estelle Landry

Estelle Landry

Elium
Passionnée par mon métier de Product Owner, par l'UX (User eXpérience) et le GameStorming, j'aime participer à l'élaboration d'un produit en étant le lien entre les utilisateurs et les développeurs. Speakeur en conférence tech depuis 2 ans, membre des Duchess France, organisatrice... Read More →


Friday January 25, 2019 15:00 - 15:45
Chrome 2 + 3 + 4 La Maison Minatec, 3 Parvis Louis Néel, 38000 Grenoble

16:00

Quel workflow GIT choisir?
A chaque projet ses challenges, à chaque équipe ses besoins particuliers, à chaque entreprises ses règles. Doit-on faire tous pareils, ou a-t-on le droit d’être différent ?

Dans un premier temps je vous présenterai les principaux workflows existants, même ceux issus de nos ancêtres CVS et SVN en vous en donnant à chaque fois les principaux avantages et inconvénients,

Nous prendrons ensuite un peu de temps pour les comparer selon une liste de critères,

et finalement, je vous présenterai sous la forme d'une matrice de décision mon retour d'expérience.


Bénéfices pour le participant :
Le participant pourra repartir avec la matrice de décision, qui se base sur des cas concrets pour choisir le "bon" workflow.

Parmi les critères étudiés, on pourra citer :

Le contexte métier :
- open source
- entreprise
- mondes normés (médical, finance, ...)

La topologie des projets :
- POC
- Legacy
- Cloud
- Multinenant

Les contraintes du projet :
- Multi versioning
- Fréquence de livraison
- Stabilité, hotfixes

L’équipe :
- La taille de l’équipe
- Le niveau de l’équipe
- Les processes de l’équipe (reviews, tests, CI, validation)

La complexité de mise en œuvre et de maintenance de chaque workflow

Speakers
avatar for Hadrien Thomas

Hadrien Thomas

Zenika
Bonjour, Je m'appelle Hadrien, j'ai 31 ans et vient d'arriver à Grenoble. Je suis développeur fullstack depuis 6 ans, j'ai rejoint Zenika récemment et espère vous donner un aperçu de ses valeurs très bientôt: partage, convivialité et transparence.


Friday January 25, 2019 16:00 - 16:45
Chrome 1 La Maison Minatec, 3 Parvis Louis Néel, 38000 Grenoble