Les 5 qualités d’un développpeur très efficace : aimer apprendre (2/5)

Voici la deuxième partie de la publication en 5 parties de la traduction d’un article de Ben Watson publié le 20 janvier 2008 sur son blog : Top 5 Attributes of Highly Effective Programmers. Ma traduction est amateur, mais vous permettra de profiter des idées de Ben Watson dans votre langue maternelle.

Il propose, et développe 5 qualités essentielles qui distinguent le bon développeur du mauvais :

  1. Humilité
  2. Aimer apprendre (2e partie)
  3. Amour du détail  (3e partie)
  4. Adaptabilité  (4e partie)
  5. Passion (5e partie)

Passion de l’apprentissage

Si vous êtes nouveau dans tout ce truc de développement, je déteste ce que je vais faire : l’apprentissage vient juste de commencer. Quoi que vous pensiez de votre diplôme d’ingénieur en Sciences Informatique pour lequel vous avez bossé si dur, c’était juste le début. Cela vous prendra un emploi ou deux, mais c’est comme ça. Si vous ne pouvez pas apprendre en avançant, de maintenant à la retraite, vous êtes un poids mort. Bien entendu, vous serez capable de trouver un emploi quelque part avec votre langage préféré pour le reste de votre vie, COBOL et FORTRAN sont encore là, après tout, mais si vous voulez réellement progresser vous allez devoir apprendre.

Apprendre n’est pas compulser. Pas plus que survivre. – W. Edwards Deming

Cela signifie lire. Beaucoup. Si vous n’aimez pas lire, je vous recommande de vous plonger dans Harry Potter, la fantasy, la SF, la fiction historique, qu’importe. Quelque chose. Lisez simplement. Ensuite procurez vous quelques livres techniques. Commencez avec ma liste des livres essentiels pour les développeurs. Ils ne sont pas aussi excitant que Harry Potter, mais ils ne sont pas mal non plus.

Beaucoup de matériau est en ligne, mais pour une très bonne qualité, du contenu qui fait autorité sur des sujets fondamentaux, les livres battent tout le reste.

Lire n’est pas assez, bien sûr. Vous devez pratiquer. Vous devez écrire vos propres projets de test. Vous devez vous forcer à repousser les limites. Vous pouvez commencer en tapant les exemples de code, mais vous devez les changer d’une manière unique et personnelle. Vous devez avoir des projets personnels et loisirs qui développent vos compétences. Ecrivez vos propres outils, ou des programmes « marrants ». Ecrivez un jeu. Faites ce qu’il faut pour apprendre de nouvelles choses !
Le type de programme que vous écrivez a une grande influence sur la manière dont vous apprendrez de nouvelles choses. Cela doit être quelque chose qui vous intéresse, ou vous lâcherez le morceau. Dans mon cas, je développe des programmes relatifs à ma passion des LEGO. Dans le passé, j’ai écrit des outils pour des jeux de mots, des utilitaires systèmes, des plug-in multimédia, et bien plus encore. Tous ont débuté par un besoin que j’avais, ou un désir d’apprendre quelque chose de nouveau et d’utile pour moi.

Un autre aspect de cette passion de l’apprentissage est relative au déboggage d’application. Un développeur efficace n’est pas satisfait d’un problème jusqu’à ce qu’il comprenne comment cela fonctionne, pourquoi cela arrive et les détails sur comment le réparer. Les détails comptent – comprendre pourquoi un bug se produit est aussi important que de savoir comment le résoudre.

Apprenez des erreurs. J’ai vu des développeurs qui font des erreurs, ont la bonne solution mise sous leur nez , et disent « Oh, je me demande pourquoi cela ne marchait pas pour moi », et continuent sur leur chemin merveilleux de l’ignorance. Une fois que le code fonctionne « de la façon correcte » ils ont terminé. Ils ne se soucient pas de savoir pourquoi cela ne fonctionne pas. Ce n’est pas assez ! Comprendre les erreurs, ce qui les répare et pourquoi.

Les jugements justes viennent de l’expérience et l’expérience vient des erreurs de jugement. – Fred Brooks

Evidemment, il faut modérer un peu. Vous ne pouvez pas apprendre tout–c’est simplement impossible. Notre métier devient de plus en plus spécialisé parce qu’il y a tout simplement trop de savoir. Je pense aussi que, dans une certaine mesure, vous devez aimez apprendre juste pour apprendre des choses.

Je suis complètement d’accord avec ce chapitre. Et je le vois régulièrement au cours des sessions de formation que j’anime : les développeurs aiment apprendre, et même, aiment comprendre. Ils sont friands de nouvelles connaissances.

Ajouter mes idées