7 points par GN⁺ 2023-12-21 | 1 commentaires | Partager sur WhatsApp

Conseils pour les développeurs logiciels débutants

  • Si les gens m’écoutent, ce n’est pas à cause de mon niveau en programmation, mais à cause de mes compétences en écriture. C’est aussi le cas des conseils des autres : on les écoute à cause de leur talent d’écriture.
  • Il existe très peu de recherches scientifiques sur le logiciel, et la plupart de leurs conclusions restent incertaines. Il faut donc accueillir avec un certain scepticisme les affirmations de « vérité objective » et réfléchir soigneusement à la manière de les appliquer à sa propre situation.
  • Ne vous inquiétez pas trop à l’idée d’apprendre des choses erronées ou de vous faire tromper ; si une idée vous plaît, je vous encourage à l’essayer. Tant que cela ne nuit pas à vos collègues, tout finira probablement par bien se passer.

Débogage : 9 règles

  • Je recommande de lire le livre « Débogage : 9 règles ». Vous pouvez l’emprunter à la bibliothèque ou demander à votre entreprise de l’acheter. Il enseigne simplement une compétence importante que presque aucun autre livre destiné aux programmeurs débutants n’aborde.

Découvrir la bonne méthode

  • Un jour, vous découvrirez ce qui vous semblera être la bonne manière de programmer, et vous serez convaincu que si tout le monde l’adoptait, le domaine s’en porterait bien mieux.
  • Je ne vais pas vous dire d’éviter complètement de vous laisser emporter par cette bonne méthode, mais je vous conseille d’être conscient que cela vous arrive, et de ne pas faire de cette méthode votre identité.
  • Vous finirez par apprendre que programmer reste un travail frustrant et désordonné, quelle que soit la bonne méthode adoptée, et qu’on peut aussi créer d’excellents logiciels sans elle.

L’histoire derrière les bonnes pratiques

  • Derrière chaque bonne pratique, il y a toujours une histoire d’horreur. Si vous ne comprenez pas une bonne pratique, il peut être utile de chercher l’histoire d’horreur qui l’a inspirée.
  • Beaucoup de bonnes pratiques et de conventions naissent d’un mélange de facteurs historiques et culturels. On suit souvent des méthodes utilisées par des mentors pour résoudre des problèmes qui ne sont plus forcément pertinents aujourd’hui.

Essayer différents types de programmation

  • Au début de votre carrière, si possible, je vous recommande d’essayer différents types de programmation. Cela ne veut pas dire changer de métier, et la plupart des entreprises pratiquent déjà plusieurs formes de programmation en parallèle.
  • En essayant différents types de programmation, vous n’apprendrez pas seulement davantage : vous augmenterez aussi vos chances de trouver le type de travail logiciel que vous aimez vraiment.

Les évolutions du secteur logiciel

  • Le secteur du logiciel continue d’évoluer, et je vous conseille de ne pas vous laisser happer par le treadmill des frameworks, mais de vous concentrer sur l’apprentissage des compétences fondamentales.
  • Il existe des raisons structurelles pour lesquelles l’information se propage rapidement dans le logiciel. Avec Internet, l’open source, les conférences, etc., les barrières au partage d’idées sont faibles.
  • Beaucoup de technologies n’ont qu’un petit nombre d’utilisateurs, mais la manière dont on en entend parler peut donner l’impression qu’elles seront largement adoptées. C’est pour cela qu’une approche prudente a du sens.

L’avis de GN⁺

  • L’idée la plus importante de ce texte est que le développement et la progression d’un développeur passent par l’apprentissage à partir de sa propre expérience. Les conseils des autres peuvent servir de repère, mais l’essentiel est de les adapter à sa situation.
  • Trouver la « bonne manière » de programmer est un parcours personnel, qui permet d’apprendre différentes approches et de développer la capacité à les combiner.
  • Comprendre les changements technologiques et adopter une approche rationnelle face aux nouvelles tendances est indispensable pour construire une carrière de développeur durable.

1 commentaires

 
GN⁺ 2023-12-21
Avis Hacker News
  • Résumé du premier commentaire :

    • Partage une expérience de collaboration avec deux développeurs sur un projet hobby.
    • Exprime sa frustration face à des exigences d’ingénierie excessives malgré la petite taille du projet.
    • Adopte un regard critique sur les développeurs qui s’accrochent à la « bonne méthode ».
    • Mentionne avoir eu une expérience similaire par le passé, avant de réaliser que ce qui compte vraiment, c’est un code qui fonctionne.
  • Résumé du deuxième commentaire :

    • Un professionnel du logiciel avec 15 ans d’expérience partage son vécu.
    • Estime que les leçons apprises lors d’une formation initiale au bouddhisme sont aussi utiles en développement logiciel.
    • Explique les enseignements tirés de son expérience de développeur et insiste sur l’importance de ne pas s’obséder uniquement sur la bonne méthode.
  • Résumé du troisième commentaire :

    • Soutient qu’apprendre des techniques comme le TDD (Test-Driven Development) est utile, même si elles ne sont pas toujours appliquées directement.
    • Souligne qu’apprendre différentes techniques et différents langages permet d’écrire un meilleur code.
  • Résumé du quatrième commentaire :

    • Souligne que l’obsession de la « bonne méthode » peut freiner la progression d’un développeur.
    • Suppose que cela peut venir d’un manque d’attention nécessaire pour élargir ses connaissances, ou d’un excès de confort dans sa situation actuelle.
  • Résumé du cinquième commentaire :

    • Conseille de minimiser toutes les formes d’état (state) : le code, les informations à retenir, les détails du projet, etc.
    • Affirme que réduire l’état aide à résoudre les problèmes.
  • Résumé du sixième commentaire :

    • Mentionne que de bonnes capacités rédactionnelles peuvent avoir plus d’impact sur les lecteurs qu’une expertise spécialisée.
    • Conseille d’essayer différents types de travail et d’apprendre à connaître d’autres fonctions au sein de l’entreprise.
  • Résumé du septième commentaire :

    • Insiste sur la nécessité d’adopter une attitude sceptique envers ce que l’on apprend sur des services de partage vidéo comme YouTube.
    • Rappelle que le développement logiciel sert à résoudre des problèmes, et conseille d’échanger avec d’autres personnes pour mieux comprendre les problèmes que le logiciel doit résoudre.
  • Résumé du huitième commentaire :

    • Recommande un livre sur le débogage, en indiquant qu’il aide à résoudre divers problèmes techniques.
    • Juge que le livre se lit facilement, est intéressant et fournit des techniques utiles.
  • Résumé du neuvième commentaire :

    • Souligne que l’écriture de code n’est pas une fin en soi, mais un moyen de résoudre un problème.
    • Conseille de se concentrer sur le problème que le code doit résoudre et, si ce n’est pas clair, d’arrêter d’écrire du code pour clarifier le problème.
  • Résumé du dixième commentaire :

    • Mentionne que de bonnes capacités rédactionnelles facilitent la communication avec les autres et sont importantes pour les développeurs logiciels.
    • Recommande aux développeurs débutants de mettre par écrit leurs expériences et leurs réflexions, car cela deviendra plus tard une compétence utile.