« La raison pour laquelle je fais ces vidéos est que je suis fatigué de la désinformation qui circule sur internet ; plusieurs fois, je suis tombé sur des personnes qui viennent me voir, cherchant des notions de base en programmation, et me disent que leur objectif est de devenir développeur professionnel en un mois ou deux. À chaque fois, je leur réponds que ce n’est pas faisable, il n’y aucun moyen d’être un développeur professionnel dans cet intervalle de temps », a-t-il expliqué en guise d’introduction.
Après avoir donc reçu plusieurs demandes de la sorte, il s’est bien évidemment demandé d’où ce fantasme pouvait provenir. Dans ses recherches, il est tombé sur un nombre impressionnant de tutoriels, payants ou gratuits, vidéo ou écrits, proposés par des « soi-disant développeurs professionnels » qui véhiculent l’idée selon laquelle, moyennant un investissement de quelques mois, vous pouvez devenir un développeur professionnel et chercher un emploi.
« C’est un très gros problème et c’est la raison pour laquelle je suis en guerre contre ces gens qui préconisent l’apprentissage rapide. Parce qu’il doit y avoir une différence entre ce qu’est un développeur amateur et ce qu’est un développeur professionnel. Et la raison pour laquelle cette différence existe n’a rien à voir avec l’élitisme, le prestige, ou le fait d’essayer d’être meilleur que quelqu’un d’autre. Cette différence est là pour permettre aux gens de mieux définir leurs attentes », a-t-il fait valoir.
Et d’expliquer que même pour ceux qui finissent par être convaincu, cela représente un danger : « imaginez que quelqu’un vienne publier sur internet que vous pouvez devenir un développeur professionnel en deux mois et décrocher un emploi chez Google. Son auditoire aura des attentes complètement biaisées. Ce qui va se passer c’est que quelqu’un va se donner à fond pour devenir un développeur professionnel. Il ne va pas décrocher d’emploi et il pourrait même se sentir stupide parce que s’il leur est dit qu’ils peuvent apprendre cela en un intervalle de temps si court, ils vont se dire “peut-être c’était pas si facile” ou encore “ça me prend plus de temps”. Ils vont avoir cette idée dans leur tête qu’ils sont stupides parce qu’ils essayent de faire en deux mois ce qu’un vrai développeur va accomplir en cinq ans ».
Pour Fredrik, il est important de combattre ce genre de propagande afin d’éviter que les gens ne tombent dans cet état d’esprit : « il s’agit donc ici de vous donner des informations plus précises ».
« Le développement logiciel n’est pas quelque chose que vous apprenez en quelques semaines puis être prêt pour un emploi », insiste-t-il.
« Comprenez moi bien : je ne viens pas faire l’apologie de l’idée selon laquelle vous avez besoin d’être un étudiant à l’université où vous devez suivre des cours d’informatique pour devenir un professionnel », a-t-il déclaré, insistant sur l’importance de ne pas s’imaginer passer professionnel en un laps de temps.
Combien de temps pour être un développeur professionnel ?
Selon Fredrik, cela dépend des individus et surtout des perspectives. Tandis que lui il affirme avoir passé deux ans à étudier le code, il rappelle que d’autres ont passé moins de temps et d’autres plus (certains ont passé cinq ans). « Au minimum, vous devriez investir un an, deux ans plus certainement, pour simplement en apprendre assez pour être prêt pour le marché de l’emploi ».
« À tous ces gens qui essayent de vendre leurs produits en promettant aux gens qu’ils vont devenir des développeurs professionnels en l’espace de quelques semaines, honte à vous », a-t-il déclaré. « Oui, il est possible d’apprendre le développement à un niveau amateur en quelques semaines », a-t-il reconnu, insistant sur le fait que les promoteurs d’idées de professionnalisation rapide devraient être honnêtes.
Un combat mené par plusieurs professionnels
Pour Peter Norvig, directeur de recherche chez Google, la programmation est quelque chose qu'on devrait normalement apprendre sur une période assez longue, 10 ans par exemple. C'est ce qu'il expliquait d'ailleurs dans un billet publié il y a quelques années et intitulé « Teach Yourself Programming in Ten Years ». Dans ce billet, il critiquait notamment les bouquins avec des titres comme « Apprendre X en Y heures/jours », par exemple « Teach Yourself C++ in 24 Hours ». Il disait avoir fait une recherche avancée sur Amazon pour répertorier les livres avec des titres de ce genre qui ont été publiés depuis l'année 2000. Et il en avait trouvé 512. Le point remarquable est que 9 des 10 premiers étaient des livres de programmation.
« Soit les gens sont pressés d’apprendre la programmation, soit la programmation est en quelque sorte fabuleusement plus facile à apprendre que toute autre chose », a-t-il conclu. Bien sûr, il pense que c'est plutôt parce que les gens sont pressés d'apprendre la programmation, mais il avertit qu'on ne peut rien apprendre de bon dans de courts délais, peu importe les techniques pédagogiques utilisées : « une mauvaise programmation est facile, les idiots peuvent l'apprendre en 21 jours, même s'ils sont des nuls », dit-il en citant des auteurs d'un bouquin en informatique.
Ses raisons sont évidentes. Dans un court délai, vous n'aurez pas le temps d'écrire plusieurs programmes significatifs, et d’apprendre de vos succès et échecs. Vous n'aurez pas non plus le temps de travailler avec un programmeur expérimenté et de comprendre ce que c’est de vivre dans cet environnement. En résumé, vous n’aurez pas le temps d’apprendre vraiment. Vous allez vous familiariser à la programmation ou au langage en question, sans avoir de connaissance approfondie. C'est ce.qu'il exprime par une citation du poète anglais Alexander Pope : « a little learning is a dangerous thing », ce qui peut se traduire en français par : « un peu d'apprentissage est une chose dangereuse ».
Source : YouTube
Et vous ?
Quel parcours préconisez-vous pour être un développeur professionnel ? Etudes classiques (DUT, Fac, école d'ingénieur) ou bootcamp (formations courtes privées) ?
Quelles conditions faut-il remplir pour estimer être un développeur professionnel ?
Vous considérez-vous comme un développeur accompli ou expérimenté ? Si oui, combien d'années cela vous a-t-il pris ?
Le temps d'apprentissage pourrait-il être fonction du langage et donc ne pas avoir un minimum universel ? Par exemple apprendre à créer un site Web statique (en HTML et CSS) puis dynamique (en PHP et MySQL) devrait-il demander autant d'investissement en temps que préconisé par Fredrik Christenson ?
Voir aussi :
A-t-on besoin d'apprendre la programmation pendant 10 ans avant d'être un développeur accompli ? Partagez votre expérience
Comment devenir un meilleur développeur ? La formation et l'expérience sont-elles suffisantes ? Vous êtes invités à partager votre avis
Que faire pour minimiser l'impact des interruptions sur l'activité de développement de logiciels ? Appliquer les méthodes Agile ?
Y a-t-il une corrélation entre diplôme et succès en tant que développeur de logiciels ? Un acteur de la sphère donne son avis
Pourquoi réécrire un projet en partant de zéro ? Parce que l'ancien code est un fatras ou qu'il est plus facile d'écrire que de lire un code ?