Un guide pour apprendre à coder (et trouver un emploi!)

Évitez ce dont vous n'avez pas besoin; apprendre et pratiquer ce que vous faites

Comme la plupart des gens, je n'avais aucun plan pour m'apprendre à coder. La décision est venue lorsque j'ai perdu mon poste au service client en 2015.

La transition est venue aussi naturellement que tomber amoureux d'une âme sœur. Nous étions de vieilles amours - j'avais essayé de le faire fonctionner à l'université, mais le moment n'était pas propice. Pour ne pas dire que c'était facile! Mais c'était tellement plus facile avec autant d'émotion de conduire l'expérience.

J'ai obtenu mon premier emploi dans la technologie environ 10 mois après avoir commencé à m'enseigner le développement Web, après une quantité incroyable de travail.

Et s'il vous plaît, croyez-moi quand je vous dis que si je peux le faire… vous le pouvez aussi.

Je suis sûr qu'il existe de nombreux guides sur ce sujet - comment apprendre à coder et obtenir votre premier travail de codage. Mais celui-ci est écrit par moi, donc c'est différent. Je pense que vous apprécierez mes perspectives. :)

Maintenant, je pense qu'il va sans dire que condenser l'ensemble du processus en 5 étapes est une simplification excessive. Je vais vous donner une idée générale de ce qu'il faut faire. Vous avez plusieurs options pour combler les lacunes, et honnêtement, vous devriez faire les deux!

Option 1 : Fiez-vous à vos communautés pour obtenir du soutien

Option 2 : Obtenez de l'aide et des conseils dédiés

Les deux sont en fait ma spécialité! Je suis un bâtisseur de communauté passionné. Je comprends l'importance de voir et d'entendre des personnes qui essaient de faire ce que vous voulez faire.

L'option 1 est une partie importante de votre croissance en tant que développeur. Vous aurez besoin d'un réseau de personnes. Cette industrie est en fait particulièrement géniale et très amusante. Nous grandissons avec la technologie - et les uns avec les autres. Nous nous voyons lors de conférences. Nous participons à des discussions hebdomadaires sur Twitter. C'est dope.

L'option 2 présente certains obstacles à l'accès. Essentiellement, il s'agit d'avoir quelqu'un - idéalement un coach expérimenté avec une compréhension approfondie de votre situation et de vos objectifs - vous prenne la main, apprenez à vous connaître, explorez vos rêves avec vous et planifiez votre voyage de là où vous êtes, là où vous voulez être. Ensuite, vous plongez dans les compétences avec une carte réelle et un chemin vers votre destination. À ce stade, le travail acharné est à vous et à vous seul.

J'ADORE travailler en tête-à-tête avec des codeurs débutants, mais bien sûr, avec le niveau d'attention et d'expertise requis… ce n'est pas gratuit. La plupart d'entre nous faisons ce que nous pouvons pour soutenir les codeurs débutants via des articles de blog, des épisodes de podcast, des livres, etc., mais certains d'entre nous sont prêts à donner plus de notre temps et de notre présence que d'autres! En tant que telle, l'option 2 est un investissement en vous-même.

Il s'agit donc d'un aperçu trop simplifié, mais toujours assez complet du processus d'apprentissage du code, puis de l'obtention de votre premier travail de développement!

Étape 1: découvrez ce que vous faites

J'ai créé un guide complet de 14 pages sur cette partie très précoce du voyage, car c'est la partie la plus facilement négligée. C'est aussi pourquoi beaucoup de gens crachent - ils n'ont tout simplement pas fait leurs devoirs initiaux.

Vous pouvez télécharger ce guide, intitulé «10 choses à savoir AVANT d’apprendre à coder», ici:

Vous envisagez d'apprendre à coder?

Vous envisagez d'apprendre à coder et de changer de carrière? Avant de sauter le pas, découvrez ce que l'industrie n'est pas… resources.lavieencode.net

Premièrement, pourquoi voulez-vous faire cela?

Vous rêvez de coder depuis que vous êtes tout petit? Ou peut-être que vous venez d'entendre que le codage est l'avenir, ce qui a du sens pour vous puisque la technologie se développe si rapidement, vous aimeriez donc monter dans le train. Quelle que soit votre raison, vous devrez établir cela dès le début. Ce sera ce qui vous fera avancer lorsque les choses deviendront vraiment difficiles.

