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 :

Un développeur devrait-il apprendre plusieurs langages ?


Sujet :

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

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 194
    Points : 12 291
    Points
    12 291
    Par défaut Un développeur devrait-il apprendre plusieurs langages ?
    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 ?

  2. #2
    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
    Les deux articles sont fort différentes l'un de l'autre.

    Celui de Yegor Bugayenko, en gros, dit qu'on ne devrait pas avoir à apprendre au cours d'un projet. Point. Celui de Sam Atkinson dit, lui, que Java permet de résoudre tous les problèmes, et est standard, donc aucun autre langage n'est utile.

    Je ne suis d'accord avec aucun des deux articles. Le développement est une activité hautement fluide, contrairement à la plomberie prise en comparaison. Si un plombier met une heure à installer un lavabo(chiffre complètement au pif, je n'y connais rien), il mettra à peu près dix heures pour en installer dix similaires. Peut-être 9 et demi avec l'effet d'expérience. Si un développeur met 10 heures à coder un envoi de mail, pour les 9 autres, il réutilise le code, voire l'encapsule, et ne mettra pas beaucoup plus de temps.

    Surtout, si on encapsule proprement, on gagne beaucoup de temps pour la suite du projet - et pour la maintenance. Un contenu informatique n'est pas comme un bâtiment, c'est très vivant, et ça change tout le temps. Prendre le temps d'enseigner les spécificités dudit ensemble, ça permet de gagner du temps tout de suite - le programmeur sera plus opérationnel - et plus tard - on aura un ensemble cohérent. Chaque projet est différent, et croire qu'il suffit d'en maitriser un pour maitriser les autres me parait hautement illusoire.

    Pour ce qui est du Java, c'est effectivement un langage qui permet de tout faire. Mais la contrepartie est qu'il n'est pas spécifiquement à adapté à tel ou tel besoin. Il est généraliste. Pour des sujets spécialisés, d'autres langages survivent ou même se développent. J'ai souvenir d'un batch comptable réalisé dans une banque de taille moyenne dont les grands chefs rêvaient de "tout Java", et qu'on m'a fait faire en Cobol. Parceque j'étais deux fois moins cher.

    Ca ne veut pas dire que Java est toujours un mauvais choix, mais comme toute création humaine, il a ses limites, et affirmer de but en blanc que c'est toujours le bon choix, c'est à la limite de la croyance religieuse.
    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.

  3. #3
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut
    Moi non plus, je ne suis pas d'accord avec ces articles.
    Pour ce qui concerne Java, j'ai essayé et je n'ai jamais réussi à m'y mettre vraiment. J'ai toujours trouvé le développement en java d'une lourdeur sans égale dans les autres langages que j'ai pu tester (peut-être C++ ?). Il est évident que pour un développeur chevronné dans ce langage, ce point doit s'amenuiser avec le temps mais quand même. Pour la lisibilité et la maintenance, pour ma part, je préfère python (de loin).

    Par ailleurs, il faudra m'expliquer comment faire une appli web sans utiliser au moins deux langages (sans compter html et css).

    Quant à l'apprentissage au cours d'un projet... Je ne vois même pas comment on peut faire pour ne pas apprendre à chaque projet.
    Chaque développement un peu trapu entraîne des choix et des expériences qui sont des apprentissages. Ceux qui ne fonctionnent pas bien entraineront d'autres choix la fois d'après qui nécessiteront sans doute également une part d'apprentissage.
    Le plombier a des normes fixes (relativement) là où un développeur travaille sur des environnements mouvants. Un développement de deux ans et la base de donnée a de nouvelle fonctionnalités, le framework a changé de version majeure, le langage a évolué notablement et le contrat suivant est déjà signé... Où apprend-on dans ce cas ?

    Au contraire de l'article, je pense que le développeur DOIT se former en permanence, sur tous les projets qu'il fait. Ça fait partie intégrante de son boulot. Celui qui ne le fait pas ne peut pas tenir plus de dix ans avant d'être complètement dépassé sauf à considérer que l'apprentissage des techniques du métier sont un loisir. Je ne vois pas pourquoi un client ou un employeur n'aurait pas à se soucier de cette partie du travail. C'est un peu facile de demander des types de bon niveau, formé aux dernières technologies, sans prendre en compte la nécessité pour ces ressources d'une formation véritablement continue.

  4. #4
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    Il est clair que pour un développeur tel que Sam Atkinson qui reste dans le domaine financer le changement c'est pas souvent
    De ce fait il ne peut voir ce qui se passe dans d'autres secteurs, et quand on développe pour des milieux économiques différents
    l'on doit s'y adapter, d'où l'apprentissage de nouveaux languages
    Rien, je n'ai plus rien de pertinent à ajouter

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Java / JEE / JavaScript
    Inscrit en
    Juillet 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java / JEE / JavaScript
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 36
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par Amine Horseman Voir le message
    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.
    Je ne suis pas d'accord, si on utilise que Java dans ce cas on ne fait pas d'application WEB... ou alors c'est un fan des applets

    Faut pas oublier que HTML, CSS et Javascript sont aussi des langages

  6. #6
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Tout d'abord, la dernière fois qu'un plombier est venu chez moi pour installer un évier, il s'est rendu compte que les canalisations derrière étaient d'un type qu'il ne connaissait pas. S'il m'avait dit, attendez, je refais tout avec des matériaux que je connais, que lui aurais-je répondu? Oui, oui, très bien restez dans votre zone de confort, refaites toute ma maison en Java tant que vous y êtes?

    Ou bien s'il m'avait dit: vos chiottes sont toutes petites, je vais vous installer des gogues minus mais avec un nouveau système de branchement, je lui aurais dit: non, non! des chiottes Java, même si je peux plus fermer la porte?

    La force du secteur informatique a toujours été qu'à côté de mastodontes obligés de gérer tout un héritage de code, de nouveaux langages émergent, suffisamment flexibles pour ajouter de nouvelles possibilités en terme d'expressivité, de maintenabilité, de puissance, etc. Pour certains projets, selon les exigences, il peut tout à fait être intéressant de se lancer dans des pistes nouvelles: les risques sont plus élevés, d'accord, mais l'espérance de gain également. Si je veux griller la politesse à la concurrence, un langage de développement rapide, comme Python, peut être intéressant, en particulier si j'ai besoin de l'appui de non spécialistes de la programmation -analystes de données, mathématiciens, par exemple, qui sont de plus en plus souvent familiers avec ce langage.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 614
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    Je ne suis d'accord avec aucun des deux articles. Le développement est une activité hautement fluide, contrairement à la plomberie prise en comparaison. Si un plombier met une heure à installer un lavabo(chiffre complètement au pif, je n'y connais rien), il mettra à peu près dix heures pour en installer dix similaires. Peut-être 9 et demi avec l'effet d'expérience. Si un développeur met 10 heures à coder un envoi de mail, pour les 9 autres, il réutilise le code, voire l'encapsule, et ne mettra pas beaucoup plus de temps.
    Très mauvaise analogie avec le bâtiment car elle néglige que... Le bâtiment "encapsule" et "factorise" également... Si on doit comparer plombier qui installe un lavabo avec un développeur qui envois un courriel, lavabo = fonction d'envois de courriel et installation = intégration... Et mine de rien, là où le plombier va passer du temps se prendre la tête avec le câblage... Le développeur aussi.

    Là dessus, l'analogie est identique pour l'évolution : tant que le plombier/dev utilisent le matériel connu, ils sont efficace, mais le jour où on demande à l'un ou l'autre d'installer un autre "modèle" (un robinet rhéostatique/configuration différente, techno différente), l'efficacité ne sera plus la même.

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 139
    Points : 459
    Points
    459
    Par défaut
    Citation Envoyé par fatbob Voir le message
    Par ailleurs, il faudra m'expliquer comment faire une appli web sans utiliser au moins deux langages (sans compter html et css).
    En excluant HTML/CSS, il est possible aujourd'hui de faire une app web en javascript de à A à Z : frontend avec jQuery, backend avec node.js, db avec MongoDB.

  9. #9
    Membre extrêmement actif
    Femme Profil pro
    None
    Inscrit en
    Août 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : None

    Informations forums :
    Inscription : Août 2012
    Messages : 355
    Points : 716
    Points
    716
    Par défaut
    Pour moi ces deux personnes sont probablement des gens qui n'ont absolument jamais travailler eux-même sur des projets réels. Ils ont peut-être géré des projets et dirigé un équipe de développeur. De plus, l'exemple choisi par ce monsieur Yegor Bugayenko montre bien la stupidité de son raisonnement.
    Je cite : "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"
    C'est totalement absurde. En effet on n'aura probablement jamais un plomber seul pour ce genre de tâche, mais lorsque ceux-ci sont formés c'est évidemment par l'expérience. Et c'est la même chose en programmation, c'est d'ailleurs ce à quoi servent (ou plutôt sont censé servir) les stages en entreprise.

    De plus, je trouve qu'il est très important (en tout cas c'est mon point de vue) d'apprendre quelque chose lorsque je travail sur un projet, sinon je ne vois aucun intérêt dans sa réalisation.

    En ce qui concerne ce cher Sam Atkinson (dommage, il ne lira probablement pas ceci), je voudrais lui signaler que Java n'est pas (mais pas du tout) le meilleur langage au monde. Il existe plein de concept absent de ce langage (ou apparu très/trop tardivement) tels que la surcharge d'opérateur et les paramètres par défaut, qui me semblent être des concept relativement basique dans le paradigme sur lequel se base Java. Et j’enchaînerais justement sur la chose suivante: il existe beaucoup de paradigmes (POO, fonctionnel, procédural, pour ne citer que les plus connus) et le fait de maîtriser plusieurs langages, basés sur différents paradigmes, permet justement d'enrichir sa culture et de pouvoir appréhender la résolutions de problèmes sous différents angles.

    Bref, je déteste quand on essaie de faire croire que le travail de développeur se résume à accomplir une tâche de manière automatique, sans réfléchir, à la manière d'un robot incapable d'étudier les différentes solutions qui s'offrent à lui et incapable d'évoluer. Le vrai problème chez les développeurs, c'est d'être dirigé par ce genre de personne.

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 9
    Points : 64
    Points
    64
    Par défaut
    Je me demande si un développeur saura maîtriser plusieurs langages et je parle d'une connaissance de toutes les subtilités.Il me parait difficile de pouvoir devenir un vrai expert sur plusieurs langages...

    Après je suis d'accord sur le fait d'apprendre pendant les projets professionnels mais je pencherais plutôt pour du perfectionnement que de l'apprentissage des fondamentaux, qui reste quand même à éviter pour ne pas perdre trop de temps..

  11. #11
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    Un peu outré par les conclusions de cet article :

    - un dev qui n'apprend qu'un seul langage se retrouve mis à la porte lorsque ce langage n'est plus à la mode et qu'il n'a pas su se renouveler
    - comment fait-on pour se renouveler si l'entreprise nous cloisonne dans un environnement. ( Je parle pour les dev qui ont des enfants et ne peuvent pas se renouveler chez eux au détriment de l'éducation )


    « une ressource non fiable » et « aucun projet ne prendrait une telle ressource depuis le début ».
    Personnellement, j'ai horreur de ce genre d'élément de language, notamment du mot "Ressource", je le trouve "Déshumanisant".

    Bref avec ce genre de considération , beaucoup de DEV quittent la technique pour passer dans le management, c'est une perte considérable !

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2015
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Greg-dev Voir le message
    Je ne suis pas d'accord, si on utilise que Java dans ce cas on ne fait pas d'application WEB... ou alors c'est un fan des applets

    Faut pas oublier que HTML, CSS et Javascript sont aussi des langages
    Spring MVC, Struts, GWT, JSF...
    (en considérant que le JSP fait partie du Java bien sûr).

  13. #13
    Membre averti

    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    176
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 176
    Points : 310
    Points
    310
    Par défaut
    Pour le web, on peut tout faire en javaScrip depuis Node.Js.

    HTML et CSS sont des langages déclaratifs, pas des langages de programmation, donc hors-jeu. Bon, c'est vrai qu'on peut faire du CSS "avancé" qui se rapproche de la programmation mais ce n'est pas nécessaire.

  14. #14
    Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 28
    Points : 69
    Points
    69
    Par défaut pff
    Je trouve que c'est ridicule de croire que l'on apprend pas à chaque projet, Java permet de tout faire mais chaque projet est unique et a ses propres besoins, par exemple l'utilisation d'une nouvelle bibliothèque mais pour un développeur Java, nécessite d'en regarder la doc, RTFM comme on dirait, en revanche actuellement je travaille sur un projet en PHP ou je sais que Java serait meilleur, je connais les 2 langages, en revanche je ne mélange jamais les 2. Je fais aussi du C#, du python... à l'occasion, et j'ai appris beaucoup de chaque langage et l'expérience que j'ai acquise grâce à cette apprentissage a une vraie plus-value. De plus un développeur qui se borne à un langage, même s'il met à jour ses compétences se limite obligatoirement lors de la recherche d'un Job... Autre chose, si on apprend pas lors d'un projet (je ne parle pas de créer un projet en entier sur des nouvelles connaissances), quand est-ce que l'on va apprendre??? Le temps consacré à la veille techno et à la formation en service info de client final est peau de chagrin...

  15. #15
    Invité
    Invité(e)
    Par défaut
    Plutôt que d'apprendre xx langages, un développeur devrait plutôt se concentrer sur les peu qui lui servent au quotidien, et de monter en compétence au niveau théorique. De cette façon il sera capable de répondre à un maximum de demandes puisqu'il saura comment ça fonctionne, il sera capable d'apprendre un nouveau langage au besoin car il connaitra les différents paradigmes de programmation, il sera capable d'avoir un avis éclairé sur les diverses façons d’exécuter des taches et d'en donner les forces et faiblesses, et ainsi de suite.

  16. #16
    Membre éclairé
    Ingénieur de recherche
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Points : 825
    Points
    825
    Par défaut
    Le décalage entre le contenu de votre article et le titre que vous lui donnez est surprenant, pour ne pas dire dérangeant, sans parler de l'amalgame fait entre les deux articles sources.

    En gros l'un fait la pub pour son petit langage préféré (langage que j'utilise au quotidien personnellement, avec d'autres, Java ne saurait résoudre tous les problèmes), et l'autre dit que profiter d'un projet de développement pour apprendre n'est pas honnête, parce que ce n'est pas pour ça que le projet est financé.

    Donc aucun rapport entre les deux, mais un débat très intéressant en perspective sur l'intérêt/la possibilité d'apprendre sur le tas en développant. Comme ça a déjà été dit dans les commentaires, il est illusoire de penser que l'on ne passera pas une seule seconde à apprendre au cours d'un projet, et que tout nous est déjà connu avant. Même quelqu'un qui fait du Java depuis 10 ans continue à apprendre, ne serait-ce que parce que les langages évoluent, et évoluent rapidement.

    Prendre 50% du temps d'un projet de développement pour se former est très certainement discutable, mais penser que 100% de ce temps sera utilisé à coder est illusoire. Dans le cas contraire c'est que le développeur se contente de ses acquis, ce qui est je pense bien plus mauvais que de passer un peu de temps régulièrement à se mettre à jour.

  17. #17
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut
    Citation Envoyé par Mouke Voir le message
    En excluant HTML/CSS, il est possible aujourd'hui de faire une app web en javascript de à A à Z : frontend avec jQuery, backend avec node.js, db avec MongoDB.

    Plutôt me recycler dans la fabrication de fromage.

  18. #18
    Expert éminent
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    2 161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2007
    Messages : 2 161
    Points : 7 952
    Points
    7 952
    Par défaut
    L'une des choses que je préfère en info est que ça bouge tout le temps à tous les niveaux.
    Il y a constamment de nouvelles API, nouveaux framework, langages, etc, etc, etc
    L'innovation est constante et partout
    Et pas uniquement dans la pure technique mais aussi dans les usages et le métier.

    Je ne suis pas spécialement vieux, enfin je crois lol, et lorsque j'ai débuté, le tactile se limitait aux bornes et on ne parlait absolument pas de la mobilité et encore moins du social.
    Aujourd'hui, impossible de faire sans
    Bref, faut constamment s'adapter

    Si on ne se forme pas à l'occasion d'un projet, à quel moment peut on le faire ?
    C'est en grande partie aux entreprises de former leurs salariés et je n'ai jamais rencontré d'entreprises qui investissent en formation au niveau auquel avance les innovations du monde info

  19. #19
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2009
    Messages
    1 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 030
    Points : 4 203
    Points
    4 203
    Par défaut
    Evidemment je suis en total désaccord avec cet article qui ne fait que rappeler certains aspects qui me répugnent dans le développement informatique (et qui m'ont poussé à la démission).

    Ok, un projet a sa part de "business" et nous sommes en effet des ressources. Seulement, contrairement au plombier, on bosse en équipe. On a une hiérarchie avec qui discuter et des collègues pour s'entraider et contrôler la qualité de la prestation.
    On n'est pas forcément là JUSTE pour faire le job, avec un truc possiblement bancal qui va plus ou moins bien marcher, agacer les utilisateurs, possiblement réduire la productivité si la techno n'est pas adaptée et qui sera un cauchemar à maintenir.

    Bref, si ce mec là était mon chef de projet, je programmerais toujours en COBOL, parce que ça fonctionne. Quid ensuite de la maintenance et de "l'évolutivité" ? Une fois que tout le monde sera à la retraite, je leur souhaite bien du plaisir.
    Enfin bon, c'est un écueil chez les "séniors". Dès qu'il s'agit de changer une habitude bien ancrée et d'apprendre, c'est dur. C'est pour ça qu'on préfère des jeunes, plus malléables.

    Le monde évolue, les technologies évoluent, les tendances évoluent, les supports évoluent, les formations évoluent,...

    Java est certes une technologie mature, sur beaucoup de supports. Mais il faut rappeler que ses problèmes de sécurités font débat, son aspect usine à gaz aussi. Il peut être contre-productif de créer une architecture J2EE inadaptée pour une solution qui serait bien plus performante, simple (en matière de code/architecture), fiable et maintenable avec du simple Javascript/TypeScript + Node.js (ou du Dart pour les gens comme moi qui n'aiment pas JS) , passant par des WebSockets par exemple. En plus ça coûterait beaucoup plus cher.
    Bref, il est important d'au moins "connaître" plusieurs technologies pour avoir des marges de manoeuvre pour répondre de manière plus pertinente au besoin.

    La richesse dans le développement, quand tu y es autorisé, c'est de pouvoir prendre des décisions et faire des propositions pertinentes, en tant que personne sur le terrain, pour le bien-être de l'entreprise et ses clients. Ce n'est pas à un commercial de dire "on prend ça parce qu'on a fait comme ça avant et qu'on a des partenariats avec tel fournisseur".
    La dernière fois où c'est arrivé, on remplaçait une équipe qui venait de se faire virer, sur un projet au développement cauchemardesque, aux performances cauchemardesques, où l'on était tributaire des bugs du fournisseurs des outils de développement (IBM), avec des clients mécontents d'office,... La compétence de la précédente équipe n'était pas en cause...C'est les choix techniques "sûrs".
    Je me demande ce qu'il en est advenu...

  20. #20
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 47
    Points : 116
    Points
    116
    Par défaut
    Bonjour,

    pour ma part, j'ai quelques langages de programmation à mon actif: Progress, PL/SQL, PHP, Java. Chacun avec plusieurs années d'expérience. Ce que je remarque c'est que sans une pratique régulière d'un langage, il s'émousse et il faut un temps pour reprendre ses marques et retrouver une fluidité et donc une productivité correcte. Cependant, connaître plusieurs langages permet d'avoir une sorte de culture générale et permet d'envisager des solutions auxquelles on n'aurait pas forcément songé.

    Dernier point: pour faciliter la gestion d'un SI et surtout être sûr de disposer de gens compétents, il vaut mieux éviter d'avoir N langages présents dans son SI et surtout éviter les langages "exotiques" maîtrisés seulement par quelques experts. Cela ne signifie par pour autant qu'il ne faut avoir qu'un seul langage, chaque langage a souvent un domaine de prédilection. Ce qu'il faut c'est savoir mettre en oeuvre le bon langage pour le bon besoin, tout en tenant compte des diverses contraintes présentes (performances, maintenabilité, interfaces...)

Discussions similaires

  1. Apprendre un langage de programmation moderne
    Par aegal dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 22/02/2006, 14h15
  2. Créer un jeu avec plusieurs langages
    Par spidouille dans le forum Pascal
    Réponses: 6
    Dernier message: 04/10/2005, 14h07
  3. Peut on apprendre 2 langage en même temps ?
    Par tantto dans le forum C++
    Réponses: 4
    Dernier message: 13/03/2005, 19h35
  4. Apprendre un langage de programmation ?
    Par Invité dans le forum Débuter
    Réponses: 5
    Dernier message: 08/02/2005, 22h16
  5. Apprendre un langage Objet
    Par samyl dans le forum Débuter
    Réponses: 6
    Dernier message: 23/06/2003, 11h42

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