Le dernier numéro du podcast Zinc Prod a discuté, entre autres, du soi-disant The Python Paradox.
Curieusement, sur Habré, il n'est pratiquement pas fait mention de ce paradoxe. Malgré le fait que, malgré sa simplicité, l'idée est très intéressante
En 2004, lorsque Python était quelque chose d'inhabituel, non courant, un article de Paul Graham est sorti dans lequel il a partagé son observation empirique: les programmeurs Python qu'il connaît sont beaucoup plus avertis que les programmeurs Java.
Plus tard, Paul a expliqué qu'il ne voulait pas dire que les programmeurs Java sont stupides. Il a simplement souligné que les gens qui écrivent en Python (alors un langage peu connu) sont des geeks qui programment pour le plaisir; ce sont des gens larges d'esprit qui voient les défauts de certaines langues et la dignité des autres.
Il est important de souligner que Java était un langage commun, mais pas Python - c'est tout le problème. Il était impossible de trouver un emploi en Python, ils y ont écrit uniquement parce qu'il était aimé comme langue, comme passe-temps.
En transférant cette situation aux réalités d'aujourd'hui, on pourrait dire que le programmeur Rust ou Elixir moyen pense en moyenne mieux que le programmeur Java ou PHP "pur" moyen.
D'où Paul Graham tire deux conclusions, paradoxes
Conclusion de Paul pour les affaires
Si une entreprise choisit un langage relativement ésotérique pour un nouveau projet, ceux qu'elle embauche seront d'excellents programmeurs, car ils ont fait un excellent travail d'apprentissage de la langue, et ils l'ont fait pour leur plaisir. Et ils seront intéressés à travailler.
Conclusion de Paul au programmeur
La langue que vous devez apprendre pour obtenir un bon emploi intéressant est la langue que les gens apprennent non seulement pour obtenir un emploi.
Quelques conclusions supplémentaires
- Comme dit le proverbe, on ne peut pas simplement prendre et retourner 2004. Maintenant, tout a changé, c'est devenu un peu plus facile. Par exemple, l'architecture de microservices vous permet d'utiliser le zoo des langues et des technologies, et ainsi d'attirer des programmeurs motivés dans des langues ésotériques qui seront heureux de travailler pendant des jours et même des nuits, résolvant joyeusement des problèmes qui se mettront sur leur chemin
- Il n'est pas nécessaire de tout diviser en noir et blanc. Une approche mixte est également possible. Si le projet a déjà été écrit en Java conditionnel et qu'il est nécessaire d'embaucher des Javists, vous devez absolument demander lors de l'entretien dans quelles langues la personne a écrit. S'il a des projets ou des pull-quests dans les langues sur le github qui ne peuvent pas être trouvés correctement pour le travail , alors c'est un FAT plus
- Quand une langue vient de publier une version stable, des pros motivés écrivent dessus. Mais au fil du temps, en raison de la popularité croissante, tout le peuple y tombera et un tas de govnokoda apparaîtra. Il est particulièrement intéressant d'observer le langage Go: un langage avec un seuil assez bas (la syntaxe est très simple), alors qu'il est devenu très populaire et très rémunéré. Maintenant, je pense que la qualité moyenne chutera considérablement