Martin 23 ans et fraîchement diplômé vient d'être embauché chez SSII Consulting. Son commercial lui a proposé une superbe mission où il pourra développer ses compétences en Java/J2EE ! Chouette car c'est exactement ce qu'il cherchait : "Spring, Hibernate et Struts les technos du moment !" lui dit son commercial. "Mais avec un petit peu de maintenance sur l'ancienne appli en PHP mais c'est vraiment minime !" rassure-t-il.
Et c'est tout enthousiaste qu'il commence sa première journée de mission, dans une équipe ... un peu particulière ...
Au travers de cette histoire, je souhaite illustrer (en dessin) le quotidien d'une équipe caricaturée mais pas si éloignée que ça de la réalité de nos projets ...
1. 27 au 29 mars 2013
13h - 13h15 - Salle Miles Davis
Les bronzés font du dev
2. 27 au 29 mars 2013
Les bronzés font du dev
Ellène Dijoux Siber
Développeur Java Freelance
http://uneviededev.wordpress.com
@ElleneSiber
3. Histoire basée sur du vecu !
Cette histoire est une aggrégation de faits vécus. Si vous avez connu la même histoire, je suis
navrée pour vous ...
4. Je vous présente Martin, fraîchement diplômé de l’école Epitruc.
Après un stage d'un an en alternance dans la DSI de Général Electrique, il cherche un poste de développeur «Java J2EE». Après
avoir publié son CV sur quelques sites bien connus par les recruteurs, il passe aujourd'hui des entretiens chez SSII Consulting.
12. Le test technique fini, Martin discute maintenant avec le commercial.
13. Java/J2EE ... tout
ça, je connais !
Il a apprécié la discussion avec le commercial car il s’agissait d’un ancien développeur ! Au moins quand il parle Java, il sait de
quoi il parle ! Surtout que c’est lui qui se chargera de son entretien annuel. Martin est plutôt rassuré.
14. J’ai une superbe
mission Java/J2EE
pour toi !
Il a même déjà une mission pour lui ! Chouette car c’est ce qu’il recherchait : «Spring, Hibernate, Struts les dernières technos du
moment ! Et tu commences demain !» dit-il.
«Pas d’entretien client ?» demande Martin.
«Non le client nous fait confiance pour recruter les bons, la preuve avec nos tests techniques !»
16. Bonjour !
Je m’appelle
Martin !
Et c’est tout motivé qu’il débute le lendemain son premier jour de mission.
«Salut Martin, laisse-moi te présenter l’équipe :»
23. Et moi Alain.
«Et moi-même Alain, le chef de projet. Bienvenu dans l’équipe ! Jean-Claude merci de t’occuper de Martin aujourd’hui, j’ai des
réunions toute la journée. Je n’aurai pas de temps à lui consacrer.»
25. «Très bien comme tu n’auras ton poste que demain, j’ai imprimé la doc pour toi.»
26. Voilà de quoi
t’occuper !
«Ce sont les spécifications fonctionnelles et techniques du projet.»
27. Oh ok !
Secrètement Martin pensait qu’il allait faire du Pair-Programming avec un des développeurs durant la journée comme lors de son
stage. Mais apparemment ce ne sont pas les habitudes de la maison. «Eh bien soit ! Lisons la doc ...» se dit-il.
28. Martin assidu, lit rigoureusement la doc tentant de comprendre pour pouvoir rentrer dans le projet au plus vite !
30. Non.
«C’est ce que l’architecte a préconisé mais ça ne marche pas alors on l’a laissé tombé. Il est vrai que la doc date d’il y a un an
déjà ...»
Un an ... Martin se demande si c’est vraiment pertinent de continuer la lecture de la doc ... mais c’est son premier jour, il veut
bien faire alors poursuit la lecture.
33. Le stand-up meeting est une cérémonie qu’il a connu sur son ancien projet, il savait ce qu’il avait à faire : expliquer ce qu’il a fait
hier, ce qu’il compte faire aujourd’hui et les difficultés rencontrées mais ...
42. 2 mois ?!
«2 mois c’est un peu long comme sprint non ?»
43. «Oui mais on n’arrive pas à finir ce sprint et il y a plein de points de blocage»
«C’est pour cela que vous avez autant de post-its en In Progress ?»
«Oui, mais je trouve franchement que la méthodologie Scrum est plus proche du mode La Rache ... mais au moins les
utilisateurs peuvent changer d’avis quand ils veulent !»
48. Oh ... ok ...
«Il faudrait que je mette la config par défaut dans le pom mais je n’ai pas encore trouvé le temps» dit Jean-Claude.
«Et pourquoi les tests ne passent pas ?» demande Martin
«Parce qu’on n’a pas le temps de les corriger !» répond Jean-Claude agacé
53. Jean-
Claude, il
assure !
«Le plus ancien sur le projet c’est Jean-Claude, il est là depuis le début. Il connaît l’application sur le bout des doigts et il est
super balaise ! Je pense qu’avec son niveau, il ne va pas tarder à devenir chef de projet ! Car après 5 de dev, il a fait le tour ...»
57. C’est une
annotation, c’est
tout !
«C’est une annotation» répond Jean-Claude
«Et qu’est-ce que c’est ?» demande Denis
«Une annotation c’est une annotation cela ne s’explique pas. C’est tout ce que tu dois savoir !»
58. Ah ok ... merci ...
Martin qui voit la scène de loin s’interroge : «Bon techniquement ... mais pas très pédagogue ...»
60. Cette après-midi, Martin a pris une nouvelle user-story au tableau. Il essaie tant bien que mal de comprendre la pertinence de
développer une messagerie dans l’application ...
61. ?!
«Les utilisateurs ont une boite mail. Pourquoi s’amuserait-il à passer par cette messagerie interne pour s’envoyer des
messages ?» demande-t-il à Jean-Claude.
62. Cherche pas à
comprendre !
«Ne cherche pas à savoir, ce ne sont pas tes affaires ! On nous demande de faire une messagerie,
on la fait ! De toute façon, le métier n’a pas de temps à nous consacrer, on le fait et c’est
tout !»
63. Ah ... ok ...
Martin finit par se résigner ...
70. Dans une
heure, c’est
fini !
18h : les utilisateurs sont partis, on peut commencer le déploiement du nouveau war. «Tu vas voir Martin, j’ai simplifié la config
ça sera plus simple pour le déploiement et dans 1h on aura fini !»
72. Puis, enfin à 3h du matin ...
Ah celui-là
aussi était mal
configuré ...
Et comme il fallait s’y attendre ... à 3h du matin :
«Ah oui ! Il y avait aussi ce fichier à mettre à jour avec la conf de prod et là je pense que c’est bon. On va pouvoir rentrer chez
nous ! Bon demain, je crée un doc pour le déploiement !» promet Jean-Claude. Mais commme toutes les résolutions, cette
dernière attendra elle aussi ...
77. java.lang.NullPointerException !!!
WTF ?!
Au téléphone, un utilisateur mécontent qui ne comprend pas l’étrange erreur affiché lorsqu’il fait un recherche ... «La page de
recherche ?! Mais c’est la page sur laquelle Jean-Claude a fait un gros refactoring ... et sans tests unitaires !» pense Martin.
La journée va être longue pour notre petite équipe de bronzés ...
78. Epilogue
Cette mission fut difficile mais enrichissante pour Martin. Cela lui a permis de comprendre les comportements qui peuvent être
dangereux pour un projet :
79. Pas de
panique, je
m’occupe de
tout.
Jouer au super héros et vouloir tout réparer soi-même sans rien expliquer aux autres.
83. Et que devient Martin ?
Martin a bien compris que la seule personne sur qui il pouvait compter pour évoluer en tant que développeur c’était lui même !