Fermer

février 19, 2021

Construire votre propre programme d'apprentissage personnel


À propos de l’auteur

Kirsty est une ancienne journaliste, ancienne responsable des soumissions qui en est maintenant à sa troisième carrière en tant que développeur. Elle se spécialise dans la création d'applications mobiles à l'aide de React Native.
En savoir plus sur
Kirsty

En tant que développeurs, nous apprenons constamment de nouveaux langages et frameworks. Mais comment structurer cet apprentissage pour assurer un bénéfice maximal tout en progressant? Voici comment vous pouvez concevoir votre propre programme pour continuer à avancer dans la bonne direction.

Après avoir terminé un bootcamp en mars 2019, j'ai été submergé par le choix de cadres, de bibliothèques, de langues et de cours que je devais choisir pour continuer à être indépendant apprenant et j'espère me marquer l'un de ces emplois insaisissables de développeur junior. Presque tous ceux à qui j'ai parlé avaient une opinion différente sur ce qui était important et méritait d'être poursuivi, mais la plupart d'entre eux étaient d'accord pour dire qu'apprendre «les principes fondamentaux» était important, sans jamais vraiment préciser ce qu'ils étaient.

Même après avoir obtenu mon premier emploi de développeur en dernier l'été, il est rapidement devenu évident que je devais faire des apprentissages parascolaires réguliers pour répondre aux exigences de ce nouveau rôle. J'ai volé entre les cours d'Udemy pendant un certain temps, et pendant que j'apprenais, je me suis souvent retrouvé à faire des copies de l'instructeur sans développer des compétences en résolution de problèmes par moi-même. Il m'a fallu faire mon propre petit projet parallèle de bloc-notes pour vraiment saisir le nouveau matériau. Alors maintenant, je savais quel était mon style d'apprentissage: une première exposition à des idées dans un cours ou au travail, créer une esquisse d'un projet pour solidifier des concepts, puis utiliser ce nouvel apprentissage dans mon travail quotidien si je le pouvais.

nous avons une idée solide (bien que durement acquise) de la façon dont nous apprenons le mieux à court terme, mais comment cela se traduit-il dans la structure de l'apprentissage parascolaire à long terme? Je vais vous dire comment j'ai résolu ce problème par moi-même. Ces stratégies fonctionneront à travers le spectre de l'expérience, que vous soyez novice dans le développement de logiciels ou que vous soyez un ingénieur chevronné.

Your Own Personal Curriculum

C'est ma méthode pour créer un programme d'apprentissage . En tant que personne ayant peu de temps et ayant tendance à être prise par la brise de l'impulsivité au détriment d'un travail soutenu et concentré, j'ai trouvé cette méthode la plus compatible avec mon cerveau et mes rythmes généraux. Votre kilométrage, bien sûr, peut varier.

Utilisez les spécifications du rôle «Job de rêve» pour définir des objectifs

J'ai trouvé cette étape très utile pour étouffer tout le bruit ambiant et me concentrer sur des choses qui seront pratiquement utiles à ma carrière dans les cinq prochaines années environ. (En tant que développeur front-end, je me suis souvent retrouvé à avoir les yeux rivés sur l'apprentissage de Rust. Bien que fascinant, ce n'est pas exactement une priorité.)

Vous ne voudrez peut-être pas travailler vous-même dans une grande entreprise de technologie, mais il vaut la peine de regarder ce qu'ils priorisent lors de l'embauche car, pour le meilleur ou pour le pire, les grandes entreprises ont tendance à donner le ton à l'industrie dans son ensemble. J'ai une petite liste de courses d'entreprises non perverses Je voudrais finir un jour et elles partagent toutes globalement les mêmes priorités: HTML / CSS sémantique, excellentes compétences JS vanille, accessibilité et un cadre populaire. Un jour, je vais apprendre Rust, mais, pour l'instant, travailler sur ces compétences est ma priorité absolue.

 Graphique montrant comment les spécifications de poste peuvent se traduire en objectifs d'apprentissage
Cela vaut la peine de consulter les sites d'emploi et d'étudier les exigences des entreprises recherchent lors de l'embauche de développeurs. ( Grand aperçu )

J'ai tendance à préférer En effet Guardian Jobs et LinkedIn pour obtenir un large éventail d'emplois qui sont sur le marché, mais tout aussi utile est Twitter (il suffit de rechercher [company name you are interested in] et «jobs»), et de garder un œil périodique sur la page «Carrières» de vos quelques entreprises préférées tous les deux mois. Jessica Rose, qui tweete comme @jesslynnrose écrit fréquemment de longs fils Twitter d'offres d'emploi dans des «entreprises non perverses» qui ne sont parfois pas très bien diffusées ailleurs.

