Pourquoi tant de développeurs abandonnent avant même de trouver un emploi. S'il vous plaît - ne le faites pas.

«Prototypes, objets, algorithmes… ces petits pas entre les étapes que vous ne savez pas comment implémenter. Grrr… penser comme un programmeur.»

Terminez cette phrase:

Ma dernière session de codage était…

  1. Aussi doux que de la soie. Je me suis assis confortablement, j'ai mis le feu à mon éditeur et j'ai plongé dans le beau monde des 0 et des 1. Ces 3 heures se sont écoulées comme 30 minutes!
  2. Trop ennuyeux. Je me suis à peine forcé à m'asseoir et à coder. Rien n'a très bien fonctionné, des erreurs surgissaient tout le temps et tout n'a toujours pas de sens pour moi. Ces 30 minutes ressemblaient à 3 heures!

Je suppose que c'est la réponse n ° 2.

Et pas parce que c'est si courant et que cela m'est arrivé (même après 8 ans de programmation).

La réponse n ° 1 est bizarre. Qui parle même comme ça?

OK OK. Nous parlerons de débordement dans la programmation. Je sais que nous avons tous été là - il arrive ainsi trop souvent et nous déteste.

Mais j'ai essayé d'aller plus loin.

Au cours des dernières années, j'ai eu affaire à de nombreux développeurs juniors. Y compris certains qui:

  1. Récemment fait irruption dans la technologie et s'est senti perdu
  2. Je suis resté coincé dans la «phase du tutoriel» et a grincé des dents chaque fois qu'ils devaient coder sans supervision
  3. Avaient en fait du talent mais ont échoué aux interviews ou n'ont même jamais reçu d'appel

Où est le point de rupture?

Comme l'essentiel de mon travail est d'aider les nouveaux développeurs à trouver un emploi, j'ai pris le temps d'étudier leurs problèmes et d' essayer vraiment de comprendre leurs besoins.

J'ai parlé à des collègues de mon entreprise. J'ai fait des recherches sur des groupes Facebook, des forums, des sites Web de questions-réponses, d'énormes fils de discussion Reddit et même sondé quelques petites communautés.

Voici une partie de ce que j'ai trouvé:

«J'avais l'impression de copier ce qui était dans les vidéos et c'était tout.» «Je dois me contenter de chercher sur Google des exemples existants que quelqu'un d'autre a déjà écrits. Je me sens comme un enfant de 3 ans essayant de résoudre des énigmes de calcul. C'est tellement frustrant. »« Je ne peux tout simplement pas penser comme un programmeur. »

Et mon préféré:

«C'est ce que j'ai appris en apprenant à coder: vous vous sentez confus et complètement indigne comme 99% du temps. Mais une fois que vous faites fonctionner quelque chose, c'est MAGIQUE.

Avez-vous remarqué quelque chose?

Les luttes de ces gens ne viennent pas d'un manque d'efforts. Ni d'une mauvaise stratégie d'apprentissage ni d'une mauvaise discipline.

Ils n'ont tout simplement pas assez d'expérience.

Pourtant, bon nombre de ces personnes étaient sur le point d'abandonner la programmation.

En quoi cela se résume - Deux mythes

J'ai constaté qu'au fond de la plupart des difficultés auxquelles sont confrontés les développeurs débutants, il y avait deux mythes populaires sur les carrières dans le développement de logiciels.

Je veux les briser tout de suite et j'espère éviter la surcharge et la pression supplémentaire qu'ils causent aux apprenants.

Mythe n ° 1: Si vous n'aimez pas la programmation, ce n'est pas pour vous.

C'est quelque chose programmeurs débutants I entendre dire beaucoup .

Et je ne suis absolument pas d'accord.

Non, vous n'avez pas besoin d'aimer la programmation pour devenir programmeur. En fait, plus de 50% des développeurs professionnels le détestent parfois (mon observation personnelle).

Vous voyez, c'est bien de résoudre un problème avec élégance. Cela fait du bien quand votre code est soigné, propre, bien testé et résout les problèmes des gens.

Mais ce n'est pas 100% du temps - pas même à distance. La plupart des jours de travail des programmeurs ne passent pas par eux en pensant:

"Oh, comment j'ai appliqué le modèle de conception d'injection de dépendances pour découpler élégamment mes classes et rendre ma base de code plus facile à maintenir à l'avenir." (auto-high-five)

