Article original : The most difficult things about learning to code by yourself — and how to tackle them

Par Xiang Zhou

De nombreuses personnes se sont intéressées à l'apprentissage de la programmation ces dernières années.

Elles découvrent la programmation soit par des cours en ligne, soit par des rencontres hors ligne, ou essaient simplement de se lancer.

Des sites comme code.org, codecademy et freeCodeCamp deviennent de plus en plus populaires. Il existe un grand nombre de cours de programmation disponibles sur le web, ainsi que sur YouTube.

Mais coder n'est pas facile. Voici quelques-uns des défis auxquels nous sommes tous confrontés lorsque nous apprenons à coder.

1. Trouver la "bonne" quantité de temps pour coder chaque jour.

Si vous apprenez à coder par vous-même, il est probable que vous ayez d'autres responsabilités dans la vie.

Vous pouvez avoir un emploi à temps partiel, un emploi à temps plein, ou être un parent à la maison. Le fait est que tout le monde est occupé dans cette vie. Alors, comment trouver le temps de coder chaque jour ?

Certaines personnes peuvent dire : "Eh bien, si vous êtes suffisamment dédié, vous pouvez toujours trouver du temps." Vrai. Je suis d'accord avec cela.

La question devient alors : "Combien de temps devriez-vous consacrer chaque jour à coder ? Si je ne peux obtenir que trente minutes par jour, est-ce que cela compte toujours ?"

C'est une question à laquelle seul vous pouvez répondre. Il est très difficile d'estimer combien d'heures vous devriez coder chaque jour. Certaines personnes suggèrent de garder cela court et simple. 15 minutes suffisent.

De l'autre côté du spectre, j'ai aussi entendu dire que des personnes sont entrées dans le domaine du développement en un an ou deux en codant 9 ou 10 heures par jour. Si vous voulez de la motivation, vous pouvez jeter un coup d'œil à ce fil de discussion.

Le point essentiel est le suivant : seul vous savez combien vous pouvez coder chaque jour, et en faire une habitude sans vous épuiser. La dernière partie est vraiment importante. Le fondateur de freeCodeCamp, Quincy Larson, a un jour écrit sur son fil Twitter :

"Ce n'est pas une question de progression quotidienne, mais de progression chaque jour."

Voici une vidéo d'un développeur senior qui travaille dans le domaine de la technologie depuis des décennies, parlant de la quantité de programmation que les programmeurs font chaque jour au travail.

Ce ne sera pas la référence absolue, mais cela vous donnera une idée de la manière de vous fixer un plan réaliste et, surtout, durable lorsque vous apprenez à coder chaque jour.

2. Trouver l'équilibre entre "ne pas faire suffisamment de progrès" et "s'épuiser".

Pour moi personnellement, j'ai beaucoup lutté avec cela.

Il y a des jours où je ne pouvais tout simplement pas comprendre un seul concept ou extrait de code du livre que je lisais. Cela ne rentrait tout simplement pas dans mon cerveau. Je m'épuisais tellement que je devais me calmer, aller sur le balcon et prendre une profonde inspiration.

À partir de ce moment-là, je me rappelais constamment de ne pas trop travailler au point de ne plus pouvoir revenir en arrière.

La programmation n'est pas facile. Elle exige que vous vous concentriez, surtout lorsque vous apprenez de nouvelles choses. C'est mentalement épuisant, et il y a des moments où vous ne pouvez pas comprendre — pourquoi votre code n'a pas fonctionné, ou même pourquoi il a fonctionné.

Image

J'ai constaté que j'étais le plus productif lorsque je me concentrais vraiment sur le problème sur lequel je travaillais à ce moment-là, mais en même temps, j'étais vraiment détendu, profitant de tout le processus.

C'était lorsque je :

  • Trouvais un problème que je devais résoudre.
  • Trouvais la solution grâce à des forums en ligne.
  • Essayais plusieurs méthodes différentes pour le résoudre juste pour voir laquelle fonctionnait.
  • Résolvais le problème complètement.

Pour faire face au fait que beaucoup de choses que nous apprenons sont assez banales et complexes (structures de données et algorithmes, entre autres), j'ai développé cette règle des 50/50 lorsque j'apprends à coder.

J'utilise 50 % du temps pour faire les tâches difficiles, étudier les bases, les concepts, les algorithmes et autres. Les 50 % restants du temps, je travaille sur mes propres projets, des projets qui me passionnent vraiment. Ainsi, il y a un équilibre dans mon étude quotidienne.

Donc, pour être franc, vous devez aimer ce que vous faites. Ce qui nous amène au point suivant.

3. Aimer ce que vous faites est la seule façon de surmonter tous ces obstacles.

Aussi cliché que cela puisse paraître, parfois c'est simplement la vérité. Si vous aimez le chemin que vous prenez, aimez le travail que vous faites, aimez la direction que vous prenez... vous n'avez pas besoin de reconnaissance du monde extérieur.

