JavaRush /Blog Java /Random-FR /Pause café #55. 4 conseils pour trouver une communauté de...

Pause café #55. 4 conseils pour trouver une communauté de développeurs. 5 compétences inattendues qu'un programmeur débutant doit maîtriser

Publié dans le groupe Random-FR

4 conseils pour trouver une communauté de développeurs

Source : Honeypot L'un des facteurs qui aident les développeurs dans leur développement professionnel est la communauté à laquelle ils appartiennent. Si vous n'avez pas encore trouvé le vôtre, ne vous inquiétez pas ! Dans cet article, je vais vous expliquer comment procéder. Les humains ne sont pas censés être seuls. C’est grâce à la capacité de coopérer pour atteindre un objectif commun que l’humanité a réalisé des progrès. Un bon exemple d’une telle collaboration est la communauté des développeurs. Contrairement à d’autres secteurs professionnels, les développeurs interagissent très souvent les uns avec les autres et une grande partie de leur vie est en quelque sorte liée aux communautés qu’ils créent autour d’eux. Si vous êtes développeur mais que vous n'avez pas encore trouvé votre communauté, ne désespérez pas. Vous pouvez rejoindre l’un d’entre eux à tout moment de votre carrière.Pause café #55.  4 conseils pour trouver une communauté de développeurs.  5 compétences inattendues qu'un programmeur débutant doit maîtriser - 1

1. Découvrez ce dont vous avez besoin

Avant de vous lancer dans les abysses en ligne pour trouver votre communauté de développeurs, vous devez déterminer exactement ce dont vous avez besoin et ce que vous recherchez. Chaque étape du parcours professionnel d'un développeur a ses propres intérêts et différences. Si vous apprenez Java, il est peu probable que vous trouviez les informations que vous recherchez dans la communauté Python, et vice versa.

2. Recherchez les communautés locales

Jessica, membre de l'équipe de programmation d'Ember, vit à Berlin. Heureusement pour elle, la ville offre de nombreuses opportunités de réseauter avec d'autres promoteurs locaux. « J’ai eu beaucoup d’expérience dans les réunions de groupes professionnels et j’ai longtemps fait partie de l’Open Technology School, ce qui permet aux gens d’en apprendre davantage sur la technologie. La jeune fille a participé à des séminaires et à des groupes mixtes et a trouvé cela très utile pour un débutant. « J’ai été soutenu par d’autres étudiants et j’ai bénéficié d’un mentorat gratuit. On pourrait dire que cela m’a donné un sentiment de responsabilité, m’a aidé à venir régulièrement aux réunions et m’a encouragé à étudier par moi-même. Pour trouver votre communauté locale, Jessica suggère de rechercher sur Google. Si vous vivez dans une grande ville, vous n'aurez probablement aucun problème à trouver des communautés de codage locales à rejoindre. Cependant, il se peut que certains de ces groupes sur les réseaux sociaux ne soient plus actifs ou n'y aient pas posté de messages depuis longtemps. Dans ces situations, n'hésitez pas à demander directement s'il se passe autre chose dans la communauté. Montrer de l’intérêt est toujours apprécié.

3. Trouvez une communauté en ligne

Il y a de nombreux avantages à rencontrer d’autres développeurs en personne. Mais si votre accès aux communautés locales est limité, vous êtes presque assuré de trouver une alternative en ligne. Vous travaillez peut-être déjà avec divers frameworks ou technologies qui ont leurs propres communautés dédiées sur Discord ou Slack. Cela convient aussi bien pour aider au travail que pour trouver l'inspiration pour de nouveaux projets, idées et même pour participer à des projets ouverts.

Voici quelques endroits pour trouver votre communauté en ligne

dev.to . Selon leurs propres termes, « l'industrie du logiciel s'appuie sur la collaboration et l'apprentissage en réseau », et dev.to offre un espace permettant aux développeurs de se rencontrer et de s'entraider, qu'il s'agisse d'aspects techniques du codage, de conseils de carrière ou d'un soutien et d'une motivation généraux. #développeurs sur Slack . Vous devrez répondre à quelques questions pour accéder à cette chaîne, mais une fois connecté, vous obtiendrez toute l'assistance et les conseils dont vous avez besoin :) Hashnode . Écrivez un article sur n'importe quel sujet de programmation de votre choix et interagissez avec la communauté au sens large. C'est un excellent moyen de rester en contact avec d'autres développeurs. Les femmes qui codent . C'est un lieu de soutien pour les femmes dans le secteur de la technologie, où elles trouveront des ressources de programmation et un espace ouvert pour partager des idées. Reddit . Il existe de nombreux sous-reddits pour chaque niche de codage ; Découvrez quelques-uns des plus actifs : r/programming , r/java , r/python , r/javascript , r/reactjs et r/cscareerquestions . Cercles de développeurs sur Facebook . L'objectif principal ici est de créer des communautés organisées localement où les développeurs peuvent « obtenir des outils gratuits pour développer de nouvelles compétences, de nouvelles idées et faire progresser leur carrière ». Retrouvez votre communauté sur Facebook, toutes les discussions sont actuellement en ligne.