Une fois que vous en avez rassemblé quelques-uns les spécifications de travail, essayez de repérer les points communs entre eux et notez-les. Nous les utiliserons pour la prochaine étape.

Identifiez les opportunités pour développer les compétences que vous voulez

Vous vous souvenez de la liste que j'ai mentionnée? Divisez-le en deux colonnes. Première colonne: les choses sur lesquelles vous pouvez travailler dans votre travail quotidien. Colonne deux: ce que vous devez examiner à votre rythme.

Apprentissage au travail

Les éléments de votre liste qui sont couverts par votre travail de jour sont ceux dont vous devez le moins vous soucier. Quoi qu'il en soit, vos compétences dans ces domaines s'amélioreront avec le temps. Certains d'entre vous travailleront dans d'énormes organisations dotées de nombreux développeurs avec différents niveaux d'ancienneté et de spécialisation, et je vous conseille de tirer cela pour tout ce que cela vaut, pour le dire franchement.

Si l'accessibilité est un manque de connaissances du vôtre que vous aimeriez améliorer, essayez de ravaler vos nerfs et approchez-vous de quelqu'un sur votre lieu de travail qui possède ces compétences pour discuter / prendre un café Zoom. Essayez de vous associer avec eux sachant que vous pouvez «coupler» des éléments qui ne posent pas de problèmes de codage. Discutez avec eux pour savoir où ils trouvent leurs informations, quels comptes Twitter, blogs et podcasts ils suivent et comment ils restent eux-mêmes informés des nouveaux développements.

Apprentissage à domicile

En tant que personne avec deux carrières antérieures, dont aucune n'était liée à l'informatique, qui sont entrées dans l'industrie via un bootcamp de neuf semaines il y a un an, j'ai une compréhension rudimentaire de l'informatique, et beaucoup d'entre vous sont probablement dans la même situation.

J'ai trouvé Frontend Masters une valeur inestimable lorsqu'il s'agit de cours vraiment bien conçus sur les principes de l'informatique et un apprentissage plus spécifique. Personnellement, j’ai trouvé que les cours de Will Sentance sur Frontend Masters étaient utiles pour comprendre le comment et le pourquoi en matière de JavaScript vanille. De même, les cours «Quatre semestres d'informatique en 5 heures» de Brian Holt exposent les étudiants au genre de concepts qui peuvent surgir dans les entretiens techniques.

Il y a un abonnement mensuel pour les Frontend Masters, et il cela en vaut la peine, mais il existe de nombreuses ressources gratuites merveilleuses . Je recommande vivement à quiconque ne l’a pas encore fait de s’inscrire au CS50 . Le cours, organisé par l'Université de Harvard, est une merveilleuse ressource gratuite, qui vous exposera à C, Python, JavaScript et des modules sur l'éthique et les structures de données de base. Les conférences sont très amusantes, et vous pouvez faire autant ou aussi peu du cours que vous le souhaitez, sans contrainte de temps.

 Des étudiants sur scène lors d'un cours de programmation CS50 à Harvard
CS50 est une merveilleuse ressource gratuite enseignant une introduction approfondie à l'informatique et à l'art de la programmation. ( Grand aperçu )

