Le guide du développeur autodidacte pour apprendre à coder

Vous voulez donc apprendre à coder? Mon conseil personnel serait d'assister à un bootcamp, car ils offrent un programme structuré, des mentors, du temps d'apprentissage dédié, la collaboration et le réseautage entre les étudiants.

Malheureusement, tous ceux qui souhaitent apprendre à coder ne peuvent pas se permettre de consacrer du temps et de l'argent à un bootcamp.

Heureusement, il existe une alternative que de nombreux développeurs de logiciels de premier plan ont choisie: la voie autodidacte. Lorsque vous apprenez à coder, vous apprenez à votre rythme en utilisant des ressources en ligne / hors ligne gratuites ou payantes.

Mais pour réussir sur cette voie d'auto-apprentissage et passer rapidement de développeur débutant à développeur junior, vous devrez intégrer une partie de la magie des bootcamps dans votre parcours autodidacte. Dans cet article, je vais vous expliquer comment vous pouvez le faire.

Avant de commencer, sachez que cet article était à l'origine une conférence que j'ai donnée lors de la session Developers In Vogue MTB. J'ai décidé d'en faire un article pour plus d'accessibilité après avoir reçu de bons retours.

Alors prenez une tasse de café ou votre soda préféré, prenez un stylo et un bloc-notes, et notez quelques notes. Je vais également laisser tomber quelques citations aléatoires ici et là, alors préparez-vous?.

Alors comment commencez-vous?

Il y a cinq phases que vous devez franchir lorsque vous vous apprenez à coder:

  1. Choisissez un créneau.
  2. Trouvez des ressources d'apprentissage structurées pour votre créneau.
  3. Apprendre.
  4. Construisez quelque chose, n'importe quoi!
  5. Réseau.

Passons en revue chaque phase plus en détail.

Choisissez une niche

« Si vous voulez réussir, limitez-vous. "

Lorsque vous commencez votre parcours de développeur autodidacte, il est important que vous choisissiez un créneau. Cela garantit que vous ne vous submergez pas. Cela limite votre apprentissage et vous donne la possibilité de consacrer votre attention à un petit sous-ensemble, afin que vous puissiez créer un point d'entrée.

Le développement logiciel est très polyvalent et se présente sous différentes formes. Commencez par avoir un aperçu de ce qu'implique la programmation et le développement de logiciels en général.

Voici 2 bonnes ressources pour vous donner un aperçu de ce que sont les carrières en programmation et en développement de logiciels.

  • Comment devenir un développeur Web Full-Stack en 2020, par Colby Fayock
  • Introduction à la programmation et à l'informatique sur la chaîne YouTube freeCodeCamp

Après avoir obtenu un aperçu général, vous devriez faire un questionnement intérieur pour vous installer sur un domaine qui vous passionne vraiment. Répondre aux questions ci-dessous devrait vous aider à choisir votre créneau.

  • Qu'espérez-vous accomplir en apprenant à coder? Voulez-vous gagner de l'argent en freelance, trouver un bon travail ou créer votre idée de démarrage?
  • Quel type de système souhaitez-vous construire? Web (frontal ou back-end), mobile (Android ou iOS), bureau, intégré, analyse de données, etc.

Cela ne signifie pas que vous ne pouvez pas essayer de nouveaux domaines ou expérimenter plus tard dans votre carrière, mais commencez avec un.

Trouvez des ressources d'apprentissage structurées pour votre créneau

Félicitations pour avoir choisi un créneau parmi tous les choix disponibles.

La prochaine chose à faire est de proposer une liste progressive de sujets / technologies que vous devez apprendre pour votre créneau et de trouver des ressources d'apprentissage structurées sur ces sujets.

Lorsque vous décidez de la ressource d'apprentissage à utiliser, choisissez celles qui ont une progression structurelle et codez le long des exercices pour la pratique. Assurez-vous de prendre note de ces points ci-dessous:

  • Quels langages et technologies sont utilisés dans ce domaine? Faites une liste du minimum que vous devez apprendre pour atteindre votre objectif de l'étape précédente. L'accent est mis ici sur le minimum, simplement parce qu'il ne faut pas attendre de tout apprendre dans le domaine de votre choix avant de faire le premier pas vers votre objectif. Vous allez attendre très longtemps.
  • Quels outils avez-vous besoin? Découvrez les outils dont vous avez besoin pour apprendre. Un éditeur de code? Un logiciel? Allez-y et installez-les.
  • Quel est l'ordre d'apprentissage? La plupart des champs exigent que vous appreniez un outil / une langue avant un autre. N'oubliez pas de toujours commencer par les principes fondamentaux et de partir de là.

