Comment obtenir un emploi de développeur en moins d'un an

Accélérez votre apprentissage

Quelle est la partie la plus difficile pour quelqu'un qui décide de s'enseigner à coder? Le fait qu'ils ne savent généralement pas quoi apprendre - quel langage de programmation choisir, comment aborder l'apprentissage, quelles ressources sont les meilleures en termes d'efficacité de temps.

Tout commence par des recherches Google sur ces sujets, qui conduisent inévitablement les gens à l'une des nombreuses ressources qui apprennent aux gens à coder. Le format de ces ressources varie considérablement, et le bon sens nous dit que nous devrions essayer un tas de ressources différentes et choisir celles qui correspondent le mieux à notre style d'apprentissage. Tutoriels pour certaines personnes, screencasts pour d'autres, articles pour encore un autre groupe, etc. Cela semble assez logique, n'est-ce pas?

Et bien non. Aujourd'hui, je veux vous convaincre que l'un de ces formats d'apprentissage vous mènera là où vous voulez être plus rapide que tout autre. Sans plus tarder, permettez-moi de vous dire de quoi il s'agit et pourquoi vous devriez y concentrer tous vos efforts.

Construire des projets

Je parie que vous l'avez vu venir.

Tout d'abord, permettez-moi d'éliminer certaines de vos objections. Je ne dis pas que vous devriez abandonner complètement tous les autres types de ressources d'apprentissage.

Tous les tutoriels et screencasts ont leur place sous le soleil, et j'y reviendrai plus loin dans l'article. Par exemple, le moyen le plus efficace de se familiariser avec une nouvelle technologie ou un framework peut parfois être de lire un article ou de suivre un tutoriel.

Le problème est que nous avons tendance à nous en tenir (ou du moins à moi) aux ressources qui nous maintiennent dans notre zone de confort, même lorsqu'il est temps de faire quelque chose de notre propre chef. C'est tout simplement trop pratique, prêt à être consommé. Cela nous fait aussi toujours du bien, car bon, nous voilà, en train d'apprendre! Droite? Qui peut dire que nous perdons du temps? Comment osent-ils? Nous comblons les lacunes de nos connaissances!

Il est dangereux qu'il nous semble que ces ressources sont aussi le moyen le plus efficace d'apprendre. En tant qu'humains, nous pouvons justifier à peu près tout ce qui nous maintient dans notre zone de confort. Je vis dans cette illusion depuis un certain temps.

Knock, Knock, Neo.

Créer des projets… quoi de neuf dans cette idée? Rien, et au fond de nous, nous savons tous que ce serait la meilleure utilisation de notre temps et de notre énergie et que cela nous permettrait d'atteindre nos objectifs plus rapidement. Alors pourquoi ne le faisons-nous pas? La résistance.

J'ai parlé de la résistance dans mon article précédent (lisez-le si vous avez du mal ou si vous vous sentez coincé), alors laissez-moi vous expliquer pourquoi je suis si catégorique sur ce sujet, et laissez-moi vous convaincre de changer votre concentration (à moins que ce ne soit déjà là) à la construction.