De même, FreeCodeCamp a bien mérité son statut de point de départ clé pour les développeurs autodidactes et ceux qui souhaitent bâtir sur leurs compétences existantes, et je vous encourage à rechercher des cours correspondant à vos intérêts sur Udemy (je vous suggère de ne pas acheter un cours Udemy qui ne fait pas de gros rabais. Leurs ventes reviennent une fois tous les

Un de mes préférés est The Complete Node.js Developer Course par Andrew Mead et j'adore Colt Steele les cours de (il y en a un particulièrement bon sur les algorithmes et les structures de données qui vous aideront si jamais vous vous trouvez du côté le plus lourd en algorithmes du spectre des interviews techniques). Smashing Magazine organise également de fréquents ateliers en ligne sur une gamme de sujets qui vous aideront à améliorer vos compétences.

Comme vous le savez peut-être, les compétences qui permettent aux gens de trouver des emplois en technologie peuvent souvent diverger des compétences des gens. besoin d'utiliser sur le tas. Ces cours vous apprendront les bases de l'informatique tout en vous permettant de passer des entretiens, et vous aideront à combler les silences potentiellement écrasants avec des sommations rapides de différentes structures de données, ainsi que leurs avantages et inconvénients. Il ne s'agit pas de suivre tous ces cours, mais de identifier et combiner ceux qui correspondent aux spécifications d'emploi que vous avez ciblées.

J'ai trouvé que Twitter était extrêmement utile pour trouver des personnes pour discuter des problèmes de code. Le printemps dernier, j'ai crié dans le vide à propos d'un problème que j'avais avec Android Studio et j'ai été surpris de participer à un appel vidéo avec un développeur Android moins de dix minutes plus tard, et non seulement cela, il a semblé ravi de vous aider!

Ne sous-estimez pas la gentillesse de la communauté des développeurs et n’hésitez pas à lui demander de l’aide lorsque vous en avez besoin, et faites de votre mieux pour vous mettre dans des situations où vous pouvez parler aux personnes d’un monde similaire à vous dans le contexte plus large de l'industrie technologique. Le hashtag #CodeNewbie est très pratique à utiliser si vous avez besoin d'aide.

Fixez des objectifs et des horaires

Il est maintenant temps de lier vos objectifs d'apprentissage autodirigé à certains objectifs . Essayez de ne pas placer la barre trop haut – s'il n'est pas réaliste pour vous de suivre un cours Udemy en une semaine, n'essayez pas de vous pousser à le faire si fort que vous atteindrez l'objectif au détriment d'autres choses importantes dans votre vie. ou ne pas atteindre l'objectif et vous faire sentir comme un échec. L'idée est de vous garder sur la bonne voie en appliquant une légère pression pour rester motivé, mais pas au point de vous sentir dépassé et de perdre toute motivation.

En tant que matin, je me sens mieux à même de me concentrer sur étudier dans les heures précédant le début de mon travail de jour à 9h30. Dans cet esprit, et en utilisant le merveilleux outil de suivi du temps, Toggl je passe de 7 heures à 9 heures deux matins par semaine à étudier le code. Utiliser Toggl était extrêmement important pour moi car, peu importe ce que je fais, j'ai souvent l'impression que ce n'est pas suffisant. Mais avec l'aide de Toggl, je pouvais voir avec certitude que je faisais un minimum de quatre heures par semaine (avec un supplément le soir et le week-end si j'en avais envie) et je me sentais mieux en mesure de m'éloigner de mon ordinateur portable et reposez-vous quand mon temps était écoulé, en sachant que j'avais accumulé un nombre d'heures acceptable selon mes propres critères.

Make Progress Measureable

Pensez à votre emploi du temps hebdomadaire moyen et essayez de ] bloquez un certain temps dans la journée où vous avez les meilleures chances d'obtenir une concentration ininterrompue. Certains d'entre vous seront des soignants ou seront extrêmement occupés, et il vaudra probablement mieux que vous preniez votre temps au fur et à mesure que vous pourrez l'obtenir.

Si cela vous aide à voir un exemple, mes objectifs personnels sont les suivants :

  • Terminez un cours Node.js Udemy avant la fin du mois de février.
  • Faites 30 minutes de programme d'exécution avant le travail tous les jours.

Essayez de faire preuve de prudence pour votre premier ensemble d'objectifs. Vous pouvez toujours augmenter la pression si vous le souhaitez, mais il vaut mieux le faire une fois que vous en avez réussi quelques-uns; assurez-vous d'avoir suffisamment d'espace mental et physique pour vraiment vous concentrer sur ce que vous devez faire pour rester sur la bonne voie.

Trouvez un mentor, ou un copain, ou les deux!

Le mentorat est quelque chose que la plupart des développeurs recommanderaient pour améliorer leurs compétences, mais, d'après mon expérience personnelle, trouver quelqu'un avec le temps de vous guider est un défi, surtout maintenant. Il existe des ressources telles que Coding Coach qui peuvent vous aider, et je connais quelques développeurs qui ont trouvé le mentor de leurs rêves lors de rencontres et sur les réseaux sociaux, mais trouver la correspondance parfaite est plus facile à dire qu'à faire. [19659006] J'ai parlé à Falina Lothamer, un concepteur pédagogique à Thinkful – un cours en ligne ouvert massif (ou MOOC, en abrégé) – pour avoir une idée de la façon dont les professionnels abordent l'apprentissage autonome. Elle était très claire sur le fait que trouver et travailler avec un mentor est la clé pour faire progresser vos compétences en tant que développeur.

«Si vous avez besoin de préparer quelque chose pour vous, demandez à ce mentor de dire: 'Voici où je pense que vous devriez vous concentrer », en vous montrant ce qu'ils font dans leur travail et en partageant leur opinion sur ce que l'avenir de votre domaine technologique va beaucoup aider. Je pense qu'il y a beaucoup de gens dans l'industrie qui sont prêts à remplir ce rôle de mentor et faire pour les autres ce que quelqu'un a fait pour eux. »

Après avoir exprimé certaines de mes frustrations d'avoir frappé un mur de briques avec un certain nombre de cours Udemy, me trouvant simplement en train de retenir des informations et n'ayant pas nécessairement la confiance en ce que j'ai appris pour les appliquer dans d'autres domaines, ou sur d'autres projets, Fallina était clair que être responsable envers une autre personne – idéalement un mentor mais également un autre développeur avec une expérience professionnelle similaire à vous – est essentiel.

«En tant que développeur, vous devez rechercher des occasions de démontrer ce que vous savez et comment vous apprenez. Avoir quelqu'un d'autre à qui parler des défis auxquels vous êtes confronté, avoir de l'espace pour en parler avec quelqu'un et réaliser que «  cette chose que j'essaie de faire est compliquée, je ne suis pas un développeur terrible '', avoir cela la validation peut être énorme. »

Pour ceux qui ne parviennent pas à trouver un développeur senior pour les prendre sous leur aile, je recommande de suivre les conseils de Fallina et de vous rendre responsable envers quelqu'un d'autre dans l'industrie au même niveau que vous. Les développeurs qui se regroupent et partagent des histoires renforceront le fait que ce travail est difficile, et qu'ils ne sont pas les seuls ingénieurs à avoir du mal à se débrouiller au travail certains jours. Ce travail peut être très éprouvant sur le plan émotionnel, et avoir un copain avec qui lutter avec sera inestimable les jours où rien ne semble aller bien.

Je recommanderais de vous inscrire à Interview Cake Execute Program ou un cours Udemy correspondant à votre niveau de compétence et à votre spécialisation, et en effectuant les mêmes exercices que votre copain à peu près au même moment. Discutez de ce que vous avez trouvé le plus facile et de l'endroit où vous êtes tombé, et restez en contact les uns avec les autres tout au long. Bien que vous puissiez certainement faire ces choses tout seul, favoriser un sentiment de communauté vous aidera à rester sur la tâche et vous donnera plus de chances de vous y tenir.

A Case For Scratch Pad Applications

Si vous avez le temps et l'énergie à consacrer à un grand projet parallèle en plus du travail, plus de pouvoir pour vous, mais je trouve que la pression pour le faire est un peu lourde. Au lieu de cela, je suis un fan du projet de bloc-notes, principalement parce que je profite vraiment de suivre beaucoup de nouvelles idées à la fois et que je me désintéresse rapidement des projets personnels, il n'y a pas de pression de temps pour me conduire.

Si votre côté- Le projet effectue un appel API, affiche les informations de manière semi-attrayante et vous avez appris quelque chose du processus, et la construction du projet dans une application plus grande ne correspond pas à votre neurologie, à votre emploi du temps ou à vos goûts , puis accordez-vous une pause . Vous ne vous moqueriez pas d'un artiste pour ses croquis, et vous ne devriez certainement pas vous sentir mal si vos projets parallèles sont des mutants à moitié formés tant que vous obtenez quelque chose du processus. Mes référentiels GitHub sont des élégies aux bonnes idées passées, et j'en ai fait la paix.

Roundup

Compte tenu de l'état du monde en ce moment, la dernière chose que je veux être est une autre voix exigeant la productivité dans confinement. Ce n’est pas de cela qu’il s’agit. Ce sont simplement des étapes qui ont fonctionné pour moi lorsque j'ai eu besoin d'apprendre au fil du temps, sans m'épuiser ni me mettre une pression excessive. S'ils fonctionnent pour vous, c'est merveilleux. Sinon, pas de soucis. Nous avons tous notre propre rythme.

Étapes

  1. Utilisez les spécifications du poste pour identifier les compétences clés.
  2. Répartissez ces compétences entre l'apprentissage au travail et l'apprentissage dans votre propre temps.
  3. Définissez clairement et mesurables , des objectifs réalistes, et ne les augmentez que lorsque vous avez trouvé votre rythme.
  4. Trouvez un mentor ou un copain pour être responsable de ces objectifs.
  5. Détendez-vous! Un apprentissage désordonné vaut mieux que pas d’apprentissage.

Ressources utiles

Bonne chance!

 Éditorial Smashing "width =" 35 "height =" 46 "loading =" lazy "decoding =" async (fb, vf, il)




Source link