Si vous avez d'autres questions concernant un créneau particulier, vous pouvez utiliser Twitter ou Facebook pour trouver des personnes actives dans le créneau que vous avez choisi. Envoyez-leur un message et allez droit au but sur ce qu'ils peuvent vous aider. Vous serez étonné de voir à quel point les membres de la communauté technologique sont prêts à vous aider.

Pour Twitter, voici un fil de discussion répertoriant les personnes actives dans différents domaines technologiques sur Twitter que vous pouvez suivre et qui sont prêts à répondre aux questions liées à leur domaine par Hacksultan.

Et vous trouverez une liste d'excellentes ressources d'apprentissage gratuites à la fin de cet article.

Apprendre

«Si vous poursuivez deux lapins, vous n'en attraperez aucun».

Super, vous l'avez fait. Vous avez déterminé ce que vous devez apprendre pour atteindre vos objectifs et vous avez également trouvé une ressource d'apprentissage à utiliser. Il est maintenant temps d'apprendre ces choses de manière séquentielle, pas simultanément.

Être cohérent

La première chose à faire est de réserver du temps pour votre apprentissage. Fixez une heure précise chaque jour au cours de votre emploi du temps quotidien dans lequel vous apprendrez et serez égoïste à ce sujet.

Deux heures d'apprentissage par jour, c'est bien mieux que 15 heures d'apprentissage en une journée, par mois. Ici, la cohérence est la clé. Vous souhaitez apprendre à trouver un emploi? Ensuite, vous devez apprendre comme si c'était votre travail jusqu'à ce que vous en obteniez un.

Fixer des objectifs

De plus, pour un apprentissage efficace, vous devez vous fixer des objectifs hebdomadaires afin de pouvoir vous responsabiliser.

Des études ont montré que les personnes qui se fixent consciemment des objectifs sont plus susceptibles de réaliser des choses. Et les gens qui font un effort supplémentaire pour écrire ces objectifs sont les plus susceptibles de faire avancer les choses.

Que voulez-vous savoir ou pouvoir faire à la fin du mois? Comment allez-vous structurer votre apprentissage par semaine pour y parvenir? Écris le.

Reste concentrée

Il est également important que vous vous souveniez de vous concentrer sur votre plan d'apprentissage décrit et la ressource d'apprentissage que vous avez choisie.

Dans la sphère technologique, il y a toujours un nouvel objet brillant - quelque chose de nouveau à apprendre. Ne vous laissez pas emporter ou submergé, c'est pourquoi vous aurez besoin de beaucoup de concentration. Un didacticiel terminé vaut mieux que 10 didacticiels échantillonnés.

Construisez quelque chose! N'importe quoi.

"La différence entre vous et ceux qui ont du talent est la pratique; beaucoup de choses."

En tant que développeur débutant, il est facile de rester coincé dans la zone du tutoriel, ou "l'enfer du tutoriel". Beaucoup de gens restent coincés là-bas et restent trop longtemps débutants. C'est ici que vous regardez tutoriel après tutoriel sans jamais vous salir les mains.

La construction de projets n'est pas mutuellement exclusive à la phase d'apprentissage. Vous devez constamment itérer entre l'apprentissage et la construction, car l'apprentissage ne se termine jamais.

C'est pourquoi j'ai insisté sur le choix de ressources d'apprentissage contenant de nombreux projets de codage pour vous permettre de commencer à vous entraîner. Assurez-vous de coder et pas seulement de regarder. Cela vous aide à commencer à créer quelque chose.

Une façon de vous entraîner est, à la fin de chaque module, de penser aux fonctionnalités que vous pouvez ajouter au projet que vous avez codé. Essayez simplement de construire quelque chose avec les nouvelles connaissances que vous avez acquises.