Vous devrez créer un budget pour vous-même, ce qui, je le sais, est nul parce que moi aussi, je déteste les budgets. Si vous changez de carrière, vous devez être sûr de pouvoir effectuer votre transition avec le moins de stress possible. Le codage est assez difficile tel qu'il est… faites votre diligence raisonnable pour ne pas vous compliquer la tâche.

Existe-t-il même une industrie du développement Web dans votre région? Si c'est le cas, puisez-y et commencez à parler aux gens. Participez à des Meetups. Apprenez à connaître des personnes qui font quelque chose de similaire à ce que vous voulez faire.

Posez des questions sur les entreprises qui embauchent dans la région. Les gens aiment-ils leur carrière de développeur? Quels sont leurs salaires?

S'il n'y a pas d'industrie de développement dynamique dans votre région, vous devrez faire preuve de créativité. Les emplois à distance pourraient être une option si vous êtes ouvert à cela. Alternativement, si vous avez les ressources et la flexibilité, déménager dans une nouvelle ville pourrait être un changement passionnant parallèlement à votre nouvelle carrière.

Le but de l'étape 1 est de vous assurer que si vous recherchez un emploi, vous ne vous lancez pas simplement dans les choses sans explorer d'abord le territoire.

Si vous intervenez, vous risquez de vous sentir mal préparé et stressé lorsque les factures arrivent à échéance, que des événements inattendus surviennent et, en général, que la vie arrive.

Étape 2: Choisissez un titre de poste et travaillez en arrière