Ce type d'accomplissement ne peut être emprunté, remplacé, ou pire, simulé.

4. Continuer à revenir à la programmation APRÈS s'être engagé dans d'autres responsabilités dans la vie.

La réalité est que lorsque l'on parle d'auto-apprentissage, ce ne sera jamais vous seul, présent, apprenant.

Dans la vie, nous avons tous toutes sortes de responsabilités auxquelles nous devons nous engager. Vous pouvez être un mari, une femme, ou le parent de quelqu'un. Vous devez prendre soin de votre famille, ou vous avez un travail auquel vous devez vous consacrer. Ou peut-être êtes-vous un étudiant qui doit terminer son diplôme ou son grade.

Avec tous les devoirs qui nous incombent, où trouvons-nous le temps de coder ?

La vérité est que parfois vous ne pouvez pas ou vous ne pouvez tout simplement pas. Il y a des jours où j'ai sauté la programmation. La plus longue "pause" que j'ai prise a été de deux mois.

Mais après cela, je suis immédiatement retourné à la programmation. Et j'ai découvert que j'avais oublié beaucoup de choses que j'avais apprises. Cela peut être frustrant lorsque vous reprenez le même livre et que vous ne savez tout simplement pas comment continuer. "Mon Dieu, dois-je vraiment relire tous les chapitres et refaire toutes les quêtes ?"

C'est le moment où vous devez persévérer, où vous devez vous accrocher.

Vous devez vous dire : "D'accord, cette première heure d'étude peut sembler vraiment lente et pas très productive. Mais ce n'est pas grave, je rattraperai cela en apprenant davantage demain."

Il n'y a pas moyen de rendre cela plus facile, il faut continuer, continuer à avancer. Allez sur un forum de programmation ou Twitter et exprimez votre frustration. Mais une fois que vous l'avez fait, retournez immédiatement à la programmation.

5. Gardez-vous motivé, de quelque manière que ce soit.

L'auto-apprentissage est très différent de l'école. Il n'y a personne autour de vous lorsque vous codez. Il n'y a pas de camarades de classe, il n'y a pas d'interactions sociales, vous ne pouvez pas trouver cette "grande cérémonie" qui vous attend au bout du tunnel. La plupart du temps, vous le faites seul. Et la plupart du temps, vous êtes seul.

Vous devez donc trouver une sorte de motivation pour continuer à avancer.

Je consulte souvent ce sous-reddit (r/macsetups) parce que beaucoup de gens là-bas sont des développeurs. Et ils utilisent tous le même matériel puissant pour créer les logiciels qu'ils veulent créer. Il n'y a rien de plus gratifiant que cela.

Récompensez-vous également, et faites-en une habitude.

Cela peut être petit ou grand. Cela peut être une douche chaude à la fin de la journée, ou une boisson fraîche. Dites-vous que vous faites du bon travail. C'est souvent nécessaire lorsque vous apprenez à coder. Accrochez cette photo au mur devant vous — parce que vous devez croire qu'un jour vous pouvez être la personne qui est assise devant.

Image

6. Ne tombez pas dans le piège de "l'apprentissage pour l'apprentissage". Allez aux entretiens, aux rencontres, et postulez pour des emplois.

Il arrive que nous nous laissions distraire lorsque nous apprenons à coder. J'ai senti qu'il y a des moments où vous voulez simplement être paresseux. Non pas que vous ne vouliez plus apprendre, mais de manière à ce que vous espériez secrètement qu'en restant assis devant votre moniteur toute la journée, vous n'auriez pas à affronter le vrai défi : Obtenir un emploi en tant que développeur.

Ne tombez pas dans ce piège de penser "J'apprends, donc c'est suffisant. Je penserai aux emplois plus tard, quand je serai prêt."

C'est quelque chose que je devrais faire plus souvent, pour être franc. Contacter des clients potentiels, même si c'est pour construire des sites web gratuitement pour la famille et les amis.

Ainsi, la prochaine fois que vous irez à un entretien, vous pourrez montrer le type de travail que vous avez fait. Cela ajoutera de la valeur à votre CV. La première étape est toujours la plus difficile. Mais vous devez la faire quoi qu'il arrive.

Tous les points ci-dessus sont des défis/situations auxquels vous serez confronté sur la route pour devenir développeur. Reconnaissez-les, affrontez-les avec la bonne attitude — ces obstacles que vous rencontrez ne peuvent que vous rendre plus fort et meilleur.

Enfin, mais non des moindres, bon codage ! Profitez de ce que vous construisez, qu'il s'agisse de votre projet ou de votre propre avenir.

Suivez-moi sur Twitter, sur GitHub (où j'ai fait un résumé de la célèbre série YDKJS), et consultez mon site web slowpacedcoding.com pour plus d'articles comme celui-ci.