Cela n'a pas à être trop sophistiqué. Le plus important est d'écrire du code, de rencontrer des erreurs, de rechercher sur Google comment le déboguer et de mieux comprendre. La pratique solidifie les connaissances, alors pratiquez. 1 projet terminé vaut mieux que 10 tutoriels visionnés.

Vous pouvez utiliser google pour trouver des idées de projets ou consulter celles-ci amusantes.

Réseau

Faire du réseautage signifie simplement apprendre en public et se faire connaître. Vous n'avez pas grand-chose à gagner si vous êtes un silo. Alors, comment vous mettez-vous là-bas?

Rejoignez une communauté et participez à des Meetups

Une communauté vous interpelle et vous inspire en même temps. Vous prenez conscience des gens qui sont dans le même domaine que vous, avec les mêmes luttes que vous. Vous aurez également l'opportunité de collaborer et de nouer des amitiés à vie.

Voici une liste de quelques communautés technologiques mondiales éloignées auxquelles Bolaji Ayodeji peut se joindre. Recherchez également les communautés locales de votre ville.

Vends toi

L'opportunité ne vient plus aux plus qualifiés - elle va aux plus visiblement qualifiés.

Se vendre, c'est parler de soi et de ce que l'on fait actuellement. Cela vous donne plus de visibilité et pourrait vous ouvrir de nombreuses opportunités.

Créez un compte GitHub et envoyez-y le code. Ouvrez un compte Twitter et parlez de ce que vous apprenez ou construisez.

Poser des questions

Poser des questions intéressantes est une autre façon de réseauter et de vous présenter aux autres. Il n'y a vraiment aucune honte à poser des questions.

Si vous êtes coincé sur un problème particulier, utilisez les réseaux sociaux et vos connexions physiques à votre avantage. Apprenez à vous glisser dans les DM et les e-mails des gens. La seule raison pour laquelle vous ne pouvez pas obtenir de réponse est si vous ne savez pas comment formuler correctement votre demande.

Astuce: Lorsque vous contactez, il est préférable d'envoyer quelques questions préparées plutôt que d'envoyer simplement un «Salut» et de demander leur temps.

Vous devriez dresser une liste de questions qui répondront aux défis auxquels vous êtes actuellement confronté. Vous êtes plus susceptible d'obtenir une réponse si quelqu'un sait à l'avance quel type d'engagement de temps il prend.

Un exemple de message pourrait être:

« Bonjour, je m'appelle, j'espère que vous allez bien. Je vois votre contenu depuis un certain temps et je vois que vous connaissez bien. J'ai essayé de comprendre. J'ai essayé Pouvez-vous m'aider. Merci. "

Conclusion

J'espère que cet article a apporté une certaine clarté à votre parcours d'apprentissage du code en tant que débutant.

Une dernière chose: le codage est difficile et l'apprentissage par vous-même peut être encore plus difficile. Vous rencontrerez certainement de mauvais jours.

N'oubliez pas de rester tranquille avec vous-même les jours où les choses n'ont aucun sens. À long terme, votre cohérence et votre persévérance dans l'apprentissage seront définitivement payantes.

Maintenant, allez-y et soyez génial!

Voici cette liste de guides / ressources d'apprentissage gratuits pour différents domaines qui devraient vous aider à démarrer.

Développement Web frontal:

  • Guide d'apprentissage pour les développeurs frontend par Ire Aderinokun
  • Certification de conception Web réactive de freeCodeCamp et certification de bibliothèques frontales

Conception UX:

  • Guide d'apprentissage UX par Opemipo.
  • Prototypage rapide par Google

Développement Web back-end:

  • Parcours d'apprentissage du développement backend par Bitdgree
  • Introduction au backend par Udacity

Développement Android:

  • Comment apprendre le développement Android de Mindorks
  • Principes de base d'Android par Google
  • Développer des applications Android par Udacity

Développement iOS:

  • Comment devenir développeur iOS
  • Introduction au développement d'applications iOS avec Swift

Science des données:

  • Fondements de la science des données par l'IA cognitive
  • Dans l'analyse des données par Udacity

Cloud et DevOps

  • Introduction au Cloud Computing par Udacity
  • Introduction à DevOps par Udacity

Si vous avez apprécié cela, consultez mon blog, mon blog, suivez-moi sur Twitter et envoyez-moi un message.