D'accord, donc j'aborde cela différemment de beaucoup de gens. Lorsque les gens commencent à apprendre à coder, l'une des plus grandes questions que j'entends est "que dois-je apprendre?" (aussi, «où dois-je l'apprendre?»).

Gardez à l'esprit que vous ne codez même pas encore à ce stade. Ou peut-être êtes-vous simplement en train de fouiller, d'apprendre les bases, mais vous ne construisez pas réellement de projets. Vous posez toujours les bases et vous en apprenez davantage sur vos outils et leur utilité. C'est une phase super importante!

Avec tous ces outils là-bas cependant… comment savez-vous lesquels vont s'aligner pour un titre de poste réel?

Ne serait-il pas nul d'apprendre un tas de compétences et de langues assez indépendantes à un niveau de base, puis de se rendre compte qu'ils ne vous procurent pas réellement un emploi? Ou que vous aurez besoin d'en étoffer quelques-uns d'entre eux avec un apprentissage supplémentaire, afin d'être même compétitif pour des emplois dans votre région?

Ouais… c'est ce que ta fille a fait.

Histoire parallèle rapide et pertinente

J'ai appris le HTML et ensuite ajouté sur CSS. Je détestais un peu le CSS au début, mais nous l'avons travaillé et nous nous refroidissons maintenant. Jusqu'ici tout va bien, ouais?

Ensuite, je suis arrivé à JavaScript. Des outils de base comme des variables et même des boucles et certaines structures de données de base, ça me convenait. Mais, en général… les choses ont commencé à devenir difficiles pour moi.

J'ai un trouble d'apprentissage non verbal. C'est un peu drôle de ne pas avoir été diagnostiqué avant d' avoir eu du mal à acquérir les compétences requises pour obtenir ce premier emploi 10 mois plus tard . Mes difficultés avaient tellement plus de sens.

À ce stade, les algorithmes m'ont fait peur. Les algorithmes de freeCodeCamp étaient très difficiles. Un grand nombre de mes traumatismes d'apprentissage passés ont été évoqués. J'ai pleuré beaucoup de frustration quand je ne pouvais tout simplement pas contextualiser un modèle mental pour que mon cerveau neuroatypique «fasse un déclic».

Dans une panique, je suis sorti des rails. Ou peut-être «sur» les rails, alors que j'ai commencé à apprendre Ruby. Arrivé au même point. Paniqué à nouveau.

Passé à PHP et WordPress. En fait, je les ai vraiment aimés tous les deux et je les utilise principalement de nos jours avec JavaScript. Mais, je suis arrivé au même point effrayant, et finalement je me suis effondré dans l'épuisement. Qu'est-ce qui n'allait pas avec moi?

J'ai fait une pause au moment où j'ai écrit cet article parce que j'avais eu une crise existentielle, me demandant si j'étais même apte à cela:

Pourquoi je réduis mon apprentissage du codage… et j'accélère mon apprentissage de la résolution de problèmes

Wow, ça fait presque un mois que j'ai posté! Je ne peux pas croire que le temps passe si vite. J'ai un point à cela… medium.com

Ce genre d'histoire sert de récit édifiant, pour montrer ce qui peut potentiellement arriver si vous faites les choses dans le désordre ou sans structure initiale. Vous devez être capable de développer ces compétences pour un emploi si vous voulez un emploi.

Alors, voici ma question: pourquoi ne pas simplement éliminer les conjectures et déterminer quel type de travail vous aimeriez faire en premier ?

Et bien sûr, cela va changer avec le temps! Nous grandissons et évoluons non seulement en tant que développeurs mais en tant qu'êtres humains au fil du temps. Nous en apprenons plus sur nous-mêmes et nous voulons changer nos objectifs. Mais commencer par une sorte de direction de la boussole aide VRAIMENT.

Comment trouvez-vous cela? Vous voudrez faire un inventaire vraiment approfondi de vos rêves, passions et compétences existantes. Souvent, cela aide à évaluer cela avec l'aide de quelqu'un d'autre (ahem, comme moi). Nous avons les compétences et les talents que nous apportons à la table que les autres n'ont pas… et que nous négligeons souvent nous-mêmes.

Regardez ce qui est disponible dans votre région. Recherchez sur les sites de recherche d'emploi comme Indeed. Demandez dans les forums en ligne locaux.

Mais l'important ici est de prêter attention aux compétences répertoriées: à la fois techniques et interpersonnelles.

Oui, interpersonnel . Nous avons suffisamment de problèmes avec un manque de compétences interpersonnelles comme une communication efficace, l'empathie, la compassion et l'inclusion. Ne venez pas ici en apportant plus.

Mais ces compétences de codage vont vous donner des conseils et un chemin vers votre destination afin que si vous changez vos objectifs, vous savez au moins ce que vous êtes déviant de et à .

Étape 3: Développez vos compétences

À ce stade, vous avez une bonne idée de votre secteur de développement local et vous avez fait vos recherches sur les titres de poste. Vous avez une idée des types de compétences dont vous aurez besoin pour développer votre premier emploi de développeur.

Maintenant, il est temps de développer vos compétences.

Il est important de noter que vous ferez cela parallèlement à l'étape 4, et à côté de tout ce que vous faites peut-être (nous voulons que ces choses soient limitées). Vous devez toujours apprendre et développer vos compétences tout en construisant des projets avec eux.

Je recommande généralement aux développeurs Web de commencer par le front-end car tous les chemins mènent à l'expérience de l'utilisateur. Mais cela varie vraiment en fonction de ces objectifs initiaux. Voyez où il a été utile de les identifier en premier?

Par exemple, votre point de départ sera différent si votre objectif est de travailler avec des données. Peut-être que votre objectif est d'apprendre, par exemple, Python, car Python est nativement très efficace avec la gestion des données. Vous allez naturellement organiser votre parcours de développement des compétences différemment en fonction de vos objectifs finaux.

L'important ici est que peu importe où vous vous dirigez, vous avez une feuille de route. Vous voulez éviter d'être pris à apprendre des choses dont vous n'avez pas besoin, car elles vous empêcheront de trouver un emploi le plus tôt possible.

Vous devriez avoir une liste de ressources dont vous savez qu'elles fonctionnent pour vous. Savoir comment absorber au mieux les informations fait partie intégrante de cette partie. Ne perdez pas de temps avec des livres si vous apprenez mieux à partir des vidéos. Encore une fois, le temps presse, vous devez donc non seulement apprendre, mais aussi apprendre intelligemment, efficacement et efficacement.

Passez beaucoup de temps sur cette section. Vous ajoutez des outils à votre boîte à outils et vous les utiliserez tous les jours une fois que vous aurez commencé à travailler.

Étape 4: Construisez votre portfolio et CV

N'oubliez pas que l'étape 4 se déroule parallèlement au renforcement de vos compétences. Vous apprenez quotidiennement et appliquez ce que vous apprenez. Et bien sûr, il y a quelques parties vraiment importantes que je trouve que les étudiants en codage négligent. Alors laissez-moi aborder ces très rapides!

Hot Tip ™ ️ # 1: Les projets vous permettent d'obtenir The Edge ™ ️ en tant que codeur autodidacte

Vous n'avez pas le long CV datant de votre spécialisation en informatique au MIT. Moi non plus. Mais, genre… malheur à nous?

Non.

En tant que codeur autodidacte sans CV pour sauvegarder vos compétences, vous allez devoir montrer ce que vous avez. Donc, même si vous vous concentrerez sur votre CV aussi bien, vous avez vraiment besoin de mettre du temps dans ce portefeuille . Si rien d'autre, votre CV grandira avec votre portefeuille au fur et à mesure que vous ajouterez des compétences!

Hot Tip ™ ️ # 2: Vous n'avez pas besoin d'une tonne de projets!

Tout d'abord, vous n'avez pas besoin d'une tonne de projets. Je pense que beaucoup de débutants sont débordés à l'idée de devoir construire des tonnes de projets pour montrer ce qu'ils savent.

C'est pourquoi nous alignons ces compétences sur la description de poste réelle. Si vous construisez même un projet , mais le maintenir intelligemment -Tu es va être lieues en avant de vos pairs.

Ok, donc vous avez créé un projet, vous avez publié des commits sur GitHub, et vous sentez déjà que vous devez passer au suivant. Tenez-le juste là, padawan.

Avez-vous tiré le meilleur parti du projet? Parce que vous apprenez des compétences pour un emploi, elles se réuniront probablement comme une pile. Et vous pouvez très probablement appliquer plusieurs de vos compétences nouvellement acquises à la même pratique.

Disons que vous travaillez pour devenir un développeur Web front-end. Vous venez de créer votre premier site Web.

Pouvez-vous transformer un site Web en application Web, afin que les utilisateurs puissent peut-être se connecter?

Si vous n'avez pas créé votre page d'abord sur le mobile (vous devriez l'avoir!), Pourquoi ne pas la refactoriser en tant que mobile d'abord?

Prenez le temps de considérer vos projets non seulement comme un atout, mais comme un aperçu du fonctionnement interne de votre cerveau. C'est INCROYABLEMENT important pour les responsables du recrutement. Ils veulent savoir ce que vous pensez, afin de déterminer si cela apporte quelque chose de précieux à leur entreprise et à leur équipe.

Alors, pour utiliser Hot Tip ™ ️ # 2…

Hot Tip ™ ️ # 3: Devenez un conteur, pas seulement un codeur

Quelle meilleure façon de montrer aux gens le fonctionnement interne de votre cerveau que de documenter votre voyage?

L'une des ressources les plus endormies pour trouver un emploi est… le roulement de tambour…

… Votre fichier README.txt.

Cela ne devrait pas être simplement là où vous dites aux gens comment exécuter votre programme. C'est là que vous devriez dire aux responsables du recrutement:

  • Pourquoi vous avez ajouté cette fonctionnalité
  • Pourquoi vous avez abandonné l'ajout de cette autre fonctionnalité et l'avez supprimée
  • Vos prochains projets d'expansion
  • Ce que vous aimeriez voir en termes de commentaires
  • Ce que vous avez appris à chaque étape
  • Ce dont vous êtes fier et ce que vous auriez pu faire mieux

Pourquoi avons-nous honte d'écrire nos histoires? Nous n'avons pas le temps pour cela, nous avons besoin de vous trouver un emploi!

Rendez-le drôle, même. Rendez-le épique. Votre voyage est épique.

Mais oui, tirez parti de votre fichier README.txt, et vous serez vraiment beaucoup plus attrayant pour les personnes qui consultent votre portefeuille et qui vous envisagent pour un emploi.

Étape 5: postulez pour ces emplois!

Il y a tellement de choses à déballer dans cette étape, il n'est tout simplement pas possible de tout couvrir dans un seul article! ? Donc, je vais simplement laisser tomber un tas de bombes de valeur sur vous tous.

Hot Tip ™ ️ # 1: il suffit de postuler déjà

L'une des questions les plus fréquentes que je reçois est «quand dois-je commencer à postuler à un emploi»? Ma réponse est quelque chose du genre «hier».

Sérieusement. Allez-y, postulez. Le pire qu'ils puissent vous dire est «non».

Alors, voici la chose à propos de postuler à un emploi en tant que codeur autodidacte débutant. Vous voulez bien faire les choses et vraiment démontrer:

  • Votre volonté d'apprendre
  • Votre croissance jusqu'à présent
  • Votre enthousiasme pour l'industrie (et plus particulièrement pour l'entreprise!)

Lorsque vous communiquez avec les responsables du recrutement, vous voudrez être honnête avec où vous êtes , tout en montrant ce que vous avez fait. Ces deux éléments vous mettront sur le radar. Vous êtes vulnérable et vous gardez toujours un certain contrôle sur votre image perçue.

Une autre chose importante à retenir: lorsque vous postulez dans une entreprise, ce n'est pas un accord unique. De nombreux débutants font l'erreur de penser que c'est le cas.

Ok, disons que vous êtes rejeté pour une interview. Maintenant, vous avez une fenêtre pour demander des commentaires. S'ils répondent, c'est une très bonne entreprise. ??

Si vous aimez vraiment l'entreprise et qu'ils savent que vous êtes autodidacte (ils le sauront de toute façon grâce à votre CV, alors soyez transparent), dites-leur que vous aimeriez développer vos compétences dans leur direction et réappliquer A l'avenir.

Boom. Vous venez de nouer des liens avec les responsables du recrutement et de montrer à quel point vous êtes déterminé à améliorer vos compétences afin de répondre à leurs exigences.

Hot Tip ™ ️ # 2: Vous devez développer de solides compétences en entretien technique

Parallèlement à la création de votre portefeuille, vous devrez développer ces compétences d'entretien. Mais pas n'importe quelles compétences d'entrevue - la technologie n'est pas comme toutes les autres industries. Nous sommes énervés. Nous aimons que vous prouviez ce que vous savez.

Ceci est particulièrement important pour les codeurs autodidactes. Vous allez avoir besoin de savoir comment faire des choses comme:

  • Expliquez quels sont les différents concepts technologiques
  • Résolvez les défis algorithmiques tout en expliquant votre approche
  • Écrivez vos étapes à la solution
  • Lisez vos intervieweurs
  • Faire un peu de danse pour garder le contrôle sur l'interview (c'est ma spécialité haha)

