Un développeur devrait-il apprendre plusieurs langages ?
Ceci est « une mauvaise idée », selon un sénior

Dans un billet de blog publié sur Core Java Interviews Question, Sam Atkinson, blogueur et directeur de développement à HSBC nous explique son point de vue sur les développeurs polyvalents qui aiment essayer de nouveaux langages et pourquoi c’est « une mauvaise idée » selon lui.

En effet, Sam Atkinson affirme que les langages bien mûrs comme java sont suffisants pour faire le travail, et il n’est pas nécessaire pour un développeur maîtrisant ce langage d’apprendre de nouveaux : cela « va être un cauchemar de maintenance », même si « vous connaissez déjà le langage en question » prévient-il.

« Java est utilisé depuis longtemps et a un ensemble incroyable d'outils et de bibliothèques autour de lui » ajoute Atkinson en citant l’exemple d’IntelliJ. « Un outillage de ce type n’existe pas de façon mature dans les autres [nouveaux] langages [...] Il y a aussi le manque de documentation et de soutien en ligne ». Toutefois, ce n’est pas le fait de maîtriser plusieurs langages qui pose problème selon lui; bien au contraire, il affirme que ceci est « nécessaire » pour avoir un bon CV et que c’est « une excellente façon de changer sa manière de penser concernant le style de codage ». Cependant, ce qui lui pose problème c’est le fait que les développeurs profitent souvent des projets qu’ils réalisent pour apprendre ces nouveaux langages.

Pour illustrer ce dernier point, il cite un article de Yegor Bugayenko, co-fondateur et directeur de technologie à teamed.io, qui avait écrit dans son blog que « chaque projet de logiciel est un business, et nous, les développeurs, sommes ses ressources ». Par conséquent, si on utilise les projets pour apprendre : « ça sera du vol », et un bon gestionnaire de projets ne doit jamais accepter, car « ce n’est pas une école ».

Bugayenko nous explique ensuite que si on contacte un plombier pour installer un système de drainage dans notre maison, et que celui-ci nous dit qu’il n’a jamais travaillé sur une telle tâche, nous n’accepterons jamais de dépenser notre argent pour qu’il puisse se former. De la même façon, en tant que développeurs, « nous voulons apprendre, mais nous ne voulons pas dépenser notre propre argent pour ça. Nous ne voulons pas rester à la maison pendant quelques années pour apprendre toutes les technologies possibles avant d'entrer dans le marché du travail […] Nous voulons apprendre sur le tas ». Or, un programmeur qui ne possède pas les compétences adéquates est « une ressource non fiable » et « aucun projet ne prendrait une telle ressource depuis le début ».

Concernant Sam Atkinson, nous pouvons néanmoins discuter les gains apportés par l’utilisation de nouveaux langages par rapport aux coûts nécessaires à leur apprentissage, et rester toujours prêts à nous reconvertir dans ces langages si cela est plus avantageux.

Source : Article de Sam Atkinson, Article de Yegor Bugayenko

Pensez-vous qu’apprendre plusieurs langages est une mauvaise chose ?
Que pensez-vous de l’avis d’Atkinson et de Bugayenko ?