Nan.

Même ceux qui parlent comme s'ils en aimaient chaque seconde passent beaucoup de temps sur un travail ennuyeux, monotone ou frustrant. Vous pouvez entendre des jurons dans un bureau de programmation au moins autant que dans un service de voiture. Honnêtement!

C'est parfaitement bien si vous détestez parfois la programmation.

Oui, "peut-être que ce n'est pas pour moi?" est une question courante lorsque vous êtes dépassé et frustré. C'est juste normal. Pourtant, la programmation est faite pour vous. Si vous lisez ceci, cela signifie que vous vous souciez. Si vous vous souciez, vous y arriverez.

Mythe # 2: Il y a tellement de choses que je ne sais pas. Je n'apprendrai jamais tout ça!

C'est une autre pensée très courante (peut-être plus importante que le mythe n ° 1). J'ai entendu beaucoup de mes lecteurs s'en plaindre. Et je peux absolument voir le raisonnement derrière cela.

Nous sommes dans un domaine si vaste que plus vous creusez profondément, plus vous réalisez que vous ne savez pas.

Même penser à cela m'a fait me sentir mal. Mec, c'est si facile d'être dépassé.

Le bon côté: vous n'êtes pas obligé de tout savoir. Vous devez en savoir juste assez pour savoir comment découvrir ce que vous ne savez pas.

Pour l'instant, assurez-vous de connaître les bases de haut niveau de tout ce avec quoi vous travaillez.

Reconnaissons cela avec un exemple.

Si vous expérimentez avec CSS, sachez que c'est pour appliquer des styles aux éléments HTML. Vous pouvez faire en sorte qu'un bouton ait une bordure, une couleur, une ombre ou une animation. Vous ne pouvez pas dire ce qui doit se passer lorsque vous cliquez sur le bouton (vous avez besoin de JavaScript pour cela).

Donc, si vous devez animer une image lorsqu'un bouton est cliqué:

  1. Tout d'abord, vous devez avoir l'image et les éléments du bouton (HTML)
  2. Ensuite, vous pouvez définir une animation pour une classe spécifique (CSS)
  3. Et vous pouvez ajouter la classe à l'image lorsque vous cliquez sur le bouton (JavaScript)

Disons que vous avez lu ceci dans un tutoriel une fois. Une semaine plus tard, vous devez ajouter une ombre à une image lors de la soumission d'un formulaire. Vous savez quoi chercher. Vous avez une compréhension globale du HTML, du CSS et du JavaScript et de la partie dont ils sont responsables dans cette fonctionnalité.

Le reste consiste à rechercher les bons mots sur Google. Dans ce cas, «css add shadow» et «javascript callback form submit».

Vous voyez ce que nous avons fait là-bas?

Apprendre la programmation de la «bonne» façon

Comme vous le voyez et le savez probablement d'après votre propre expérience, l'apprentissage de la programmation prend du temps - parfois des années. Malgré ce que disent certains cours «apprendre la programmation en 2 semaines»!

Au début, il est important de développer les bonnes habitudes pour apprendre efficacement. La plupart des premiers jours que vous passez sur des didacticiels, des directives, de la documentation ou souvent les trois en même temps. C'est ce que nous faisons tous.

Certains tirent le meilleur parti de leurs heures d'apprentissage. Pendant ce temps, d'autres ont l' impression de progresser, mais ne copient et ne collent que des commandes et suivent les instructions.

Il y a une habitude pour maximiser les heures d'apprentissage et cela s'appelle «Apprendre lentement».

C'est une manière légèrement différente d'aborder les tutoriels qui:

  1. Rend la programmation plus amusante (car l'ennui est un problème courant)
  2. Vous rend moins dépendant des tutoriels
  3. Utilise la gamification

Vous pouvez l'essayer avec cet exercice de 4 minutes à la fin de l'article. Faites-moi savoir comment ça se passe!

Cet article a été initialement publié sur MyFirstITJob.

Et après?

Ne pas abandonner et apprendre efficacement est formidable - mais parfois pas assez pour vous trouver un emploi de programmation.

Ensuite, je me concentrerai sur ce que les employeurs recherchent chez un développeur junior et comment se démarquer de la foule pour n'importe quel poste.