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

  1. #1
    Expert éminent sénior
    Avatar de Idelways
    Homme Profil pro
    Développeur Ruby on Rails / iOS
    Inscrit en
    juin 2010
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Ruby on Rails / iOS

    Informations forums :
    Inscription : juin 2010
    Messages : 1 374
    Points : 68 487
    Points
    68 487
    Par défaut Quel conseil donneriez-vous à un débutant en développement ? Et lequel auriez-vous aimé recevoir ?
    Quel conseil donneriez-vous à un débutant en développement ?
    Et lequel auriez-vous aimé recevoir quand vous avez commencé à programmer ?


    Le développement est un métier riche et passionnant, mais aussi dur et souvent difficile d'accès.

    S'il n'est pas correctement orienté lors de ses études par des enseignants passionnés ou s'il est autodidacte par un parrain compétent, le débutant peut vite se perdre, se lasser et changer de cap vers d'autres métiers de l'informatique, jugés moins « prise de tête ».

    Bryan Woods, un développeur américain a posté sur son blog quelques excellents conseils aux débutants. En fait, des conseils qu'il s'adresserait à lui même s'il pouvait remonter le temps.

    Le premier conseil qu'il donne, c'est de ne pas sous-estimer le développement et d'admettre une bonne fois pour toute que c'est un métier difficile, qui nécessite beaucoup d'efforts et de détermination afin d'être cerné et maîtrisé.

    Sans quoi, à la rencontre de chaque nouveau concept qui semble étrange, difficile ou non-intuitif, le débutant remettra en question son intelligence et sa capacité à cerner le domaine.

    "Pas grave, le développement c'est dur" est beaucoup moins négatif que "je suis nul" ou "le développement c'est pas mon truc".

    Le deuxième conseil que donne Woods est de bien choisir le premier langage à apprendre. Car ce choix est capital dans la mesure où il conditionne la base du développeur pour comprendre tous les autres langages.

    De même qu'on ne peut "avoir des pensées" que dans sa langue maternelle, il n'y a selon Woods aucune raison pour que ce ne soit pas le cas avec les langages informatiques.

    Un autre conseil : la meilleure manière d'apprendre le développement est de ... développer.

    Apprendre par la pratique permet de mémoriser rapidement les concepts du développement et les spécificités des langages. Ce qui permet d'apprendre à s'exprimer mieux et de plus en plus vite avec la machine.

    Sans pratique au quotidien, tout le reste est inutile.

    En revanche, ne pas être fort en math n'est, selon Woods pas un problème. Il admet avoir été surpris à ses débuts, de constater à quel point les math sont si peu présentes dans ses développements quotidiens.

    Finalement, il donne un dernier conseil aux débutants, peut-être le plus important : celui d'apprendre à apprécier l'apprentissage du développement, car ils ne finiront jamais d'apprendre.

    Et vous ? Quel conseil donneriez-vous à un débutant ?

    Et quel conseil auriez-vous aimé que l'on vous donne quand vous avez commencé à programmer ?

    Source : le Blog de Bryan Woods

    En collaboration avec Gordon Fowler

  2. #2
    Membre averti Avatar de Bryce de Mouriès
    Profil pro
    CPI
    Inscrit en
    mars 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : CPI

    Informations forums :
    Inscription : mars 2007
    Messages : 190
    Points : 357
    Points
    357
    Par défaut
    Inutile de réinventer la roue !
    Infinity - To The Top, shoot'em up développé en Haxe / OpenFL pour FLASH et Android, piou piou rythmé dans l'espace

  3. #3
    Membre confirmé Avatar de Leonhart
    Inscrit en
    mai 2009
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : mai 2009
    Messages : 262
    Points : 486
    Points
    486
    Par défaut
    • "La perfection est atteinte non pas quand il n'y a plus rien à rajouter, mais quand il n'y a plus rien à enlever'


    Autrement dit, toujours cherché à optimiser son code. Au début, c'est long et très difficile.
    Mais plus on pratique, plus cela devient automatique, et plus nos premiers algorithmes sont bons !
    "La Perfection est atteinte, non pas quand il n'y a plus rien à rajouter, mais quand il n'y a plus rien à enlever"

    Ingénieur junior développement Embarqué et Temps réel.
    >>>
    http://baptistegrand.info

  4. #4
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : septembre 2006
    Messages : 742
    Points : 1 073
    Points
    1 073
    Par défaut
    J'aurai dit exactement le contraire de Bryce

    Justement je lui conseillerai de ne pas vouloir aller trop vite et de bien comprendre les principes de base, tels que la syntaxe, l'algorithmique basique, la gestion des variables, la compilation...
    Combien j'ai vu de développeurs se lancer dans le développement d'applis J2EE sans être à l'aise avec les concepts objets ou même avec la syntaxe java ("ça veut dire quoi static? c'est quoi la différence entre une classe et une instance?")!

    Sans aller jusqu'à réinventer la roue, comprendre comment elle roule et ce qui la rend efficace, c'est quand même important!
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

  5. #5
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    août 2003
    Messages
    1 982
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : août 2003
    Messages : 1 982
    Points : 1 423
    Points
    1 423
    Par défaut
    Personnellement,

    Cela fait longtemps que je développe en tant que passionné bien que j'ai pu mettre en oeuvre ces compétences de manière professionnelle et je suis passé de VB6 à la plate forme .NET assez facilement.

    Après une pause de 2 ans je me remets dedans et là je tombe sur Silverlight, MVVM et WPF. Et je galère beaucoup car j'ai l'impression de ne plus rien comprendre à ces technologies.

    J'ai l'impression de revenir en arrière car il y a beaucoup de code à écrire avec ces technos.

    Les différentes aides qu'on trouve sur le net ne m'aide pas car ce sont bien souvent des morceaux de codes qui sont présentés et cela ne permet pas de créer une solution complète.....

    Tout ça pour dire que rien n'est jamais acquis dans ce domaine
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  6. #6
    Membre éclairé Avatar de seeme
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    430
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 430
    Points : 785
    Points
    785
    Par défaut
    Personnellement, je pense qu'il faut au contraire chercher à réinventer la roue. Ce n'est qu'une fois qu'on a compris comment ça fonctionne qu'on peut aller plus loin.

    Un conseil que j'essaye de suivre, est de ne JAMAIS copier/coller du code qui n'est pas de son cru, et de le retapper en entier. Exemple, pleins de gens autour de moi ne savent pas comment ouvrir un fichier en C, et se contente de copier/Coller à chaque fois...

    Ca aide à mémoriser et surtout à comprendre.

  7. #7
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : juin 2006
    Messages : 347
    Points : 514
    Points
    514
    Par défaut
    Simple et efficace : google est ton ami (et il sait tout!)
    Signature à venir...
    Ancienne : Divers NTIC (PHP, Dojo, à venir...) : http://tif44.fr/blog/

  8. #8
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    En revanche, ne pas être fort en math n'est, selon Woods pas un problème. Il admet avoir été surpris à ses débuts, de constater à quel point les math sont si peu présentes dans ses développements quotidiens.
    ça je trouve que ça dépend du développement à réaliser. J'ai bossé sur la géolocalisation sur Android et faut quand même avoir quelques bases

    Autre conseil : Prendre tout de suite les bons réflexes et les normes de développement car après c'est dur de les changer
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  9. #9
    Membre averti Avatar de Fooshi
    Homme Profil pro
    ICD
    Inscrit en
    juin 2002
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ICD
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2002
    Messages : 500
    Points : 340
    Points
    340
    Par défaut
    Ce qui est important en tout cas c'est de ne pas commencer trop dur car on ne pourra jamais comprendre tous les principes d'un seul coup. Pour un développeur débutant le mieux c'est de commencer a faire des applis an Basic, Visual Basic, VBA pour commencer a comprendre les principes de la programmation puis de s'attaquer au C/C++, Java pour mieux comprendre les principes de pointeurs, gestion de la mémoire, évènements etc ... en tous cas c'est comme ca que j'ai commencé et ca a plutôt bien marché.
    Et puis il faut toujours développer et encore développer, des projets perso par exemple sur différentes techno ca rapportent toujours sur un CV !
    Et puis ne pas baisser les bras, on peut être bloqué pendant plusieurs jours sur un problème mais lorsque ca marche quel bonheur !

  10. #10
    Membre éclairé Avatar de Code62
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Conseil

    Informations forums :
    Inscription : novembre 2008
    Messages : 162
    Points : 896
    Points
    896
    Par défaut
    Mon premier "conseil" porte sur le fait qu'en général on passe beaucoup plus de temps à relire du code (le sien ou celui des autres) qu'à l'écrire, et qu'il est donc capital de l'écrire proprement (aération; nommage explicite des variables, fonctions, ...; commentaires pertinents aux endroits appropriés; ...)
    "Le premier venu peut écrire du code qu'un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre."
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    (Martin Fowler)

  11. #11
    Membre du Club
    Inscrit en
    janvier 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 50
    Points : 67
    Points
    67
    Par défaut
    Reste humble et intéresses toi, on finit toujours pas trouver son maitre

  12. #12
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    septembre 2008
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : septembre 2008
    Messages : 2 268
    Points : 4 527
    Points
    4 527
    Par défaut
    Salut,

    Citation Envoyé par Idelways Voir le message
    Quel conseil donneriez-vous à un débutant ?

    Citation Envoyé par Idelways Voir le message

    Apprendre par la pratique permet de mémoriser rapidement les concepts du développement et les spécificités des langages.
    J'ajoute aussi que la lecture (doc, blog, article, livre...) est la base de tout en informatique.

    Aussi, une inscription sur un forum d'entraide comme DVP.com a sa valeur ajoutée

  13. #13
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    4 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 4 303
    Points : 17 834
    Points
    17 834
    Par défaut
    De même qu'on ne peut "avoir des pensées" que dans sa langue maternelle, il n'y a selon Woods aucune raison pour que ce ne soit pas le cas avec les langages informatiques.
    Faux et archi-faux, et pour les 2 termes de l'analogie.

    J'ai des amis bilingues, selon le lieu où ils se trouvent ils "se parlent à eux-même" dans la langue environnante au bout d'un certain temps.

    Quand au langage de dev, j'ai appris avec du procédural, et lorsque j'ai découvert l'objet j'ai tout de suite switché, et s'il me reste de mauvais réflexes venant du procédural je raisonne globalement objet face à un problème. Il ne s'agit pas de lancer un troll procédural vs objet, je parle dans un contexte d'informatique de gestion.
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  14. #14
    Membre à l'essai
    Étudiant
    Inscrit en
    août 2010
    Messages
    9
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : août 2010
    Messages : 9
    Points : 13
    Points
    13
    Par défaut
    En premier conseil je me dirais de commencer par un langage pas trop bas niveau mais qui ne cache pas le fonctionnement interne, tel que C++, qui permet à la fois d'apprendre la programmation fonctionnelle et de passer petit à petit à l'objet et/ou autres joyeusetés, avant de se lancer dans un langage qui intègre certaines features plus en profondeur (comme Java pour l'objet).

    En second conseil, et en y réfléchissant c'est sûrement le plus important des deux, je dirais que le développement est un cycle infini: laborieux (apprentissage d'un paradigme/d'une techno), intéressant (s'amuser avec), passionnant (développer), puis il faut repartir au début (nouvelle techno/nouveau paradigme à apprendre) et ainsi de suite.

  15. #15
    Membre éclairé Avatar de seeme
    Profil pro
    Inscrit en
    octobre 2005
    Messages
    430
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : octobre 2005
    Messages : 430
    Points : 785
    Points
    785
    Par défaut
    Citation Envoyé par Blum Blum Shub Voir le message
    En premier conseil je me dirais de commencer par un langage pas trop bas niveau mais qui ne cache pas le fonctionnement interne, tel que C++, qui permet à la fois d'apprendre la programmation fonctionnelle et de passer petit à petit à l'objet et/ou autres joyeusetés, avant de se lancer dans un langage qui intègre certaines features plus en profondeur (comme Java pour l'objet).

    En second conseil, et en y réfléchissant c'est sûrement le plus important des deux, je dirais que le développement est un cycle infini: laborieux (apprentissage d'un paradigme/d'une techno), intéressant (s'amuser avec), passionnant (développer), puis il faut repartir au début (nouvelle techno/nouveau paradigme à apprendre) et ainsi de suite.
    Je pense que C++ serait le dernier langage que je conseillerais (aller y a peut-être l'ASM aussi ^^ ). Dire à un débutant de se lancer avec cpp, c'est lui garantir une balle dans le pied...

    Je pense qu'il faut se concentrer sur un langage qui permette de se concentrer sur l'algorithmique qui doit toujours être le plus important..

    Et d'ici à ce qu'un débutant se sente limité par python/VB/Basic quelconque.. Il y a de la marge...

  16. #16
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : mars 2004
    Messages : 624
    Points : 635
    Points
    635
    Par défaut
    Pour ma part, je lui conseillerais les bases de la vie :
    - prendre le temps,
    - réfléchir,
    - ne pas se décourager (mais faire une pause parfois pour s'aérer les idées),
    - patience,
    - ne jamais croire quelque chose d'acquis, l'info c'est comme la vie c'est un cycle sans fin mais jamais vraiment pareil,
    - tous les enseignements de la vie (même le sport) peut servir à débloquer un problème,
    - ne pas se comparer aux autres (le gars à côté va plus vite, je suis meilleur...), être humble en fait.

    Aucun langage est mieux que d'autre.

    Ca fait un peu vieux-papy mes conseils mais c'est l'enseignement que j'en retire.

  17. #17
    Membre habitué
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mars 2002
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : mars 2002
    Messages : 237
    Points : 197
    Points
    197
    Par défaut
    La pratique!
    La pratique!
    La pratique!

    En cas de problème, ne pas baissez les bras.
    --> Prendre une pause et allez faire un tour sur les forums de développez.net

    Mettre des commentaires.

    Comprendre certains design patterns ça aide aussi beaucoup.
    Je veux dire par là que j'ai beaucoup plus appris en "organisant / structurant" mon code qu'en m'intéressant uniquement au langage en lui-même (sa syntaxe).

    C'est bien de savoir la syntaxe du langage mais si on connaît pas la logique de ce que l'on veux faire, ça n'aide pas beaucoup.

    sinon encore la pratique, la pratique et la pratique!

  18. #18
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    septembre 2005
    Messages
    4 949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2005
    Messages : 4 949
    Points : 8 460
    Points
    8 460
    Par défaut
    Quant je pense que mon premier langage était le LSD (?), une sorte de basic avec numéro de ligne en français... Et comme c'était un peu le bordel pour développer (chaque caractère du programme bouffait un octet et on avait 8 ko chacun pour travailler)(ben oui, 8192 octets, 8192 lettres ou chiffre ou espace, variables inclues), le deuxième a très vite été l'assembleur.

    Je ne suis pas sur que le premier langage soit aussi important que cela, il y a des familles de langages et passer de l'un à l'autre, dans la famille, reste simple.

    Quant au conseils, en plus de ceux du début sur lesquels je suis relativement d'accord, j'ajouterais :
    • être psychorigide dans sont développement et dans ces normes, sur le coup, c'est chiant, deux ans plus tard, quant on ré intervient en urgence, on béni le travail trop strict.
    • tester, et tester encore, y compris ce qui a déjà été validé la semaine d'avant. Avec un programme qui automatise. Et encore tester. Rien de pire qu'une régression dans un programme.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    septembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2007
    Messages : 12
    Points : 30
    Points
    30
    Par défaut
    Il est encore temps de faire demi tour !!

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    février 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 16
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Idelways Voir le message
    En revanche, ne pas être fort en math n'est, selon Woods pas un problème. Il admet avoir été surpris à ses débuts, de constater à quel point les math sont si peu présentes dans ses développements quotidiens.
    100% d'accord !

    J'étais nul en maths au lycée. Quand je disais que je voulais faire de l'info m'a prof me racontait qu'il fallait être bon en maths. Archi faux ! A part savoir compter et avoir de la logique (càd penser comme une machine), on a largement pas besoin du programme de bac S pour faire du développement. Sauf cas spécifique comme le traitement du signal... mais c'est loin d'être la majorité et c'est un choix pas une obligation.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/10/2012, 16h56
  2. Réponses: 62
    Dernier message: 03/10/2012, 00h35
  3. Réponses: 0
    Dernier message: 20/05/2012, 22h26
  4. Réponses: 53
    Dernier message: 05/09/2011, 06h06

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