4. Trouvez une communauté open source

Participer à une communauté open source peut être une partie importante de votre développement professionnel. Être un membre actif de la communauté open source signifie non seulement contribuer, mais également assister à des événements et à des conférences, rencontrer d'autres personnes, trouver des mentors et créer des réseaux. En plus des compétences acquises dans la communauté open source (tant techniques que non techniques), la participation à celle-ci donne un sentiment d'appartenance aux programmeurs en dehors du travail quotidien. Il existe un sentiment unique dans la communauté open source de travailler sur quelque chose de grand et, à bien des égards, ce travail constitue une contribution significative. Vous vous demandez par où commencer ? Pensez aux projets open source que vous aimez et commencez par là - cela peut être aussi simple que de trouver et de corriger une faute de frappe dans le code. Il est seulement important de commencer quelque part.

Conclusion

Le niveau de soutien et d'incitations au développement personnel qu'un développeur reçoit dans la communauté professionnelle est extrêmement élevé. Heureusement, l'accès aux communautés de développeurs est partout, qu'il s'agisse d'un groupe de médias sociaux local ou d'une vaste ressource en ligne dédiée à un langage de programmation. L'essentiel est de trouver ce qui vous convient.

5 compétences inattendues qu'un programmeur débutant doit maîtriser

Source : Codeburst Mon chemin pour devenir développeur autodidacte a été long et difficile. Parfois, en me souvenant de tous les obstacles et déceptions que j'ai rencontrés, je me demande si cela valait la peine de commencer ainsi. Et maintenant je peux dire que ça valait le coup. Pour les gens comme moi, qui sont partis de zéro, la courbe d’apprentissage a été très abrupte. Mais je suis convaincu qu’à long terme, les bénéfices l’emporteront sur les efforts nécessaires pour conquérir cette montagne. Bien entendu, cela ne s’applique que si vous appréciez ce que vous apprenez. Il m'a fallu plusieurs années pour comprendre qu'un bon développeur doit être capable de faire plus que simplement écrire du code rapidement et facilement. De nombreux débutants ne réalisent pas que l’acquisition de compétences en développement nécessite plus que la simple capacité d’écrire et d’exécuter un programme. Voici donc cinq compétences supplémentaires en plus du codage dont tout développeur en herbe aura certainement besoin !Pause café #55.  4 conseils pour trouver une communauté de développeurs.  5 compétences inattendues qu'un programmeur débutant doit maîtriser - 2

1. Utilisez des outils de collaboration

