Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Crafters en 2018

juliencar
November 14, 2018

Crafters en 2018

En relisant le manifeste du software craftsmanship, comment ses principes peuvent se comprendre aujourd'hui en 2018 ?
Je vous propose d'établir une liste de compétences clés qui feront de nous de meilleurs crafters.

juliencar

November 14, 2018
Tweet

Other Decks in Programming

Transcript

  1. Manifeste pour le développement agile de logiciels • Les individus

    et leurs interactions plus que les processus et les outils • Des logiciels opérationnels plus qu’une documentation exhaustive • La collaboration avec les clients plus que la négociation contractuelle • L’adaptation au changement plus que le suivi d’un plan
  2. Software development is a "game", a game of speed and

    cooperation within your team, in competition against other teams. Alistair Cockburn
  3. Manifeste du software craftsmanship • Pas seulement des logiciels opérationnels,

    mais aussi des logiciels bien conçus. • Pas seulement l'adaptation aux changements, mais aussi l'ajout constant de valeur. • Pas seulement les individus et leurs interactions, mais aussi une communauté professionnelle. • Pas seulement la collaboration avec les clients, mais aussi des partenariats productifs.
  4. 1. Poser une question directe qui peut sembler banale ou

    innocente 2. Laisser l’interlocuteur y répondre avec une définition du sens commun 3. Présenter un contre exemple qui ne va pas dans le sens de la définition de l’interlocuteur 4. Poursuivre la discussion jusqu’à une définition acceptable ou admettre que le sujet est plus complexe qu’anticipé « Le TDD est un dialogue socratique » Romeu Moura
  5. Humilité sur le code “Retrospective Prime Directive” Regardless of what

    we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand. -- Norm Kerth
  6. COMPRENDRE LES CONCEPTS : “MÉTA MODÈLE” Angular ? - Templating

    - Dependency injection - Reactive - Approche composants - Transpilation - ZoneJS Javascript ? - Event loop et async - Fonction d’ordre supérieur - Les fermetures
  7. écrit en Pair Fait en TDD codé avec des patterns

    DDD Un joli hexagone contient tout le métier Buildé en CD
  8. Moyens de pouvoir • Utiliser des acronymes : “Ha tu

    fais pas une archi Hexagonale en ES avec du CQRS” ? ◦ (tu connais pas ? t’es nul) • Le Test Driven Development ? Vous connaissez déjà, je vais pas vous le réexpliquer ◦ (ou alors c’est que vraiment vous êtes nul) • Ce que tu fais là en Java, moi je te le code en Haskell en 2 lignes ◦ (t’es quand même un peu nul)
  9. Linus Torvalds "I am not an emotionally empathetic kind of

    person and that probably doesn't come as a big surprise to anybody." "The fact that I then misread people and don't realize [for years] how badly I've judged a situation, and contributed to an unprofessional environment is not good."
  10. https://rework.withgoogle.com/guides/understanding-team-effectiveness/s teps/introduction/ The researchers found that what really mattered was

    less about who is on the team, and more about how the team worked together. In order of importance: Psychological safety: Psychological safety refers to an individual’s perception of the consequences of taking an interpersonal risk
  11. Uncle Bob Martin - The Future of Programming “some software

    developer will do something that will cause a disaster that kills tens of thousands of people.” https://www.youtube.com/watch?v=ecIW PzGEbFc
  12. Forget Killer Robots—Bias Is the Real AI Danger John Giannandrea,

    who leads AI at Google, is worried about intelligent systems learning human prejudices. https://www.technologyreview.com/s/608986/forget-killer-robotsbias-is-the-re al-ai-danger/
  13. En synthèse La maîtrise des pratiques : au delà du

    clean code avec une pratique design des tests la compréhension de notre place dans la communauté des développeurs Accepter les conséquences éthiques de nos programmes Favoriser un climat efficace dans nos équipes pour la plus grande performance Anticiper les biais humains qui seront codés