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

Discussion :

Tout le monde ne peut pas devenir développeur

  1. #81
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 346
    Points : 18 958
    Points
    18 958
    Par défaut
    Salut à tous.

    Citation Envoyé par Saverok
    Entre 28k et 30k brut annuel, j'ai eu le choix entre une dizaine de propositions d'emplois et j'ai pu choisir celle qui me convenait le mieux et ce fut en SSII
    Quand j'ai débuté, on parlait encore en francs, et mon premier salaire mensuel était d'environ 9800Fr.
    Les salaires ont littéralement explosés par la suite avec des exagérations.

    30k d'€, c'est environ 200.000 Fr. Oui, c'est le salaire annuel d'un débutant bac+5.

    Pour mon premier emploi, j'ai écrit 5 courriers et j'ai eu 2 propositions définitives. Les 2 dans les SSII. Les 3 autres c'était des banques.

    Citation Envoyé par Saverok
    Moi même, je suis en formation continue depuis 10 ans et tjrs au frais de mes employeurs
    Tu as de la chance. Enfin, c'est peut-être le lot quotidien dans le monde du web.

    Quand on se retrouvait en inter-contrat, c'est durant cette courte période que l'on faisait aussi de l'auto-formation.
    Ca existe encore les inter-contrat ?

    Citation Envoyé par Saverok
    Bref, tu l'auras compris, je ne suis pas en accord avec ton post
    Etre d'accord ou pas, cela ne veut rien dire. Et que fais-tu de l'expérience ?
    Crois-tu que tous les intervenants de ce sujet, ont tous suivi le même parcours professionnel ?
    Et bien non. Mais cela est enrichissant de s'exprimer sur notre vision du monde informatique.

    Dire que c'est faux revient à nier l'expérience d'autrui.

    Citation Envoyé par Saverok
    De manière générale, même en dehors de l'informatique, les entreprises dépensent énormément dans la formation de leurs employés.
    Parce que c'est obligatoire maintenant ! Avant non.

    [quote="tomlev"]Je sais pas dans quelle SSII tu as bossé... C'est exactement le contraire de ce que j'ai observé.[quote]
    Je viens du monde du gros système, et je n'ai jamais travaillé dans le monde du web. Et aujourd'hui je suis à la retraite.

    Citation Envoyé par tomlev
    Dans une SSII, on embauche des jeunes diplômés qu'on paie au lance-pierre.
    Tout dépend de ce que tu appelles "au lance-pierre".
    A une époque, pour attirer les jeunes ingénieurs, ils étaient payés plus chers que ceux qui avaient 2 ans d'expériences.
    Dans ce contexte là, un débutant était payés environ 20.000 Fr par mois (3k d'€), et à l'époque, c'était énorme.

    Citation Envoyé par tomlev
    Quand ils ont suffisamment d'expérience pour ne plus être considérés comme débutants, on les retire du dev et ils deviennent manager, architecte ou avant-vente...
    On ne se retrouve pas dans le même contexte.
    Un développeur dans le monde du gros système et dans les SSII reste très longtemps à ce poste. Pourquoi ?

    Car un développeur (en gros système) n'est pas considéré comme de la main d'oeuvre hautement qualifié.
    Je trouve cela complètement stupide mais c'est ainsi, enfin à mon époque, car depuis cela a certainement changé.

    Citation Envoyé par tomlev
    Au final, il n'y pas (ou très peu) de développeurs expérimentés en SSII.
    C'est le principe de Peter ! Il ne faut pas s'étonner si cette fonction est mal considéré.

    Citation Envoyé par tomlev
    Et pourtant... c'est de loin en entreprise que j'ai appris le plus de choses.
    Moi aussi, mais en auto-formation.
    Durant toute ma vie professionnel, j'ai dû avoir au total, environ deux mois de formation, surtout en début de carrière.
    Mais le pire dans ces formations, c'est que je n'en avais pas besoin.
    C'est le client qui demandait une mise à niveau pour obtenir la mission.

    Citation Envoyé par tomlev
    Pendant ma formation (école d'ingénieur), je n'ai pas acquis beaucoup de connaissances concrètes directement utilisables en entreprise ;
    C'est exactement le contraire. En sortant de mon école d'ingénieur, j'étais tout de suite opérationnel.
    Au préalable, et dans le cadre de mes études, j'ai fait un an de stage.

    Citation Envoyé par tomlev
    par contre, j'ai appris à apprendre, ce qui m'a permis d'être rapidement opérationnel en entreprise, après une période d'apprentissage.
    Moi aussi, j'ai appris à m'adapter à tous les changements que j'ai connu.
    Potasser le soir à la maison pour connaitre Merise, par exemple, quand cela devenait indispensable dans les entreprises dans les années 90.
    Idem quand je suis devenu administrateur DB2. Achat de livres (quand il y en avait de disponible), puis beaucoup d'exercices.
    Je ne sais pas pour toi, mais j'ai eu plusieurs cahiers où je marquais toutes les astuces que je rencontrais dans mes différentes missions
    Et cela ma beaucoup servie. Et oui, il y avait une époque (donc avant 1995) où l'internet n'existait pas et la connaissance se trouvait dans les bouquins.

    Citation Envoyé par tomlev
    Toi non plus on dirait, ou alors on a pas travaillé dans les mêmes...
    J'ai fait toute ma carrière en SSII, gros système, d'abord en BULL puis en IBM.
    --> machine IBM Z/OS sous MVS TSO/IPSF ; Cobol ; JCL ; DB2 ; CICS
    --> ingénieur d'étude dans le domaine bancaire.
    --> chef de projet aussi dans le domaine bancaire.
    --> Puis enfin administrateur DB2 dans l'exploitation.

    Citation Envoyé par tomlev
    Si c'était vrai, ce serait le problème de l’œuf et de la poule...
    A un moment donné, c'était comme ça.
    Les époques passent et tout change. Il y a surtout un fait, on ne se rappelle pas ou peu de ce qui s'est passé avant.

    Citation Envoyé par tomlev
    Tu ne peux pas te faire embaucher si tu n'as pas l'expérience, mais tu ne peux pas avoir l'expérience parce que tu ne peux pas te faire embaucher
    C'est le paradoxe français ! Mais il y a pire.
    Dans les SSII que j'ai fréquenté, on n'embauchait que des gens venant des grandes écoles. Des universitaire, j'en ai très peu rencontré.

    Le monde du gros système n'a rien à voir avec le monde du web.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  2. #82
    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 056
    Points
    32 056
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    (.../...)Donc oui, tout le monde ne peut pas faire de la programmation car cela demande une tournure d'esprit que beaucoup de postulants n'ont pas.(.../...)
    ça

    La tournure d'esprit en question, c'est de soumettre son esprit à l'idée que la machine n'infère rien, ne devine rien, et que si elle ne fait pas ce qu'on veut, c'est parce qu'on lui a mal demandé. C'est le strict minimum pour être capable d'aligner un algorithme simple, genre fizzbuzz, en un temps raisonnable. Et ça, ça ne s'apprend pas, ou peu. C'est une manière de penser. Qui peut parfois poser problème en relations interpersonnelles, d'ailleurs, mais qui est critique pour débugguer son programme. Car non, ce n'est pas la faute de la machine. C'est la mienne, misérable vermisseau que je suis, j'ai oublié de reporter la fonction qui va bien sur la branche de prod, c'est pour ça que ça plante(ma dernière connerie en date, et j'en ai quelques autres depuis hier matin).

    Après, ça aide beaucoup d'être capable de réfléchir à deux niveaux d'abstraction simultanée. Parce qu'un programme hors de son contexte, ça ne sert à rien. Donc penser le programme dans son contexte. Penser le pointeur et la donnée sur laquelle il pointe. Penser la fonction récursive à la fois comme appelant et comme appelé. On peut faire sans, mais on est quand même beaucoup plus performant avec, même si on ne se sert jamais de la récursion ou des pointeurs. C'est une capacité beaucoup plus qu'une compétence, j'en ai peur.

    Une fois qu'on a ça, c'est effectivement une question d'investissement personnel pour atteindre un haut niveau. De motivation, de rigueur, de curiosité, toutes choses décidables. Mais il y a quand même un premier tri sur deux choses difficiles à apprendre. Celui qui n'a pas la première ne pourra jamais coder, celui qui n'a pas la deuxième sera limité dans ce qu'il pourra faire efficacement.
    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. #83
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par Cincinnatus Voir le message

    En distinguant donc les compétences et les connaissances, non, tout le monde ne peut pas devenir développeur.
    En restant à un haut niveau :
    • il faut pouvoir raisonner dans l'abstrait, faire preuve de logique. La programmation objet n'est pas innée : j'ai vu des dévs Cobol, très bons dans leur domaine, bloquer sur les concepts objets.
    • il faut pouvoir traduire les demandes des clients / utilisateurs en fonctionnalités concrètes.
    • il faut savoir se remettre en question en permanence.
    • une bonne capacité à communiquer est généralement requise

    J'avais hésité à ajouter : de la diplomatie...
    Il en faut quand on vous sort une demande qui traînait depuis des mois avec un délai intenable

  4. #84
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    ça

    Après, ça aide beaucoup d'être capable de réfléchir à deux niveaux d'abstraction simultanée. Parce qu'un programme hors de son contexte, ça ne sert à rien. Donc penser le programme dans son contexte. Penser le pointeur et la donnée sur laquelle il pointe. Penser la fonction récursive à la fois comme appelant et comme appelé. On peut faire sans, mais on est quand même beaucoup plus performant avec, même si on ne se sert jamais de la récursion ou des pointeurs. C'est une capacité beaucoup plus qu'une compétence, j'en ai peur.
    Steve Mc Connell avait décrit dans son ouvrage "Tout sur le Code" (Code Complete http://www.cc2e.com/Default.aspx) qu'un développeur devait avoir différents points de vue. Par analogie avec un bâtiment, cela allait de la vision d'ensemble de l'architecte à celle de l'électricien ou du menuisier qui doit savoir quelles vis utiliser.
    On peut ajouter un zeste d'urbaniste pour intégrer les applications dans le système d'informations.

  5. #85
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    ça

    La tournure d'esprit en question, c'est de soumettre son esprit à l'idée que la machine n'infère rien, ne devine rien, et que si elle ne fait pas ce qu'on veut, c'est parce qu'on lui a mal demandé. C'est le strict minimum pour être capable d'aligner un algorithme simple, genre fizzbuzz, en un temps raisonnable. Et ça, ça ne s'apprend pas, ou peu.
    Ce genre de questions (FizzBuzz) est utile imo lors de recrutements, j'ai récemment eu une question beaucoup plus tordue ("Prenez votre temps, ya pas de pièges").
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int i = 8;
    i <<= 2;
    if(i=1) {
       printf("error\n");
    }
    else {
       printf("8/4 = %d\n", i);
    }
    Quel est le résultat ?
    a) Compile pas
    b) "error"
    c) "8/4 = 2"
    d) "8/4 = 32"
    C'est le genre de piège relativement inefficace pour trier des devs imo : sur papier c'est une question de voir le "=" au lieu du "==", sur machine c'est une affaire de configurer son compilo pour avoir un warning.

  6. #86
    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 056
    Points
    32 056
    Par défaut
    Citation Envoyé par Cincinnatus Voir le message
    J'avais hésité à ajouter : de la diplomatie...
    Il en faut quand on vous sort une demande qui traînait depuis des mois avec un délai intenable
    Ouais. Mais ça s'apprend, ça. Ça fait des années que je n'ai plus raccroché de téléphone au nez. Donc on peut progresser sur ce domaine. Donc on peut être un grand professionnel, sans, au départ, avoir ça dans sa besace.

    Tu répondais aussi à "j'ai vu des dévs Cobol, très bons dans leur domaine, bloquer sur les concepts objets.". Présent. J'en ai chié sur ce tutoriel. Mais j'ai insisté. J'avais pris un truc tout con(en gros, un getter de base, un setter de base), et j'ai essayé de comprendre. Je suis resté deux jour devant ces 12 misérables lignes, à les voir marcher, et à ne pas comprendre. Puis, au matin du troisième jour, Dieu a mis le soleil dans le ciel. Et j'ai pigé. J'ai traduit ça en mes propres mots : "une classe, c'est une structure de données, avec en plus le code qui agit sur ces données. Comme un niveau 88 sous stéroïdes. Qui permet même de mettre un vrai code à la place d'une valeur en dur"(pour ceux qui ont la flemme de suivre le lien, un niveau 88 en COBOL, c'est comme une énum, mais en mieux, parceque ça gère les plages de données, voire les chevauchements. Mais on ne peux pas mettre de vrai code dedans, donc c'est quand même limité. J'adorais. Mais je comprends aujourd'hui pourquoi il n'y a pas d'équivalents dans les langages objets : pour les trucs compliqués, on se farcit directement une classe, et on garde les enums pour les cas simplistes).

    Après, soudain, j'ai compris tous les tutoriels que je feuilletais depuis des années et que je ne pigeais pas. Je comprenais la différence entre "instance" et "classe". La classe, c'est juste le code informatique qui s'applique au paquet de données en mémoire que l'on appelle "instance". Avec définition de données ET Code d'utilisation des données(les propriétés et méthodes). J'ai compris tous les exemples pourris qui font des héritages partout(putain, c'est vraiment le truc qui me bloquait dans la compréhension, ça, l'héritage. Une fois qu'on l'a sorti de l'équation, on peut comprendre, et une fois qu'on a compris, on peut remettre dans l'équation. Un héritage, c'est juste une COPY(nos include à nous) qui contiendrait une autre COPY).

    Je pense que les tutoriels objets qu'on trouve un peu partout sont catastrophiques pour les gens qui ont un profil initial cobol. Ça part dans tous les sens en disant "c'est bien, mangez-en", mais ça tombe complètement à plat pour des gens qui ont déjà des outils très puissants à leur disposition. Qui ne comprennent pas ce que ça peut leur apporter. D'ailleurs, dans certains cas, c'est à proscrire. Mais dans d'autres, c'est hyper-puissant. Bon, la couche objet de COBOL est une horreur, ça n'aide pas.

    Mais un tutorial objet efficace pour des cobolistes, ça serait "tiens, on va refaire un niveau 88. Mais en mieux. Avec carrément du code pour décider si oui ou non ton booléen est vrai ou faux". Et surtout pas ces trucs de bisounounours "ah, alors on a une classe animal, dont hérite l'objet chat" qui vont directement braquer les cobolistes qui auront l'impression - à juste titre - qu'on les prend pour des cons.

    le tuto VB6 que j'ai utilisé était beaucoup plus adapté, parcequ'il ne s'encombrait pas de polymorphisme et autre concept intéressant, mais très à même d'obscurcir l'esprit. Mais il ne suffisait pas quand même en première lecture. J'ai du m'arracher, me dire que non, je n'étais pas si stupide, et que je pouvais comprendre. Et ça a fini par payer. Donc ce qu'on dit les autres(il faut vouloir pour réussir) est vrai. Mais pas suffisant. Il faut une leçon adaptée. Et je suis sur que ceux qui disent "les cobolistes ne peuvent pas apprendre l'objet" n'en avaient pas - parce qu'ils ne savent pas se mettre à leur place. Je peux, moi, puisque je suis passé par là. Je sais ce qui me reste à faire.
    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.

  7. #87
    Membre éprouvé
    Avatar de Aooka
    Homme Profil pro
    Scripting Powershell & Wlangage
    Inscrit en
    Juillet 2015
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Scripting Powershell & Wlangage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 225
    Points : 1 093
    Points
    1 093
    Par défaut
    Moi qui débute mes études dans le développement je peux assurer qu'il faut de la curiosité (la recherche sur le net est prépondérante), un esprit d'innovation (afin de créer un produit nouveau par exemple), de synthèse (ne pas partir dans des délires comme en philosophie par exemple), logique (1=1), de la réflexion (mathématique ou algorithmique), et une certaine patience (un programme ne marchera jamais du premier coup et ne sera jamais optimisé à 100%).

  8. #88
    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
    Citation Envoyé par Martin Lestas Voir le message
    Moi qui débute mes études dans le développement je peux assurer qu'il faut de la curiosité (la recherche sur le net est prépondérante), un esprit d'innovation (afin de créer un produit nouveau par exemple), de synthèse (ne pas partir dans des délires comme en philosophie par exemple), logique (1=1), de la réflexion (mathématique ou algorithmique), et une certaine patience (un programme ne marchera jamais du premier coup et ne sera jamais optimisé à 100%).
    si tu peut sortir un programme optimisé à 100% mais le temps que tu vas passer dessus serait plus utile à du débogage ou l'ajout de fonctionnalités
    Rien, je n'ai plus rien de pertinent à ajouter

  9. #89
    Membre éprouvé
    Avatar de Aooka
    Homme Profil pro
    Scripting Powershell & Wlangage
    Inscrit en
    Juillet 2015
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Scripting Powershell & Wlangage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 225
    Points : 1 093
    Points
    1 093
    Par défaut
    Citation Envoyé par TiranusKBX Voir le message
    si tu peut sortir un programme optimisé à 100% mais le temps que tu vas passer dessus serait plus utile à du débogage ou l'ajout de fonctionnalités
    Salut,

    Tu distingue débogage et optimisation ?
    Pour moi c'est plus ou moins la même chose : on débogue en enlevant des bog et donc ont optimise (bon d'accord optimiser c'est la conséquence du débogage si tu veux, peut-être un terme plus global).

  10. #90
    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
    Citation Envoyé par Martin Lestas Voir le message
    Salut,

    Tu distingue débogage et optimisation ?
    Pour moi c'est la même chose : on débogue en enlevant des bog et donc ont optimise (bon d'accord optimiser c'est la conséquence du débogage si tu veux, peut-être un terme plus global).
    Pour moi :
    • optimiser c'est écrire le code de manière à ce qu'il offre le maximum de performance
    • le débogage c'est la chasse aux erreurs et leur correction

    après c'est une question de point de vue mais mes définitions doivent être les plus communément admises
    Rien, je n'ai plus rien de pertinent à ajouter

  11. #91
    Membre éprouvé
    Avatar de landry161
    Homme Profil pro
    C#,PHP,MySQL,Android...
    Inscrit en
    Juillet 2010
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : C#,PHP,MySQL,Android...

    Informations forums :
    Inscription : Juillet 2010
    Messages : 423
    Points : 1 059
    Points
    1 059
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par saigone Voir le message

    Certaines personnes choisissent une carrière de développeur parce qu’ils ont vu d’autres personnes le faire ou parce qu’ils ont entendu dire que les entreprises recrutent beaucoup de développeurs ces temps-ci ou encore qu’il y a des emplois pour tout le monde dans la programmation oubliant que le monde de la programmation n’est pas une manufacture.
    Tout à fait

  12. #92
    Expert confirmé Avatar de AoCannaille
    Inscrit en
    Juin 2009
    Messages
    1 412
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1 412
    Points : 4 729
    Points
    4 729
    Par défaut
    Citation Envoyé par Martin Lestas Voir le message
    Salut,

    Tu distingue débogage et optimisation ?
    Un bogue, c'est une limitation fonctionnelle de ton programme : il ne fait pas ce qu'il devrait, ça doit être corrigé.

    une optimisation c'est une amélioration non fonctionnelle : Sans l'optimisation, ton programme est utilisable et exploitable. L'optimisation consistant en général à améliorer le temps d’exécution ou l'espace RAM/disque utilisée par ton application, sans régression fonctionnelle.

    Sans contrainte de performance temps ou mémoire, en générale, on est pas tenu de livrer un logiciel "optimisé", par contre, s'il y a des bogues, on sera tenu de les corriger dans les termes de la garantie.


    Bientôt 5 ans d’expérience, toujours pas vu d'optimisation demandée par le client

  13. #93
    Membre habitué
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2006
    Messages : 49
    Points : 167
    Points
    167
    Par défaut
    Développeur/codeur est un métier qui demande de l'humilité. C'est la principale qualité d'un développeur qui continue a coder après 20 ans de métier.
    Car, quelque soit les bons arguments qu'on peut avoir, si le code que l'on à produit refuse de se compiler ou de s'exécuter, alors le développeur à mal codé et aucun argument verbaux ou menace ne convaincra le compilateur de changer le résultat de la compilation.

    J'ignore si c'est votre définition d'un bon développeur. Pour moi, un bon développeur est humble et respecte la machine. Je pense que le reste peut s'apprendre avec le temps.

  14. #94
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par el_slapper Voir le message
    Ouais. Mais ça s'apprend, ça. Ça fait des années que je n'ai plus raccroché de téléphone au nez. Donc on peut progresser sur ce domaine. Donc on peut être un grand professionnel, sans, au départ, avoir ça dans sa besace.

    Tu répondais aussi à "j'ai vu des dévs Cobol, très bons dans leur domaine, bloquer sur les concepts objets.". Présent. J'en ai chié sur ce tutoriel. Mais j'ai insisté. J'avais pris un truc tout con(en gros, un getter de base, un setter de base), et j'ai essayé de comprendre. Je suis resté deux jour devant ces 12 misérables lignes, à les voir marcher, et à ne pas comprendre. Puis, au matin du troisième jour, Dieu a mis le soleil dans le ciel. Et j'ai pigé. J'ai traduit ça en mes propres mots : "une classe, c'est une structure de données, avec en plus le code qui agit sur ces données. Comme un niveau 88 sous stéroïdes. Qui permet même de mettre un vrai code à la place d'une valeur en dur"(pour ceux qui ont la flemme de suivre le lien, un niveau 88 en COBOL, c'est comme une énum, mais en mieux, parceque ça gère les plages de données, voire les chevauchements. Mais on ne peux pas mettre de vrai code dedans, donc c'est quand même limité. J'adorais. Mais je comprends aujourd'hui pourquoi il n'y a pas d'équivalents dans les langages objets : pour les trucs compliqués, on se farcit directement une classe, et on garde les enums pour les cas simplistes).
    Je dirais plutôt que le sens de la diplomatie, ça s'acquière. Bon, perso, je ne me souviens pas avoir raccroché au nez d'un interlocuteur (au boulot, hein, pas d'un téléopérateur infoutu de se présenter).

    Quant à l'objet, j'ai commencé avec TP6 (Turbo Pascal 6 pour les non-connaisseurs) qui introduisait certains éléments de ce type de programmation en sus de la programmation structurée "habituelle". ça fait un bail, je n'étais pas encore développeur professionnel. Depuis je suis passé à C++, Python et principalement Java.

    Quand j'évoquais les dévs Cobol, ça n'avait rien de péjoratif, c'était juste pour montrer que même des pointures dans un domaine peuvent avoir du mal à passer à quelque chose de conceptuellement différent.

    Globalement, la plupart des connaissances et des comportements peuvent s'acquérir, en dév comme ailleurs. Par contre, il faut certaines tournures d'esprit à la base, qui ont été citées plus haut.

  15. #95
    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
    Citation Envoyé par AoCannaille Voir le message
    Bientôt 5 ans d’expérience, toujours pas vu d'optimisation demandée par le client
    Malheureusement moi si une fois mais en même temps il on fait tournée une app proche d'un CRM en faisant passer la base de contacts de 10000 max prévus à 72000 et plus en asynchrone sur des iPads avec un serveur
    Un beau bordel
    j'ai juste pourris mon collègue qui avait pondue cette bouse
    Rien, je n'ai plus rien de pertinent à ajouter

  16. #96
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par Martin Lestas Voir le message
    on débogue en enlevant des bog et donc ont optimise
    tu peux débugger simplement pour rendre ton programme fonctionnel, à ce stade l'optimisation n'a pas encore lieu d'être
    accessoirement on peut débugger uniquement pour vouloir exploiter le bug aussi...

  17. #97
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 261
    Points : 7 748
    Points
    7 748
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Martin Lestas Voir le message
    Salut,

    Tu distingue débogage et optimisation ?
    Pour moi c'est plus ou moins la même chose : on débogue en enlevant des bog et donc ont optimise (bon d'accord optimiser c'est la conséquence du débogage si tu veux, peut-être un terme plus global).
    Un caillou de plus sur le tas de pierre, même si on va généralement tous dans la même direction : un bogue est quelque chose qui ne va pas, et qui ne doit donc pas être là, a contrario d'une optimisation qui vise à améliorer ce qui marche déjà correctement. Selon le contexte, une propriété pourra être considérée comme un bogue, alors que dans d'autres ça ne le sera pas, et donc l'améliorer sera considéré comme une optimisation plutôt qu'une correction. Par exemple, si parser un gros fichier prends 5s, pour un système critique qui doit répondre à des contraintes de temps réel imposant un parsing de moins de 3s c'est un bogue, et donc si ce n'est pas corrigé ça peut faire foirer le projet. À l'inverse, pour un particulier qui fait du simple traitement de texte ça peut être tout à fait acceptable, et donc mieux vaut avoir l'outil qui prend 5s que ne rien avoir du tout, auquel cas diminuer le temps de parsing à 3s est de l'ordre de l'optimisation.

    C'est probablement parce qu'on se focalise sur la tâche en question plutôt que sur sa raison qu'on fait l'amalgame entre débogage et optimisation : la différence ne se fait pas sur ce que tu change, mais sur pourquoi tu le change. Si c'est parce que sans ça tu ne réponds pas au cahier des charges, alors c'est un bogue, si ce n'est qu'une préférence, alors c'est de l'optimisation.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  18. #98
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Martin Lestas Voir le message
    ne pas partir dans des délires comme en philosophie par exemple
    ce qui n'est absolument pas le cas de ce topic...

  19. #99
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 261
    Points : 7 748
    Points
    7 748
    Billets dans le blog
    3
    Par défaut
    Même si un peu de philosophie de temps en temps ne fait pas de mal non plus. {^_^}
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  20. #100
    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
    Citation Envoyé par AoCannaille Voir le message
    Bientôt 5 ans d’expérience, toujours pas vu d'optimisation demandée par le client
    Dans le web, c'est très courant.
    Rien que sur des projets d'optimisation SEO, le coeur du sujet est justement l'optimisation.
    Cela peut passer par la structure des pages mais aussi sur les temps de chargement et là, on est dans la technique pure.

    Il y a également l'optimisation des traitements due à la croissance de la plateforme qui peut être très rapide.
    Des flux initialement développés avec une estimation de charge qui ne correspond plus à la réalité et assez souvent, augmenter la puissance brute de l'infrastructure n'est pas suffisant. Une refonte du flux peut s'avérer nécessaire.

Discussions similaires

  1. Réponses: 48
    Dernier message: 28/05/2018, 18h08
  2. Réponses: 58
    Dernier message: 10/08/2010, 16h18
  3. Réponses: 2
    Dernier message: 16/03/2008, 17h26
  4. Base en réseau pas disponible pour tout le monde
    Par Boubas1 dans le forum Sécurité
    Réponses: 1
    Dernier message: 26/06/2007, 21h50

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