De nombreuses plates-formes de programmation à votre rythme populaires se concentrent sur la syntaxe du langage et les structures de données. Certains permettent aux étudiants de créer des projets de base à partir de zéro. Disons un simple jeu ou une application de liste de tâches. Ces leçons sont inestimables pour débuter avec les compétences en programmation, mais elles ne simulent pas l’environnement de travail réel que vous rencontrerez à l’avenir. Les développeurs travaillent ensemble sur de grands projets et parfois un développeur peut travailler sur plusieurs bases de code en même temps. Le travail d'équipe implique souvent l'utilisation d'outils tels que Google Spreadsheets ou Invision. Les équipes de développement disposent de leur propre ensemble standard d’outils de collaboration. Mon entreprise, comme des dizaines de milliers d’autres entreprises aux États-Unis, utilise GitHub. Je n'oublierai jamais le jour où mes collègues m'ont présenté GitHub. Ils m'ont d'abord dit d'ouvrir le terminal sur mon ordinateur (je ne savais pas que j'avais quelque chose comme ça sur mon ordinateur). Puis mes collègues ont commencé à taper du charabia dans cette mystérieuse fenêtre de mon écran. Ce charabia s'est avéré avoir des effets magiques, comme remplir plusieurs dossiers de mon ordinateur avec toutes sortes de fichiers remplis de code. Ensuite, ils ont parlé de « branches » et de « peluches », de quelque chose de « éloigné ». Et il semblait que littéralement tous les mots commençaient par le préfixe « git ». Je savais qu’ils parlaient anglais, mais le sens de leurs mots ne m’était pas clair. Si vous êtes un débutant qui n'a jamais codé avec d'autres développeurs auparavant, vous devrez apprendre le langage et les outils de collaboration. Cela peut sembler compliqué, surtout si vous n'avez jamais ouvert l'invite de commande. Mais avec le temps, cela deviendra une habitude.

2. Journalisation et gestion des erreurs

Disons que vous avez déjà appris à collaborer avec d'autres programmeurs et que votre code est envoyé en production. Lorsque quelque chose que vous avez écrit est utilisé par des milliers, voire des millions d'utilisateurs, c'est un sentiment vraiment excitant. Mais une fois arrivé à ce stade, vous apprendrez à vos dépens que des erreurs inattendues dans le code se produisent tout le temps. Par exemple, la variable que vous avez créée n'a jamais reçu de valeur. Vous appelez maintenant une méthode avec une valeur nulle et votre programme ne sait pas quoi en faire. Une erreur se produit et l'utilisateur n'a plus accès à cette superbe page que vous avez créée. Lorsque vous testez le programme, tout semble correct, vous ne remarquerez peut-être même pas le problème. Cette erreur particulière peut ne se produire que 5 % du temps, mais pour 5 % des 100 000 utilisateurs, elle est significative. Vous devez apprendre à journaliser, gérer et anticiper les erreurs dans votre code : ce sont des compétences absolument essentielles pour un développeur. Oui, la capacité d’anticiper les problèmes est un instinct qui se développe avec le temps et l’expérience. Mais il est important pour un débutant de se rappeler que les erreurs font presque partie intégrante du développement. Savoir comment protéger votre code à l'aide de différents types de journalisation des erreurs peut vous éviter bien des maux de tête à l'avenir, en particulier lorsque vous êtes chargé du débogage. Cela peut également aider à identifier des problèmes dont vous ignoriez même l’existence. Aujourd'hui, nous avons accès à divers outils de journalisation des bogues qui facilitent le suivi des vulnérabilités dans une base de code. L'un de mes favoris est Sentry, qui vous permet de voir quand un problème est survenu pour la première fois et à quelle fréquence il se produit. Il convient également de mentionner Logentries, Rollbar et Instabug. Il existe des programmes qui surveillent les données et les problèmes à l'échelle du système, tels que New Relic et Datadog. Vous rencontrerez probablement une combinaison de ces programmes au cours de votre carrière de développement, et cela vaut la peine d'apprendre à les utiliser.

3. Couverture des tests

Comme je l'ai déjà dit, perfectionner vos compétences en programmation ne se limite pas à écrire du code. Vous devez vous assurer que votre code est compréhensible pour les autres développeurs, et lorsque quelqu'un l'ouvrira deux ans plus tard, cette personne devrait être en mesure de le reprendre rapidement et de commencer à apporter des modifications. La logique que vous écrivez doit être compréhensible et réutilisable pour les années à venir. Mais parfois, votre logique sera complexe et ne pourra pas être simplifiée. Peut-être en raison de la complexité de la logique métier. Peut-être par manque de temps. La réalité est que les délais vous obligeront parfois à prendre des décisions techniques loin d’être idéales. Et vous ne pourrez pas toujours définir clairement tous les cas d’utilisation avant de commencer à travailler. Une façon de protéger votre code consiste à écrire des tests pour accompagner les modifications. La plupart des langages de programmation disposent de packages de tests supplémentaires que vous pouvez installer. Par exemple, pour Ruby, nous utilisons Rspec, et pour React, nous utilisons souvent Jasmine. Il existe différents types de tests, notamment les tests unitaires (pour tester de petits éléments logiques) et les tests d'intégration (pour les tests de flux de bout en bout). Très souvent, pour que votre code soit soumis à la base de code commune, il doit réussir l'intégralité de la suite de tests. Une fois que vous avez appris à les écrire, vous ajoutez des « sécurités » qui empêchent les modifications futures d'écraser accidentellement les fonctions que vous avez écrites. La couverture des tests aide également à définir le comportement attendu puisque de nombreux cas de test sont rédigés dans un anglais simple. Je ne peux pas vous dire combien de fois je suis allé dans un fichier écrit il y a plusieurs années, j'ai apporté une modification et j'ai découvert que cela provoquait l'échec d'une douzaine de tests, même si je pensais avoir une bonne compréhension du comportement attendu. . Une fois, j'ai même cassé une fonctionnalité que j'avais écrite moi-même il y a quelques mois. Heureusement, mes tests unitaires l'ont immédiatement révélé. En parcourant les pull request, je remarque que les développeurs ne prêtent souvent pas suffisamment attention à la couverture des tests, et cela s'applique aussi bien aux modifications simples que complexes. J'en suis également coupable, surtout lorsque les délais sont serrés. Mais je peux penser à plusieurs projets dans lesquels des changements apportés à un endroit ont entraîné des pannes à quatre autres endroits. Cela a augmenté notre niveau de stress et nous a ajouté plus de travail, même si nous étions déjà pressés de respecter les délais. De telles situations auraient pu être évitées si nous avions pris le temps d'écrire les tests unitaires à temps. Apprendre à les écrire peut être une tâche fastidieuse, en particulier pour un nouveau développeur, et leur écriture ralentit définitivement le processus de développement global. Mais plus tôt vous commencerez à rédiger des tests, moins vous et votre équipe aurez de problèmes à l'avenir.

4. Révision des codes

Ce point est lié au tout premier : celui de travailler ensemble sur des bases de code. Souvent, le processus de modification de la base de code ressemble à ceci. Vous écrivez du code localement. Pour le pousser vers la branche principale de votre base de code, vous créez une pull request (un résumé visuel de vos modifications) et d'autres développeurs de votre équipe examinent votre code avant de donner le feu vert à la fusion. Différentes équipes ont des exigences différentes pour l'approbation d'une pull request, mais en général, vous devez vous attendre à ce que vos modifications soient définitivement examinées et mises en œuvre par quelqu'un. Il convient de noter que vous soumettrez non seulement votre code pour révision, mais que vous examinerez également celui de quelqu'un d'autre. Apprendre à lire le code des autres est une compétence importante pour un développeur et doit être développée tout au long de votre carrière. Quand j'ai commencé et qu'on m'a demandé d'examiner les demandes d'extraction d'autres personnes, je ne comprenais pas très bien quoi rechercher. Au début, je pensais que je devrais rechercher des bugs. Quelques années ont passé et je considère désormais les révisions de code davantage comme un contrôle de cohérence que comme une enquête approfondie. En fin de compte, c'est le développeur qui a envoyé la pull request qui est responsable de réviser son code, d'ajouter les tests nécessaires et de contribuer en toute sécurité à la base de données commune. Ce n'est pas le travail de l'examinateur d'identifier les problèmes cachés. De nos jours, lorsque j'examine le code, je vérifie la lisibilité (par exemple, ces noms de variables et de méthodes sont-ils descriptifs), l'organisation et la structure (si le code peut être mieux organisé afin qu'il soit plus clair pour quelqu'un qui le voit pour la première fois) . Bien entendu, plus vous vous familiariserez avec la base de code, plus il vous sera facile d’identifier les problèmes potentiels. Mais vous pouvez commencer à acquérir des compétences en révision de code même en tant que débutant. Entre autres choses, c’est aussi un bon moyen de se familiariser avec les modèles de code utilisés par vos collègues plus expérimentés.

5. Recherche Google appropriée

Aucun développeur ne sait tout sur la programmation, son langage de programmation ou même sa base de code. Auparavant, j'étais sûr que tout le monde sauf moi pouvait immédiatement comprendre quelles méthodes, requêtes et stratégies devaient être utilisées dans tel ou tel cas. Mais plus je rencontrais de personnes, plus je réalisais à quelle fréquence les développeurs recherchent sur Google des réponses à leurs questions. Même les plus expérimentés ! Il y a trop de détails dans notre travail pour être gardés à l’esprit. Il m'est vite apparu que ce qu'on exigeait de moi n'était pas de tout savoir par cœur, mais d'apprendre à chercher correctement les réponses. Stackoverflow deviendra votre meilleur ami. Il y a de fortes chances que si vous êtes bloqué sur quelque chose, quelqu'un d'autre ait déjà été bloqué dessus. Lorsqu'il s'agit de résoudre un problème, essayez de comprendre exactement ce qui ne va pas, décrivez-le avec des mots et tapez ces mots dans un moteur de recherche. Être capable d’articuler les problèmes auxquels vous êtes confrontés vous aidera bien plus que la mémorisation.

Conclusion

Tôt ou tard dans votre parcours de développement logiciel, vous serez forcément déçu. Il n’y a pas d’échappatoire à cela. Mais plus vous utiliserez les outils et les stratégies conçus pour atténuer ces frustrations, plus votre carrière sera enrichissante. Gardez le cap et n'abandonnez pas.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION