Rester à jour : la responsabilité du développeur (traduction)

Première publication : 2009-08-25
Tags : opinion

Je suis récemment tombé sur le blog de Jay Fields et j’y ai lu cet article intitulé “Staying Current: A Software Developer’s Responsibility” avec lequel je suis complètement en accord.

Avec sa permission, je l’ai traduit en français, malheureusement de manière trop littérale.
Le contenu (au format Markdown) est disponible et modifiable sur http://gist.github.com/174953. Si vous proposez des améliorations de traduction, je les prendrai certainement en compte.

J’ai un dégoût personnel pour les conférences le week-end *. Pour moi, une conférence le week-end garanti que je vais “bosser” 12 jours d’affilée.

J’ai bien conscience que cette opinion n’est pas universelle.

Certaines personnes ont des difficultés pour “décrocher” pour aller à des conférences. Ces situations ont bien l’air d’une mécompréhension des responsabilités d’un développeur logiciel. Une partie de votre boulot (de développeur logiciel) est de rester à jour technologiquement. Ça signifie passer du temps de recherche durant votre journée.

(à peu près piqué directement à Ward sur le déficit technique)
Si vous passez toute votre journée à coder, sans jamais regarder du coté des nouvelles choses, vous accroissez votre déficit technique. À court terme (disons la dernière semaine avant une release), ça a du sens de prendre un peu de déficit. Par contre, à long terme, sans un minimum d’investissement, l’intérêt (où l’intérêt est égal à la distance entre vos compétences et les solutions actuelles) vous rendra NZPP (Net-Zero Producing Programmer). Dans une organisation type, vous pouvez peser en tant que NZPP pour environ 6 mois and doucement glisser vers un NNPP (Net-Negative Producing Programmer).

C’est de votre responsabilité de ne pas devenir un NZPP (ou un NNPP). Les développeurs les plus talentueux refusent de travailler avec des NZPP. Lorsque vous devenez un NZPP, vous devez habituellement déclarer faillite (au regard du développement logiciel). Vous avez généralement deux choix : prendre un travail moins payé où vous pouvez apprendre de nouvelles choses ou bien passer à un nouveau rôle. Si vous voulez être un développeur logiciel, aucune de ces issues n’est désirable.

Par chance, vous avez la force de ne pas devenir un NZPP. La plupart des employeurs seront ravis de vous acheter des livres techniques et de vous envoyer à des conférences techniques. À mon avis, que vous tiriez ou pas de ces avantages devrait être dans votre revue de performance. Ne pas rester à jour en tant que développeur logiciel, en lorsque l’opportunité vous en est offerte, est une mauvaise pratique logicielle.

Une fois, j’ai créé une liste de choses que je recherchais chez des collaborateurs potentiels.

  • Avez-vous déjà testé le Test Driven Development ? Pouvez-vous citer quelque chose que vous aimez et que vous n’aimez pas ?
  • Dans quel(s) langage(s) qui gagne(nt) en popularité, mais qui ne sont pas encore de pleine notoriété, avez-vous écrit un “Hello World” ?
  • Lisez vous des livres ou des blogs à la recherche de nouvelles idées au moins une fois toutes les deux semaines (en moyenne) ?
  • Essayez vous d’appendre au moins un nouveau langage tous les ans ?
  • Avez vous déjà utilisé un outil de recherche de couverture de code ou de complexité cyclomatique sur du code que vous avez écrit ?

Quelqu’un a un jour commenté à peu près ceci :
Tout le monde n’a pas le temps personnel pour faire ce genre de choses
Et c’est là une faille fondamentale. Les employés (et même les employeurs) semblent penser que ce sont des activités qui doivent être conduites hors du temps de travail. Je ne peux être moins en désaccord. Ce sont des choses qu’un développeur responsable doit faire dans le cadre de leur travail, et donc dans les heures de travail.

20% du temps, ça n’est pas quelque chose que Google a inventé, c’est juste quelque chose qu’ils ont nommé, formalisé et rendu populaire. Cette activité en soi est quelque chose que les bons développeurs logiciel font depuis des années. J’applaudi Google pour en avoir fait un standard et ainsi d’assurer que ses employés aient l’opportunité de rester à jour. Cependant, votre entreprise n’a pas besoin de standardiser les 20% de temps pour que vous restiez à jour.

C’est votre responsabilité de prendre le temps dans votre journée de lire un livre ou un blog.

Vous devriez aussi tirer profit d’un déplacement (sponsorisé par votre entreprise) à une conférence. Si vous vous êtes déjà rendu à une conférence et que vous en avez tiré qu’un faible profit, je suggère grandement les conférences QCon et JAOO.

Une fois que vous avez commencé à faire vos recherches dans vos heures de travail, vous trouverez que ces conférences sont juste du travail, sauf que vous êtes focalisés à 100% sur la recherche. Et c’est pas quelque chose que vous souhaitez (ou devez) prendre sur votre temps personnel, c’est juste une autre journée productive à faire ce que vous avez la responsabilité de faire.

* C’est pourquoi Josh et moi organisons SpeakerConf mardi-jeudi. Vous pouvez y aller, participer et rentrer sans avoir à rater un jour de week-end.

Il y a juste un point sur lequel, je ne suis pas 100% d’accord, c’est la frontière entre temps perso et pro.
Je suis tellement passionné par ce que je fais que je passe aussi du temps perso sur des sujets de boulot. Mais il est clair que je le fait par passion, et en plus de ma journée normale de travail qui contient déjà du temps de recherche, lecture…