Il existe de nombreuses ressources à ce sujet, comme «Cracking the Coding Interview» de Gayle Laakmann McDowell. De plus, il se double d'une arme contondante.

Cracking the Coding Interview: 189 Questions et solutions de programmation

Je ne suis pas un recruteur. Je suis un ingénieur logiciel. Et en tant que tel, je sais ce que c'est que de se voir demander de faire du brillant… www.amazon.com

Vous devrez être vous-même. Ils doivent vouloir vous embaucher . Il est difficile d'être soi-même quand on n'est pas sûr de ce qu'on attend de vous, mais pourquoi être embauché comme quelqu'un que vous n'êtes pas? Cela ressemble à du fourrage pour beaucoup de syndrome de l'imposteur.

Par ce point

À ce stade, vous disposez d'une boîte à outils croissante de compétences.

Vous apprenez tous les jours. Vous construisez des projets, mais en tirez le meilleur parti au lieu de simplement les abandonner et de passer à l'étape suivante. Vous racontez une histoire avec votre GitHub README.txt.

Mais surtout, vous avez une idée de votre destination . Cette boussole interne, aux côtés d'une communauté de soutien (comme #CodeNewbie!) Va être ce qui vous sauve lorsque vous vous perdez.

Développez, grandissez et prenez confiance en vous. Vous êtes un guerrier total et vous pouvez le faire! ??