Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
L'agilité ne suffit pas pour être un bon dévelo...
Search
Houssam
November 19, 2015
Programming
88
0
Share
L'agilité ne suffit pas pour être un bon développeur
Agile Grenoble 2015
Houssam
November 19, 2015
More Decks by Houssam
See All by Houssam
Comment j'ai recruté mon pair ?
fakih
0
200
Never Develop Alone - Always with a partner
fakih
0
62
Thoughts on Building Metrics for Good Developers
fakih
0
52
Agilement Recruté en 100 minutes
fakih
1
730
L'agilité ne suffit pas pour être un bon développeur
fakih
0
310
Full-Time Pair-Programming : Nighmares and Dreams
fakih
0
67
Cross-Programming : Forging the future of programming
fakih
0
190
Legacy Tests
fakih
0
46
Other Decks in Programming
See All in Programming
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
210
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
120
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
Rethinking API Platform Filters
vinceamstoutz
0
6.8k
Java 21/25 Virtual Threads 소개
debop
0
320
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
820
The free-lunch guide to idea circularity
hollycummins
0
410
20260315 AWSなんもわからん🥲
chiilog
2
180
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
240
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
160
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
210
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
170
BBQ
matthewcrist
89
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Design in an AI World
tapps
0
190
Technical Leadership for Architectural Decision Making
baasie
3
310
Large-scale JavaScript Application Architecture
addyosmani
515
110k
A designer walks into a library…
pauljervisheath
211
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Speed Design
sergeychernyshev
33
1.6k
Transcript
L’agilité ne suffit pas pour être un bon développeur Houssam
Fakih @houssamfakih @gonnot Boris Gonnot Agile Grenoble’15
C’est quoi un bon développeur ?
Il n’y a pas de référentiel commun
Subjectif
Apprenons de ce qui se passe ailleurs
Sport
Athlétisme
Quelle mesure ? Le temps/distance
Usain Bolt - Record du monde 100m Temps : 9”58
Haltérophilie Lu Xiaojun 176 Kg à l’arraché (record mondial)
Quelle mesure ? La charge / Temps
Trois choses à noter
Attention aux stéréotypes #1
Le plus dur est l’entraînement et non pas la compétition
#2
la belle posture malgré la charge #3
Concours national de Dictée
None
Plein d’autres exemples Musique / Chanteur
Leçons tirées
Deux aspects à noter
L’épreuve peut varier d’une discipline à l’autre #1
l’évaluation est faite sur la compétition #2
et non pas lors de l’entraînement
L’entraînement est pour gagner en compétences
Compétences variées
Foulée, Explosivité, Grammaire, Mémoire…
Maintenant retour au développement
Evaluation = Métrique
Métrique pour un DEV
#MauvaiseUtilisation #Manager
Former le manager #1
Sa responsabilité : Training de l’équipe
Manager = Coach
Ne pas communiquer #2
c’est votre outil
Mesurer c’est la base… élément de feedback
Quelle mesure ? Quantifiable et Simple
Deux mesures
Nombre de bugs #1
“C’est la faute du fonctionnel”
#NonValide
Tout bug est de notre responsabilité
Objectif de tout bon développeur
Bug
Valeur apportée au client #2 #Expérimental
Comment l’évaluer
“Google Analytics” une piste intéressante
Review sur le produit
Compétences (Skills)
Clean Code Compétence/Skill
Nommage #1
Le lecteur a toujours raison
Partage du même langage
Avec tous les acteurs du projet
Localisation des définitions #2
Pas de mélange
Pas de dispersion
Refactoring Compétence/Skill
Capacité de changer le code sans changer le comportement
Identifier bad smell
Identifier les commonalités
Connaître le catalogue de refacto de son IDE
Clean Tests Compétence/Skill
Un test est une documentation
Un test utile
Ne pas sur-tester
Refactoriser vos tests
Même Qualité pour le code et le test
Connaître son utilisateur Compétence/Skill
S’intéresser à l’utilisateur final
Résoudre ses problèmes
Challenger les stories
Travail en équipe Compétence/Skill
Coordination
Capacité d’écoute
Positivisme
Adaptabilité Compétence/Skill
La routine est notre ennemi
Toujours Apprendre des nouveaux outils
Toujours Apprendre des nouveaux paradigmes
Simplifier Compétence/Skill
Abstraction & Decomposition
Détecter la complexité de l’existant
A expérimenter Code Maat
Etre toujours à la recherche de feedback
Respecter les jalons Compétence/Skill
Bien estimer
Gérer son rythme
Comment développer ces compétences ?
Il faut s’entraîner
Mais comment ?
En développant ?
Peut-être…
En course à pieds, courir ne fait pas progresser
Fractionné Fractionné - 30/30”
None
développer ses compétences
Sortir de sa zone de confort
Fixer des objectifs…
…liés aux compétences que l’on veut travailler
Quels Outils ?
Katas, Dojo, etc.
Exercices connus String Calculator Diamond Bowling Game Tic Tac Toe
Gilded Rose etc.
Les entraînements doivent être
En groupe (meetup, pairing, soirées, etc.)
Réguliers (pour ajuster)
Maîtrisés (Plan d’entraînement)
Matrice de compétences
None
On en tire 3 événements
Regression Consolidation Progression
Regression Temporaire ou chronique ?
Et avant la fin
Penser à vous reposer
@ArollaFr