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
October 22, 2015
Programming
0
310
L'agilité ne suffit pas pour être un bon développeur
#softshake Houssam Fakih & Boris Gonnot
Houssam
October 22, 2015
Tweet
Share
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
60
Thoughts on Building Metrics for Good Developers
fakih
0
51
L'agilité ne suffit pas pour être un bon développeur
fakih
0
85
Agilement Recruté en 100 minutes
fakih
1
730
Full-Time Pair-Programming : Nighmares and Dreams
fakih
0
65
Cross-Programming : Forging the future of programming
fakih
0
180
Legacy Tests
fakih
0
45
Other Decks in Programming
See All in Programming
Patterns of Patterns
denyspoltorak
0
410
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
750
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.2k
CSC307 Lecture 03
javiergs
PRO
1
460
Cap'n Webについて
yusukebe
0
160
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
10
2.7k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
1.2k
gunshi
kazupon
1
140
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
210
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Building the Perfect Custom Keyboard
takai
2
670
How to make the Groovebox
asonas
2
1.9k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
84
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
KATA
mclloyd
PRO
33
15k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
730
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
110
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
88
Transcript
L’agilité ne suffit pas pour être un bon développeur Houssam
Fakih & Boris Gonnot @houssamfakih @gonnot
Et pour vous, c’est quoi un bon développeur ?
Il n’y a pas de référentiel commun
Subjectif
Pourquoi on s’est posé cette question?
parce que c’est motivant
Progresser
Devenir Meilleur
Conquérir nos faiblesses
En parler ça nous responsabilise
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
Les règles d’Orthographe
Connaître la grammaire et la conjugaison
Plein d’autres exemples Musique / Chanteur
Leçons tirées du sport
Deux aspects à noter
L’épreuve peut varier d’une discipline à l’autre #1
En athlétisme, c’est la même distance
En Haltérophilie c’est la même charge
Pour la dictée, le texte n’est pas le même
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é, Puissance, etc.
Règles de Grammaire, d’orthographe, de conjugaison, de Mémoire, etc.
Maintenant revenons dans le monde du développement
Evaluation = Métrique
Métrique pour un DEV
DANGER #MauvaiseUtilisation #Manager
Il faut former le manager #1
sa responsabilité Training de l’équipe
manager = coach
simplement 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”
#ExcuseBidon
Tout bug est de notre responsabilité
Objectif de tout bon développeur
Zero Bug
Valeur apportée au client #2 #Expérimental
Comment l’évaluer
Google Analytics : une piste intéressante
Attention si non utilisé, il faut comprendre pourquoi
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
Ubiquituous Language
Localisation des définitions #2
Pas de mélange
Pas de dispersion
Refactoring Compétence/Skill
Identifier bad smell
Identifier les commonalités
capacité de changer le code sans changer le comportement
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
Comprendre ses problématiques
Challenger les story
Travail en équipe Compétence/Skill
Coordination
Capacité d’écoute
Positivisme
Adaptabilité Compétence/Skill
Routine est notre ennemi
Toujours Apprendre des nouveaux outils
Toujours Apprendre des nouveaux paradigmes
Critère : capacité à simplifier
Simplifier Compétence/Skill
Abstraction & Decomposition
détecter la complexité de l’existant
Mesurer le dev d’une nouvelle modification
Si ça prend beaucoup du temps il y a forcément
une complexité cachée
des outils à expérimenter Code Maat (couplage temporel & statique)
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
None
Mais comment ?
En développant ?
Peut-être…
En course à pieds, courir ne fait pas progresser
Fractionné Fractionné - 30/30”
None
Il faut challenger le corps
développer ses compétences
Sortir de sa zone de confort
et il faut 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 ?
Penser à vous reposer
Et avant la fin
@arolla