Comme Neo in the Matrix, qui a le choix entre la pilule rouge et la pilule bleue, nous pouvons revenir à nos illusions que les ressources qui nous tiennent la main tout le temps sont le meilleur moyen d'apprendre, ou nous pouvons prendre le rouge pilule et embrasser la réalité que nous n'avançons et grandissons que lorsque nous sommes hors de notre zone de confort. (Si vous n'avez pas regardé la matrice, vous devriez probablement le faire.)

Voici quelques-unes de mes réflexions sur la façon d'aborder ces projets, ce qui peut être intimidant au début, ainsi que quelques conseils que j'ai retenus en cours de route.

Cela peut vous prendre même moins d'un an (Quoi?)

Le raisonnement derrière tout cela est basé sur mon expérience personnelle, sur les discussions avec les membres de notre groupe Free Code Camp Toronto, et sur la lecture des voyages des membres partout dans le monde.

Je trouve que le plus souvent, les gens sont capables de trouver un emploi avant même d'avoir terminé la certification Front End Development de Free Code Camp. Ils construisent les projets requis et commencent à postuler. Bientôt, ils reçoivent une offre de codage pour de l'argent.

Si vous lisez le subreddit de Free Code Camp, vous constaterez qu'il y a beaucoup d'histoires comme celle-là.

Notez que les marchés du travail varient d'une ville à l'autre. À Toronto, par exemple, il existe une tonne de possibilités d'emploi pour les développeurs frontaux.

La position officielle de Free Code Camp est que vous devez terminer les 2080 heures du programme. Vous serez probablement un candidat beaucoup plus fort (et commanderez des salaires plus élevés dans des postes plus difficiles) si vous le faites.

Faisons quelques maths:

Le certificat de développement Web frontal avec Free Code Camp prend environ 478 heures. Il y a des gens qui le terminent plus rapidement, mais cela varie en fonction du niveau de préparation de la personne, alors gardons 478 comme base.

Ça fait moins d'un an? Pour les besoins de l'argumentation, nous travaillerons avec 9 mois. 9 mois * 30 jours nous donnent 270 jours.

478 heures / 270 jours, c'est environ 1,8 heure par jour. Cela signifie que nous pouvons coder moins de 2 heures par jour et qu'en 9 mois, nous pouvons devenir prêts pour l'emploi.

Je sais que pour certaines personnes, l'emploi du temps ne prévoit pas deux heures par jour, mais pour la plupart, il est possible de les trouver. Pour d'autres, cela peut prendre un peu plus de temps, mais il y a toujours des week-ends et d'autres façons de trouver (ou de gagner) le temps.

Si vous cherchez des conseils sur la façon de trouver le temps de coder, n'hésitez pas à me contacter sur Twitter et je serai heureux de vous aider.

J'ai pris un peu plus de temps que cela - environ un an et deux mois. Cet article est l'analyse des raisons pour lesquelles cela m'a pris plus de temps qu'il n'aurait dû. J'ai commis toutes les erreurs dont je parle dans l'article. Lorsque je vous donne des conseils, rappelez-vous que je me les donne également. Nous sommes dans le même bateau.

J'ai été embauché avant de pouvoir terminer le programme Front End du Free Code Camp, mais je sais pertinemment que cela m'aidera à grandir en tant que développeur pour revenir et terminer ces projets. Ici-dedans, dans l'article, j'ai placé des liens vers mon profil Codepen (j'en ai un peu honte!) Et quand vous y jetez un œil, vous verrez que j'ai encore un long chemin à parcourir. Alors je dis - faisons-le ensemble! Je m'efforce de terminer tous les projets Front End et d'en faire ma priorité sur tout ce que j'apprends dans un proche avenir lié au code.

Cet article est pour moi et pour vous - pour nous faire surmonter l'inconfort et optimiser notre apprentissage afin que nous puissions arriver là où nous voulons être plus rapidement!

Assurez-vous d'avoir couvert vos bases

Je crois fermement qu'au tout début de votre apprentissage, vous devez absolument utiliser des didacticiels et des ressources interactives en ligne pour vous familiariser avec la syntaxe de HTML, CSS, JavaScript, apprendre à penser par programmation et vous familiariser avec les choses essentielles et de base.

Une tentative de construire des projets tout de suite sans cette connaissance serait trop frustrante. Assurez-vous de ne pas passer trop de temps à ce stade, car c'est très facile à faire.

Quand j'apprenais HTML / CSS / JS, j'allais apprendre des sujets similaires à partir de différentes ressources, pensant que d'une manière ou d'une autre, cela comblerait toutes les lacunes de mes connaissances. Cela a comblé certaines lacunes, mais à un moment donné, j'avais réalisé que j'utilisais ces ressources comme béquille pour m'empêcher de passer à de nouvelles choses, plus excitantes, mais un peu plus effrayantes. Ne restez pas coincé dans des boucles sans fin (probablement une boucle while?;) Pour revoir et revisiter les informations que vous connaissez déjà.

Ne cédez pas à la rationalisation

Lorsque vous commencez à créer des projets, vous serez inévitablement bloqué. Si vous vous y tenez, vous surmonterez la barrière après un certain temps, mais peu de temps après, vous en frapperez une autre. Ce n'est pas une option, et cela arrive à tout le monde.

Dans de tels moments, chaque partie de notre corps crie - faisons autre chose, partons d'ici, cela me met mal à l'aise, je peux m'attaquer à cela plus tard quand j'en saurai plus, j'y reviendrai, et ainsi de suite. Alors nous prenons une pause.

Cependant, nous craignons que notre pause ne s'étire et nous continuerons simplement à coder de moins en moins et à l'abandonner. Pour ne pas laisser cela se produire, tout en gardant notre «décision» de ne pas travailler sur le projet, nous décidons que pour l'instant , nous travaillerons à travers un tutoriel ou un cours en ligne.

Il est très facile de se rationaliser en créant. Personne ne vous dira que vous n'apprenez pas à coder ou ne vous critiquera en aucune façon pour cela. Vous êtes le seul à pouvoir identifier ce qui se passe réellement (peur, aversion pour le risque, résistance) et prendre la décision de continuer à travailler sur le projet.

Croyez-moi, tous les murs s'effondreront si vous les frappez assez longtemps. Pensez aux personnes qui, à l'époque, apprenaient des langues étrangères en ayant deux exemplaires du même livre dans leur langue maternelle et cible. Comment l'ont-ils fait? Ils y sont restés assez longtemps.

Ne commencez pas par votre GRANDE IDÉE

C'est incroyable que vous l'ayez déjà, mais il y a d'autres considérations en jeu ici qui peuvent changer d'avis. La raison pour laquelle je soulève ce point est que j'entends souvent cela de la part des gens: «Je veux créer une application en ligne qui permet aux gens de créer des comptes pour leurs animaux de compagnie, de télécharger des photos, de suivre les emplacements et bien d'autres choses. J'ai récemment commencé à apprendre à coder et je suis déjà en train de développer mon idée. " Cela me fait dire "Whoa whoa whoa".

Ce que je peux facilement voir se produire dans cette situation, c'est qu'une personne est trop engagée dans l'idée, elle commence avec beaucoup d'enthousiasme et la construit lentement, mais avec le temps, son apprentissage ne peut pas suivre les exigences du projet, et cela se sent traînant, toujours au fond de leur esprit, inachevé.

Le pire qui puisse arriver dans cette situation est que la personne abandonnera le projet et, avec lui, abandonnera également le codage.

Je recommande de commencer par des projets simples, et au fur et à mesure que vous terminerez chacun d'eux, vous aurez un sentiment d'accomplissement et une meilleure compréhension de la façon de structurer un projet plus grand.

Imaginez que vous étiez un écrivain et que vous aviez une idée pour un livre majeur de votre vie, et que vous avez commencé à l'écrire tout de suite. Vous auriez probablement à réécrire le tout 3 à 4 fois pour obtenir un niveau de qualité décent, alors que vous pourriez commencer par écrire de petites histoires, obtenir des commentaires, améliorer votre écriture et approcher votre Moby Dick lorsque vous êtes vraiment prêt.

Où trouver des idées de projets

Le meilleur endroit que je connaisse est Free Code Camp. C'est ce que j'ai utilisé après avoir été complètement coincé. Au début de mon parcours de codage, je demandais à tous les développeurs que je connaissais (à la fois hors ligne et en ligne) quel devrait être mon premier projet. Je ne plaisante pas quand je dis (surprise surprise), ils ont tous dit que cela devrait être une application To-Do List. Je pense honnêtement que si nous continuons à créer ces applications de liste de tâches, elles satureront bientôt tout Internet.

Free Code Camp m'a aidé en ce sens qu'il a fourni une liste de projets passionnants, alignés dans une séquence de difficulté croissante. Une autre grande chose est que chacun d'eux est spécifiquement conçu pour vous apprendre un sujet spécifique, par exemple: une page d'hommage mettra vos compétences HTML / CSS à l'épreuve, Show the Local Weather vous apprendra à travailler avec des API, créer un JavaScript La calculatrice améliorera évidemment vos compétences JS, etc.

C'est le point de départ le plus solide que je connaisse pour vous aider à construire. Pour tous les projets que vous terminez, vous pouvez obtenir des commentaires de la communauté, ainsi que voir comment les autres les ont approchés (après avoir construit le vôtre, pas de triche!) »Ou quelque chose de ce genre.

Structurez d'abord votre projet

Avant de commencer à construire, écrivez ce que vous voulez qu'il fasse. Faites rédiger des user stories spécifiques, par exemple: «Les utilisateurs peuvent lire de l'audio lorsqu'ils cliquent sur le bouton du lecteur audio», «Les utilisateurs peuvent se connecter en utilisant leur adresse e-mail et leur mot de passe ainsi qu'en utilisant simplement Facebook».

Votre code doit également avoir une structure de base avant de commencer à l'écrire. Écrivez en pseudocode - expliquez simplement avec des mots ce que chaque partie de l'application ou le code du projet fera.

Exemple de base:

// Lorsque l'utilisateur ouvre une page, saisissez son emplacement

// Envoie une requête au site de l'API météo avec l'emplacement

// Recevoir des données

// Afficher les degrés sur la page

// Changer l'image de fond de la page pour refléter la météo actuelle

N'en faites pas trop, il n'est pas nécessaire d'écrire d'abord toutes les petites choses que votre code fera en pseudo-code, mais ayez les parties principales présentées.

Le meilleur exemple que je puisse vous donner est le suivant: rappelez-vous que lorsque vous écriviez des dissertations à l'école, vous deviez d'abord les structurer, par exemple, une introduction avec votre opinion sur le sujet, 3 points principaux à l'appui de votre opinion et une conclusion .

Cela vous aidera à anticiper les problèmes potentiels et à améliorer la qualité de votre code.

C'est normal de rester coincé

Comme je l'ai déjà mentionné, il est normal de rester coincé. Cela ne veut pas dire que nous sommes stupides, cela signifie simplement que nous ne savons pas encore. Vous vivrez toujours les moments de blocage: pas seulement lorsque vous apprenez, mais aussi au travail.

Le plus tôt vous vous sentirez mal à l'aise, mieux ce sera. Cela rendra vos progrès beaucoup plus rapides. La programmation elle-même est une résolution créative de problèmes. S'il n'y a aucun problème difficile à résoudre pour vous, cela signifie que vous jouez en toute sécurité. Arrêtez de marcher dans l'eau peu profonde et plongez!

Surtout, et je le répète encore, ne vous considérez pas comme stupide. Je sais que c'est facile à faire dans ces moments. Je parle souvent à des gens qui sont passés par la partie HTML / CSS / JS de Free Code Camp avec facilité, éliminant 30 à 40 éléments par jour, puis ils arrivent aux algorithmes de base et intermédiaires et découvrent qu'ils ne peuvent faire que 1– 5 par jour, alors ils arrivent à la conclusion qu'ils sont restés coincés et qu'ils sont stupides, pas assez bons ou pas destinés à être développeur.

J'étais de la même manière aussi, j'avais l'impression qu'il y avait probablement des gens qui venaient de parcourir cette section et je me sentais mal dans ma peau et mes progrès. Maintenant je sais mieux.

Ce que j'essaie de dire ici, c'est que vous devriez apprendre à:

Être au-dessus de ta tête

Vous devez trouver ce niveau de difficulté du projet qui vous maintient au milieu entre les «choses qui sont faciles» et les «choses qui sont encore trop difficiles».

J'ai beaucoup parlé des raisons pour lesquelles il est dangereux de continuer à revoir et à réapprendre le même matériel (les choses faciles), alors parlons du côté opposé de l'équation: les choses difficiles.

Votre règle générale lorsque vous abordez quelque chose de difficile - quelque chose que vous pensez ne pas pouvoir faire - devrait être d'essayer de le faire en premier.

Commencez par la structure de base et essayez de la coder. Si vous êtes coincé sur la même chose pendant plus de trois jours à vous concentrer dessus, laissez tomber pendant un moment et trouvez des choses similaires - mais un peu plus faciles - à faire.

Ce que je trouve, c'est qu'après avoir fait cela, mon subconscient est toujours concentré sur la résolution du problème sur lequel je suis resté coincé. J'ai ces idées aléatoires sur la façon dont je pourrais le résoudre lorsque je fais des choses simples - comme prendre une douche ou laver la vaisselle - cela me frappe soudainement!

Parfois, cela fonctionne exactement de cette façon. Parfois non. Mais le principal conseil ici est de toujours choisir quelque chose qui vous met un peu mal à l'aise . Tout le reste ne vaut pas votre temps.

Résistance

Je veux partager avec vous l'un de mes mots préférés absolus:

Résilience - la capacité d'un système à tolérer les perturbations sans s'effondrer, à résister aux chocs, à se reconstruire si nécessaire et à s'améliorer lorsque cela est possible.

C'est une qualité incroyable que vous en tant que programmeur (et en tant que personne cherchant à réussir dans la vie) devriez travailler à développer en vous-même. Préparez-vous à tous les problèmes, tous les défis, toutes les critiques de votre travail, de vos conceptions, de vos solutions et de tout ce que vous pourriez faire avant même qu'ils ne surviennent.

Avez-vous peur d'être sur scène? Inscrivez-vous pour enseigner aux membres de votre communauté locale les bases du développement Web, ou inscrivez-vous pour prendre la parole à une conférence / événement technologique.

Êtes-vous déçu de la façon dont votre entretien s'est déroulé et de ne pas avoir été embauché par la suite? Avez-vous peur qu'il soit trop tard pour commencer à apprendre à coder? Vous n'êtes pas satisfait du projet que vous venez de terminer?

Recadrez tout cela : que pouvez-vous apprendre de l'expérience pour l'améliorer la prochaine fois? Comment pouvez-vous transformer vos faiblesses en forces?

Par exemple, vous pourriez craindre d'arriver trop tard au codage après avoir suivi un autre cheminement de carrière pendant X années. Recadrez cela dans votre esprit en pensant à une perspective et à une maturité différentes que vous apporterez à l'industrie qui a désespérément besoin de personnes plus matures (psychologiquement) et de milieux plus diversifiés? Vous rendez l'industrie de la technologie plus riche par la décision même d'y entrer!

Si vous entendez une voix en vous dire «vous ne pouvez pas peindre», alors peignez certainement, et cette voix sera réduite au silence. - Vincent Van Gogh

Ce que je peux recommander pour augmenter votre résilience, ce sont ces trois livres:

  1. «Lettres d'un stoïcien» de Sénèque
  2. "L'obstacle est le chemin" par Ryan Holiday
  3. «Turning Pro» par Steven Pressfield

Fixez-vous un objectif quotidien limité dans le temps

Afin de progresser plus vite, vous devez travailler quotidiennement sur vos projets. Cette partie est juste du bon sens. Cependant, vous devez garder à l'esprit certaines considérations supplémentaires.

Au lieu de définir un objectif de résultat («Je vais terminer cette fonctionnalité ou cette partie aujourd'hui»), définissez une période de temps définie que vous passerez à coder chaque jour. Ne faites pas plus de 30 minutes ou une heure par jour.

Je sais que vous voulez vous engager à coder 3 heures par jour et essayer de vous y tenir. Cela fonctionne, mais seulement pour longtemps, jusqu'à ce que la vie entre en jeu. Avec un délai raisonnable - comme 30 minutes par jour - vous saurez toujours que cela peut être fait et que vous aurez toujours une demi-heure par jour à consacrer au codage, surtout si votre objectif principal est d'apprendre à coder. Vous vous retrouverez même à coder davantage certains jours, et cela vous fera du bien, car vous aurez déjà rempli votre quota pour ce jour-là.

Cette limite de temps est plus une astuce psychologique qui fonctionne en raison de la façon dont notre cerveau est câblé. Rappelez-vous que le temps où vous aviez un gros projet dont vous aviez besoin pour démarrer, mais vous avez continué à retarder et à retarder jusqu'à ce que vous ayez juste assez de temps pour le terminer avant la date limite? Vous avez bien fait, mais vous étiez stressé tout le temps avant cela. Ajoutez ensuite à cela le fait qu'il n'y a personne pour vous fixer une date limite pour devenir développeur. Autrement dit, personne, mais vous.

Ce qui se passe lorsque nous définissons un objectif de résultat, c'est que nous ne pouvons pas estimer le temps qu'il faudra pour terminer telle ou telle fonctionnalité. Et le plus souvent, nous finissons par ne pas accomplir ce que nous avons décidé de faire pour la journée. Cela nous fait nous sentir terribles et diminue le désir de nous asseoir et de coder le lendemain.

Avec un objectif quotidien limité dans le temps, vous progresserez chaque jour. Qui se soucie si vous n'avez pas terminé cette fonctionnalité spécifique que vous vouliez conclure aujourd'hui? Vous avez fait des progrès! Vous vous êtes présenté. C'est ce qui vous fait avancer.

Un autre grand avantage est qu'une fois que vous vous êtes assis et que vous commencez à coder, les idées et les solutions commenceront à couler, comme si elles venaient de nulle part (comme pour écrire un article, hein? :). Il sera beaucoup plus facile de vous asseoir et de coder une fois que vous aurez éliminé les attentes et les craintes irréalistes.

Copier du code, c'est perdre du temps

Pendant le processus de construction d'un projet, que ce soit au tout début - lorsque vous ne savez pas par où commencer, ou à un stade ultérieur lorsque vous rencontrez un problème que vous ne pouvez pas résoudre facilement - vous ressentirez un fort désir de regarder au code source du projet pour voir comment cela est fait. Vous rationaliserez que cela vous fera comprendre instantanément le code, ce qui signifie que vous l'avez appris et assimilé. Loin de là.

Ne copiez pas des projets entiers et ne les personnalisez pas. Ne prenez pas des parties du code. N'en prenez même pas des morceaux.

Avec les projets - ne regardez pas le code en premier lieu. Avec ce que vous avez recherché sur Stack Overflow et autres, regardez-le, analysez, comprenez, puis codez-le vous-même à partir de zéro. Vous verrez qu'il est difficile de l'écrire vous-même même après avoir tout vu.

C'est ainsi que la pratique délibérée diffère de la pratique régulière (répétition). Le principal hic de la règle des 10 000 est que la pratique doit être délibérée. Les modèles suivants et les solutions prêtes à l'emploi ne vous mèneront nulle part. Quelqu'un serait probablement capable d'écrire un script Python qui vous remplacera dans tout ce que vous faites, si vous allez dans cette direction. Faites attention à ce qui vous semble difficile.

Une autre idée hors sujet est que si vous avez des difficultés avec un sujet particulier, essayez de l'enseigner aux autres, ou même de leur expliquer simplement la façon dont vous le comprenez. Les résultats suivront pour vous et les apprenants.

La copie de code vous privera de l'opportunité d'apprendre à le faire vous-même, et ce n'est en aucun cas mieux que de suivre un tutoriel. Oui, la solution est là. Oui, vous pouvez le prendre si vous le souhaitez. Mais à quoi ça sert? Essayez-vous d'impressionner quelqu'un avec la rapidité avec laquelle vous avez construit le projet? Ou essayez-vous d'éviter les problèmes difficiles qui prendront du temps à résoudre?

Quelle que soit votre raison, ce n'est qu'une autre façon de retourner dans le confort chaleureux dont nous essayons de nous échapper. Faites le contraire. Courez vers l'inconfort.

Le seul moment où il est acceptable de jeter un œil dans le code des autres, c'est après avoir terminé le projet. Ensuite, regardez autant que vous le souhaitez, analysez-le et apprenez-en.

Chaque problème difficile que vous résolvez vous fait grandir à pas de géant.

Ne répandez pas vos efforts

Je suis très coupable de cela, et c'est en fait un conseil que j'écris plus pour moi que pour n'importe qui d'autre (désolé!). Lorsque vous commencez à travailler sur un projet et touchez les murs que j'ai mentionnés, vous serez tenté de mettre ce projet en attente et d'en démarrer un nouveau.

Cela fait toujours du bien au début, jusqu'à ce que vous frappiez un mur avec le deuxième projet. Ensuite, vous aurez deux projets inachevés entre vos mains. Cela se répétera encore et encore, si vous le laissez.

La solution ici est de vous limiter à 2 projets à la fois. Une fois que vous êtes coincé sur un, passez du temps à le découvrir. Mais si cela semble incassable pour le moment, passez simplement à l'autre projet que vous avez. L'essentiel n'est pas d'en commencer un troisième, car c'est une pente glissante à partir de là.

Vous devriez toujours essayer de faire tout ce qui est possible pour rester sur la voie de l'apprentissage. Si vous en avez marre ou si vous vous ennuyez simplement de ce que vous faites actuellement, faites une petite pause, ajustez-vous et revenez-y. N'abandonnez pas complètement le codage.

C'est pourquoi je recommande toujours d'avoir une petite marge de manœuvre, que ce soit une distraction temporaire sous la forme d'une ressource d'apprentissage différente (limitée à une semaine), ou, dans ce cas, deux projets au lieu d'un.

Votre portefeuille est ce qui vous fera embaucher

Il est très difficile pour un responsable du recrutement ou pour un ingénieur d'évaluer vos compétences uniquement sur la base de ce que vous avez écrit dans votre CV. «Je connais JavaScript! (et avoir 4 ans d'expérience). » "Montre moi!" (Je dois vraiment m'arrêter avec les références Matrix).

Tous les projets que vous créez et mettez en ligne constituent votre CV en direct ultime. N'importe qui peut le regarder et être convaincu que vous savez réellement ce que vous faites.

N'ayez pas peur cependant, cela ne signifie pas que votre code devrait être idéal pour qu'ils puissent même vous considérer. Ces projets aideront la personne chargée de vous interviewer à évaluer correctement votre niveau de compétence.

Vous n'aurez pas à vivre des entretiens bien au-dessus de votre niveau, car une personne des ressources humaines a trouvé un ensemble particulier de mots-clés sur votre CV. Les attentes de votre employeur seront plus à la hauteur de vos capacités réelles.

Les avantages positifs d'avoir votre travail en ligne comprennent:

  • les employeurs voient que vous savez ce que vous faites
  • ils voient que vous travaillez constamment à améliorer vos compétences
  • ils voient que vous êtes en fait un développeur et que vous êtes assez courageux pour mettre votre travail en ligne à la vue de tous.

D'après mon expérience personnelle et ce que j'entends constamment des gens de notre groupe Toronto Free Code Camp, c'est que le facteur le plus important pour trouver un emploi de codeur a été leur portefeuille de projets.

Vous ferez mieux lors des entretiens

Lors des entretiens, il est probable que vous obteniez une vraie petite application Web ou une page à créer, ou que vous ayez un problème à résoudre.

Souvent, avec ces problèmes, la personne qui embauche cherche à voir comment vous pensez en résolvant un problème. Ils ne veulent pas toujours que vous produisiez la solution idéale. Parfois, ils donnent des problèmes qui ne peuvent être résolus simplement pour voir ce que vous allez faire. Vous aurez beaucoup de pratique de ce genre avec des projets: chacun d'entre eux sera rempli de ces mini-problèmes.

Quant aux éléments réels que vous pouvez construire, ils peuvent varier et varieront. Voici quelque chose que j'ai dû construire lors de l'entretien pour mon poste actuel. Je sais que le code n'est pas génial, mais cela devrait vous donner une idée de ce à quoi vous attendre. La seule raison pour laquelle j'ai pu le terminer le jour de mon entretien était parce que j'avais déjà créé des choses comme une application météo et une calculatrice via Free Code Camp.

Vous identifierez les vraies lacunes de vos connaissances

C'est ici que les tutoriels et autres vous jouent un tour. Ils vous font sentir que lorsque vous les avez terminés, vous avez couvert tout ce que vous devez savoir sur le sujet. Mais au moment où vous essayez de construire quelque chose par vous-même, vous serez instantanément coincé - souvent sur des choses très simples.

Pourquoi donc? Parce que les éléments d'information qui vous sont donnés dans un didacticiel ont été choisis par quelqu'un qui l'a créé en utilisant sa propre compréhension de ce que les gens pourraient rechercher. Et parce qu'il est tout simplement impossible de tout couvrir dans un tutoriel.

Le seul moyen de vraiment voir les connaissances qui vous manquent est de continuer à découvrir les lacunes au fur et à mesure. Vous ne savez pas ce que vous ne savez pas. Le processus est donc le suivant: allez, frappez un mur, résolvez le problème, continuez, et ainsi de suite.

Chaque nouveau projet vous fait peur. Que faire?

Je ne sais pas pour toi, mais avec moi ça arrive tout le temps. Je termine un projet et je me sens bien dans ma peau et mes compétences. Puis à la minute où je lis les user stories de mon prochain projet, je deviens paralysé par la peur.

Je me surprends à réfléchir - comment puis-je même commencer? Que dois-je faire en premier? Comment ai-je pu terminer le précédent? Je ne sais rien! * Basculer en mode panique totale *

Il y a quelques techniques que j'utilise lorsque je me retrouve dans cette situation:

Tout d'abord, jetez un œil à tous les projets précédents que vous avez construits. Ils étaient également extrêmement intimidants. D'une manière ou d'une autre, vous avez trouvé un moyen de résoudre les problèmes et de développer ces projets.

Revenir sur vos succès passés lorsque vous êtes dans un moment de faible confiance en vous est une méthode puissante pour vous ressaisir et vous préparer à un nouveau défi.

La clé est de considérer le projet comme un ensemble de petits problèmes à résoudre. Nous n'avons peur que parce que nous voyons tout l'iceberg dans son intégralité, et il vient vers nous. Cependant, si vous utilisez une technique dont nous avons déjà parlé - décomposer le projet en une structure de base - il sera très facile de démarrer.

Oubliez le perfectionnisme

Vous ne faites pas cela pour créer une sorte de projet idéal et étonnant avec un code si beau qu'il fera pleurer les développeurs expérimentés.

L'objectif est de faire ce qui est nécessaire: remplir les user stories qui vous ont été données (ou que vous avez créées pour vous-même) afin que vous puissiez apprendre les mécanismes du fonctionnement d'une certaine technique de codage / fonctionnalité de langage / framework, que ce soit des API, des fonctions, des promesses , etc.

Faites ensuite tout ce que vous pouvez pour améliorer le projet - à la fois la conception, la fonctionnalité et la qualité du code.

Mais à un moment donné, permettez-vous de vous arrêter. Ce n'est pas un concours artistique international. C'est vous et le sujet que vous voulez apprendre. Ne laissez pas le sujet vous effrayer tant que vous ne pouvez même pas commencer.

Les gens qui ont un besoin extrême de tout faire parfaitement sont généralement ceux qui ne font absolument rien.

Je ne pourrais pas commencer par cet article, par exemple, si je passais trop de temps à me demander si ce serait bon ou mauvais, et encore moins parfait. Je savais que c'était un sujet important qui intéressait beaucoup de gens et que je devais écrire sur ce que j'ai découvert jusqu'à présent, dans l'espoir que cela aiderait quelqu'un et faciliterait son parcours de codage.

Si tout devait être parfait, y aurait-il une place pour les croquis dans l'art? Les imperfections sont ce qui les rend uniques, après tout.

Laissez libre cours à votre créativité!

Ne vous sentez pas obligé de rendre votre projet exactement le même que celui que vous voyez sur la page, si vous travaillez à partir d'une description et d'un exemple que vous avez trouvés en ligne. La programmation est autant un art qu'une science.

Prenez ce point encore plus au sérieux si vous faites du front-end.

Si vous créez une machine à citation aléatoire, laissez les citations être de votre personnage préféré. Si vous créez un jeu, laissez les sons et le design être ce que vous voulez qu'ils soient!

Être étrange. Laissez sortir toutes les bizarreries et les différences uniques de votre personnalité. Libérez votre vrai moi.

Concentrez-vous sur la réalisation de toutes les user stories, mais tout le reste dépend entièrement de vous.

Voici la calculatrice Zen que j'ai construite, comme exemple de ce dont je parle. Bien sûr, vous pouvez être beaucoup plus créatif. L'original est ici, bien qu'il ait déjà été mis à jour. La version avec laquelle j'ai travaillé rappelle davantage une application de calculatrice iPhone.

Le Web - et la programmation en général - nous laissent cette liberté. Ne vous retenez jamais. Soyez qui vous voulez, faites ce que vous voulez faire et laissez cela se répandre dans chaque partie de votre vie, y compris le codage.

Voici quelque chose pour l'inspiration et pour illustrer ce que je veux dire:

Les choses ne prennent leur saveur que lorsque vous leur ajoutez de la personnalité! Comparez les peintres hyper-réalistes et Picasso. Pourriez-vous distinguer les peintres hyperréalistes simplement en regardant leur travail? J'en doute fortement. Pourtant, vous connaissez tout de suite un tableau de Picasso. Qui vous fait penser.

Cédez à une distraction - de temps en temps

Parfois, il est normal de faire une petite pause dans les projets, mais pour cela, vous devez avoir des règles.

Idéalement, votre distraction doit prendre moins d'une semaine , que ce soit un cours ou un tutoriel, ou quoi que ce soit d'autre. Il doit s'agir d'un sujet spécifique que vous souhaitez apprendre, de préférence lié à quelque chose que vous devez savoir pour continuer à affiner votre projet.

Sinon, cela me convient parfaitement si vous lisez des livres de programmation ou regardez des vidéos de codage pendant votre trajet, ou en attendant quelque part sans accès à Internet.

Assurez-vous simplement que lorsque vous êtes de retour à votre bureau (ou quel que soit l'endroit où vous codez - pourrait être un lit ou un canapé, n'est-ce pas?), Vous êtes de retour aux choses réelles. C'est votre pratique .

Obtenez des commentaires sur vos projets

En plus de vous aider à combler les lacunes de vos connaissances, les projets vous donnent également un artefact que vous pouvez partager avec le monde entier, en sollicitant des commentaires constructifs.

Faites attention avec qui vous partagez vos projets. Ne laissez pas entrer les personnes trop critiques. Essayez de trouver de vrais développeurs, ou des personnes qui sont également en train d'apprendre, mais qui sont déjà un peu plus avancées que vous. Demandez-leur de revoir votre code et de fournir leurs commentaires. Que pouvez-vous améliorer? Ce qui fonctionne? Qu'est-ce qui ne marche pas?

Cela accélérera encore plus votre apprentissage, car ces personnes aimables vous aideront à découvrir des idées que vous n'auriez pas trouvées autrement.

J'espère vous avoir convaincu maintenant que la création de projets en direct est le moyen le plus efficace d'apprendre à coder.

J'ai personnellement remarqué que les périodes où je construis - par opposition à regarder, lire ou suivre des cours en ligne - sont les périodes où j'apprends le plus. J'espère que votre expérience sera la même que la mienne.

Bonne chance! N'hésitez pas à ajouter vos conseils dans les commentaires de cet article, et partagez également vos projets ici.

Note aléatoire: j'ai écrit cet article en écoutant la bande originale de Tron: Legacy.

Si vous avez aimé cet article, veuillez cliquer sur ❤ pour le recommander ici sur Medium. Cela signifierait le monde pour moi! :)