IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

Comment repérer la crème des développeurs ?


Sujet :

Débats sur le développement - Le Best Of

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 440
    Points : 197 499
    Points
    197 499
    Par défaut Comment repérer la crème des développeurs ?
    Comment repérer la crème des développeurs ?
    Pour un docteur en informatique, les programmeurs les plus doués apprennent des langages ésotériques

    Paul Graham est un investisseur capital-risque et un programmeur Lisp. Il y a neuf ans de cela, ce docteur en informatique diplômé de Harvard soutenait « qu'il serait plus aisé d’avoir des programmeurs intelligents pour travailler sur des projets Python que sur des projets Java ».

    Une phrase choc qui avait provoqué la polémique, mais Graham a invité tout un chacun à ne pas la prendre au premier degré, expliquant que « ce n'est pas que les programmeurs Java sont idiots, mais les programmeurs Python sont futés. Apprendre un nouveau langage de programmation c'est beaucoup de travail. Et les gens n'apprennent pas Python pour obtenir un travail ; ils l'apprennent parce qu'ils aiment sincèrement programmer et ne sont pas satisfaits des langages qu'ils connaissent déjà. »


    À l'époque, Python n'était pas aussi populaire que Java et sur le marché de l'emploi, les entreprises ne se bousculaient pas pour demander des développeurs dans ce langage. Pourtant, certaines d'entre elles ont initié de développer des logiciels dans des langages ésotériques, n'attirant alors que ceux qui se sont donnés la peine d'apprendre ce langage qui sont, selon Graham, les meilleurs programmeurs. Il a baptisé ce phénomène le « paradoxe Python ».

    Côté développeur, ce phénomène était encore plus accentué puisque, pour accéder à un bon emploi, il devrait « apprendre un langage qu'on apprend pas seulement pour avoir un travail »

    Certaines sociétés très prisées par les développeurs utilisaient même cet atout comme critère de sélection ; Google par exemple publiait des offres d'emploi Java et demandait une expérience en Python.

    Qu'est ce qui a motivé cet intérêt porté à Python ? Un des amis de Graham qui a fait le tour des langages de programmation les plus populaires et qui emploie Python pour la plupart de ses projets donne comme raison principale l'aspect du code source. Raison qui peut sembler légère de prime abord mais Graham explique que « quand vous programmez, vous dépensez plus de temps à lire du code qu'à en écrire. Vous manipulez les blocs de codes source de la même manière qu'un sculpteur le fait pour des blocs d'argile. Donc un langage qui génère un code source désagréable à lire est aussi horripilant pour un programmeur que l'est une terre grumeleuse pour un sculpteur. »

    Source : blog Paul Graham

    Et vous ?

    Partagez-vous le point de vue de Paul Graham ?

    Sur le choix d'apprentissage d'un nouveau langage de programmation, pensez-vous comme son ami ?

    Neuf ans plus tard quel est, selon-vous, le langage qui a repris le flambeau de Python ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre averti Avatar de Atem18
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Octobre 2012
    Messages : 91
    Points : 328
    Points
    328
    Par défaut
    Entièrement d'accord pour la lisibilité, c'est pour cela que mon choix de langage de prédilection, s'est porté sur le Python.

    Je peux reprendre un code auquel je n'ai pas touché depuis des mois, et toujours le comprendre sans commentaires.

    Je peux aussi passer mes codes aux autres et ne pas avoir à leur détailler chaque lignes.

    Après, j'ai découvert la puissance des modules tiers, faits par la communauté, et depuis c'est le bonheur.

  3. #3
    Membre émérite
    Avatar de Voyvode
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 476
    Points : 2 678
    Points
    2 678
    Par défaut
    Citation Envoyé par Paul Graham
    Et les gens n'apprennent pas Python pour obtenir un travail; ils l'apprennent parce qu'ils aiment sincèrement programmer et ne sont pas satisfaits des langages qu'ils connaissent déjà.
    Quelqu'un qui pratique par passion est souvent plus efficace que quelqu'un qui pratique seulement par obligation. Java étant plus corporate, c'est normal qu'on tombe sur plus de gens qui bossent dessus seulement par obligation.

    Citation Envoyé par ami de Paul Graham
    Donc un langage qui génère un code source désagréable à lire est aussi horripilant pour un programmeur que l'est une terre grumeleuse pour un sculpteur.
    Cela dépend surtout du programmeur. Un code Python bourré de one-liners est infect. Un code Java avec des lignes à rallonge est abominable.

    Parmi les langages que j'ai pratiqué, j'aime indifféremment l'apparence de Python, Pascal, Java, Objective-C et même PL/SQL, je trouve qu'ils ont tous une esthétique visuelle différente. C'est comme la peinture, la musique ou les femmes : on a des goûts plus ou moins variés et exotiques.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 30
    Points : 35
    Points
    35
    Par défaut
    Mouais...

    "et ne sont pas satisfaits des langages qu'ils connaissent déjà."

    En gros il fait l'hypothèse que python est mieux que java (ce qui reste à prouver), et que si tu n'arrives pas à résoudre un problème avec java, (ou que tu ne t'y sens pas bien), si t'es intelligent tu passes à python...

    Bof, bof, le raisonnement, on peut l'inverser:
    Si t'arrives pas à maîtriser les design pattern et autre subtilité de java, alors tu t'enfuis chez un autre langage (python).

    Je ne suis vraiment pas convaincu...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Jere15 Voir le message
    En gros il fait l'hypothèse que python est mieux que java (ce qui reste à prouver), et que si tu n'arrives pas à résoudre un problème avec java, (ou que tu ne t'y sens pas bien), si t'es intelligent tu passes à python...
    Euh... ce n'est absolument pas ce qu'il dit.

    Il affirme juste que des compétences en Java sont beaucoup plus demandées sur le marché du travail que des compétences en Python (difficile de le contredire sur ce point). Il en tire la conclusion logique qu'il y a plus de développeurs choisissant Java juste pour avoir un job que de développeurs qui choisissent Python pour cette même raison. Donc, il est plus facile de trouver un développeur Python passionné puisque s'il choisit ce langage, c'est pour des raisons autres qu'alimentaires.

    Cela ne veut bien entendu pas dire que la communauté Java ne compte pas de développeurs passionnés, et encore moins que Python est meilleur que Java ou je ne sais quoi (ce qui est complètement débile, "meilleur" n'ayant aucun sens sorti d'un contexte précis. Un langage peut être un meilleur choix qu'un autre dans un contexte précis, mais "meilleur" dans l'absolu n'a pas de sens dans ce domaine)...

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    A la mention de langage ésotériques, j'étais parti à sacrifier ds corbeaux pour corriger mes bugs

  7. #7
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 918
    Points
    2 918
    Par défaut
    ésotérique, adj : se dit d'un mode d'expression, d'une œuvre qui n'est compréhensible que des initiés ; hermétique, abstrus, abscons : Langage ésotérique.
    Je ne suis pas sûr que ça soit le bon adjectif pour qualifier Python s'il est si lisible que ça

    "Langage alternatif" me paraît un meilleur choix surtout si on veut éviter le cliché : langage incompréhensible => petit génie => crème des développeurs dans toutes les situations ever de la terre entière.

    Sinon 100% d'accord avec Voïvode : c'est un peu une banalité de dire que les gens qui font la démarche d'apprendre un autre langage (quel qu'il soit, "ésotérique" ou non) sont probablement plus passionnés et donc plus recherchés par les recruteurs car réputés plus efficaces.

    Le fait que ça soit Python ou autre chose (on pourrait dire Ruby, Scala ou Clojure aujourd'hui) reste un sous-produit assez aléatoire de ce phénomène.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Points : 1 370
    Points
    1 370
    Par défaut
    Ne vous arrêtez pas aux langages mentionnés, ce n'est que la forme de l'article, il aurait pu mentionner pleins d'autres (tous?) langages à la place de Python et de Java, il les surement choisi pour troller un peu mais le fond est plutôt juste.

    Je fais du Java en entreprise et apprécie bien ce langage, cela ne m'empêche pas d'être assez d'accord avec lui, même si on ne peut pas affirmer que les développeur qui choisissent un langage pour manger sont moins bons que les passionnées. Nous sommes des professionnels nous n'apprenons peut-être pas toutes les subtilités d'un langage, mais nous savons apprendre le concept (OOP, fonctionnel, ...), coder proprement (Oui ça veut tout et rien dire...) et être efficace en entreprise (ce qui souvent veut dire aller vite malheureusement).

    Edit : On pourrai à l'inverse penser que quelqu'un qui apprend Python au lieu de Java a rien compris au réalité du marché informatique en France et que donc ces personnes seraient moins pro.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 328
    Points : 695
    Points
    695
    Par défaut
    Donc un langage qui génère un code source désagréable à lire est aussi horripilant pour un programmeur que l'est une terre grumeleuse pour un sculpteur.
    Donc le python pour lui, c'est agréable à lire...
    Ok, on ne mélange pas les goûts et les couleurs.


    Je crois que Python est surtout beaucoup plus performant par rapport à Java non ? Quel langage ne l'est pas d'ailleurs ?

    Edit: J'enlève la remarque sur les perfs de python/java pour stopper le lynchage ? Vraiment aucun humour ces nerdz ! Faut pas toucher à leur joujous...
    xD

  10. #10
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    "ésotérique" = "python"?
    On rêve ou quoi?

    Allez faire un tour sur esolangs.org ou mieux encore 99 bottles of beer

    Là vous aurez des langages ésothériques: en trinaire (malboge), sans variables (plusieurs), avec un des pingouins (goto++), dont le code source est une image (piet) ou encore en anglais intégral (Shakespear)
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  11. #11
    Membre expert Avatar de Kearz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 856
    Points : 3 659
    Points
    3 659
    Par défaut
    ils l'apprennent parce qu'ils aiment sincèrement programmer et ne sont pas satisfaits des langages qu'ils connaissent déjà.
    Aimer programmer veut surement pas dire qu'on est bon. Ne pas aimer programmer pour le loisir ne veut surement pas dire qu'on est mauvais.

    Quelqu'un peut faire partie de la "crème" mais avoir des passions supérieures à l'informatique, ce qui fait qu'il fait de l'info' qu'au boulot.

    (c'est sur qu'on a plus de chance d'être bon en s’entraînant mais certaines personnes ont des "dons")

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2010
    Messages : 83
    Points : 536
    Points
    536
    Par défaut
    Je pense que, dans un sens, tous les langages sont ésotériques.

    Si tu ne connais pas python, tu vas avoir du mal à comprendre un code écrit dans ce langage.

    Après, on peut tenter de faire des regroupements. Par exemple quelqu'un qui connais C++ mais pas Java pourra éventuellement comprendre le code source d'une application simple qui n'utilise pas trop de spécialités Java.
    les algorithmes qui oublient leur histoire sont condamnés à la répéter

  13. #13
    Membre à l'essai
    Profil pro
    Architecte technique
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Points : 11
    Points
    11
    Par défaut
    Un vrai bon langage pour repérer les cht'i developpeur(se) brainfuck

  14. #14
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    waouuhh après la théorie du C++ et C# voilà python est fait pour les doués?
    Pour ma pétite expérience j'ai été contraint de devoir coder une application en Python donc contrainte Entreprise.Mais je ne vois pas du tout la relation qui prouvé qu'un passionné serait plus doué qu'une personne codant avec les contraintes d'entreprise .

    Bientot on me dira que python va surclasser Java.Non même si java peut être utiliser de tous comme bien sur PHP cela ne veut pas dire que qu'ils n'existent pas plus de bon codeur java pouvant quitter d'un langage à l'autre avec aisance.
    Bien sur le fait de quitter java pour aller vers python on peut bien avoir des raisons.Mais je ne crois pas que le meilleur programmeur dépend forcement du langage qu'il utilise.c'est un ensemble de choses à prendre en compte.rapidité,fiabilité,complexité et adaptabilité sont des critères sur le code d'un bon programmeur
    Ce qui ne me tue pas me rend plus fort.

  15. #15
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Points : 283
    Points
    283
    Par défaut
    Citation Envoyé par leternel Voir le message
    Là vous aurez des langages ésothériques: en trinaire (malboge), sans variables (plusieurs), avec un des pingouins (goto++), dont le code source est une image (piet) ou encore en anglais intégral (Shakespear)
    Oui, avant de lire tout l'article j'ai cru qu'il était question de langages de ce genre, c'est-à-dire des langages jamais utilisés dans l'industrie et dont la connaissance requiert - je pense - une bonne dose de curiosité.
    Si quelqu'un met le Brainfuck ou le Whitespace sur son CV, là on peut se dire que c'est un passionné avec un esprit un peu tordu. Mais le Python, ce n'est pas un bon exemple aujourd'hui puisqu'on peut être amené à l'apprendre par obligation.

  16. #16
    Membre actif
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 253
    Points
    253
    Par défaut
    Déjà ça veut dire quoi être un bon développeur ?

    De mon expérience :

    Etre un bon développeur doit avoir beaucoup de qualités !
    Certaines personnes avec qui j'ai travaillé sont bons en tant que développeurs quand il s'agit de coder ?
    Quelqu'un qui sait programmer mais qui n'a aucun goût en IHM ou qu'il met en place une interface qui seulement lui comprend est-ce un bon développeur ?

    J'ai déjà aperçu des génies qui font du code tellement complexe à lire qu'ils programment pour eux ? lisibilité du code zéro , maintenance faut pas en parler ... mais ils savent bien complexifier les choses...

    D'ailleurs certains aiment utiliser des raccourcis comme en Python alors qu'en Java ils ne peuvent pas le faire ... et donc se mettent à faire du code sans queue ni tête... voir même sans utiliser de la POO mais un mélange...

    Mais dire que le Python est pour les doués déjà le gars à perdu toute crédibilité ...

  17. #17
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    (1) Le blog a 9 ans d'âge. Python et Java, donc, ne sont que des archétypes, il ne faut pas les juger comme tels.

    (2) L'idée n'est pas de dire que Python est supérieur à Java. L'idée est de dire qu'un programmeur qui fait des choses en plus de ce qu'on lui demande aura dans sa boite a outils plus d'éléments pour progresser que celui qui se contente de faire des piges dans le langage du jour.

    (3) Trouver des programmeurs de bon niveau, c'est d'une difficulté absolue. Il y a de nombreux marqueurs, mais la plupart sont de qualité dérisoire. La "Passion" est de qualité faible, mais comparé aux autres, c'est mieux que rien.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  18. #18
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Points : 10
    Points
    10
    Par défaut un bon dev?
    On en revient tjr a la même question, que-est-ce qu'un bon dev ?

  19. #19
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Entièrement d'accord.A mes yeux Python est de loin, et sur de multiples points Le langage par excellence.
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  20. #20
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 173
    Points : 485
    Points
    485
    Par défaut
    Je ne suis pas d'accord avec la personne qui a émis ce raisonnement car il peut y avoir des passionnés qui préfèrent connaitre tout de java et pas apprendre le python, apprendre un langage ne veut pas dire que l'on est passionné, juste qu'on veut découvrir ce langage.

    Pour moi trouver de bons développeurs ne revient pas à dire tu connais ça tu es bon et la passion pour le développement ça n'à rien avoir avec les langages appris ou non.

Discussions similaires

  1. Comment repérer la crème des développeurs ?
    Par Stéphane le calme dans le forum Actualités
    Réponses: 30
    Dernier message: 21/07/2013, 08h41
  2. Réponses: 7
    Dernier message: 22/12/2011, 16h00
  3. Réponses: 1
    Dernier message: 03/12/2008, 19h59
  4. Comment repérer des bandeaux pub dans des pages web
    Par murfodef dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 06/01/2007, 12h32
  5. [WebForms]Comment repérer des bandeaux pub dans des pages web
    Par murfodef dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 04/01/2007, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo