ChooseYourBoss

Programmation : l’apprentissage dure au moins 10 ans, d’après Peter Norvig de Google

Oubliez les méthodes pour apprendre l’informatique en un claquement de doigts ! Selon Peter Norvig, directeur de recherche chez Google, il faut au moins 10 ans pour se former correctement à la programmation. Petit tour d’horizon des bonnes pratiques.

Le secteur IT s’arrache les profils de développeurs. Dans l’idéal, ce métier demande une formation de 4 à 5 ans en informatique. Face à la pénurie, les recruteurs n’hésitent plus à donner leur chance aux candidats issus de formations intensives de courte durée. Un bien mauvais calcul, à en croire Peter Norvig, directeur de recherche chez Google.

Méfiez-vous des méthodes rapides

Dans un billet de blog traduit en Français en décembre 2008, le spécialiste prône une durée d’apprentissage beaucoup plus longue. « Apprenez le code en 10 ans », martèle-t-il. Sur le seul site Amazon au début des années 2000, il existait des centaines de livres qui promettaient au lecteur d’apprendre un langage en l’espace de quelques jours… voire en 24 heures !

Personne ne peut bien apprendre dans un délai aussi court, avertit Peter Norvig. Il n’existe pas de méthode pédagogique miracle. En si peu de temps, un apprenti développeur n’a pas le temps d’écrire plusieurs programmes significatifs ni d’apprendre de ses erreurs. Pour avoir du succès en tant que développeur, Peter Norvig suggère plusieurs pistes à explorer.

Maîtrisez une demi-douzaine de langages

Tout d’abord, il faut s’intéresser à la programmation par plaisir. Le candidat doit être prêt à y consacrer une décennie de sa vie ! Il apprendra par la pratique, échangera avec d’autres programmeurs en travaillant avec eux, et surtout lira d’autres programmes. Ce dernier exercice lui sera toujours plus profitable que la lecture de n’importe quel livre sur l’informatique.

En dix ans, le développeur a le temps de passer un diplôme universitaire. Il pourra aussi apprendre au moins une demi-douzaine de langages. Comptez un langage pour l’abstraction de classe (Java ou C++), un pour l’abstraction fonctionnelle (Lisp ou Haskell), un pour l’abstraction syntaxique (Lisp), un pour les spécifications déclaratives (Prolog ou les templates C++) et un pour le parallélisme (Clojure ou Go). Il ne reste plus qu’à vous lancer !

Events tech 2018

C'est ici 👇

Go !

Découvre les meilleurs Jobs IT qui matchent avec ta stack !

JE TESTE