Salut tout le monde! L'essentiel est de se fixer un objectif - 1Il se trouve que j'ai terminé ma période d'essai il y a longtemps, mais (étonnamment) trouver le temps d'écrire n'est plus si facile. Je vais commencer par le tout début. Je m'appelle Mikhaïl, j'ai 27 ans. Je veux dire tout de suite que je n'ai pas fait d'études supérieures (dans le processus de recherche d'emploi, cela a joué un rôle - certains pourraient dire que cela m'a fait une blague cruelle, mais pour moi, c'était plutôt une faveur), même si j'ai trois instituts derrière moi. Après l’école, je suis entré à l’Université technique nationale de Biélorussie, mais je n’ai même pas commencé à étudier. Il a déménagé à Moscou, est entré dans une université d'économie peu connue pour étudier le marketing et la publicité, a étudié pendant un semestre et a abandonné ses études. Après cela, il entre à l’Institut Ostanskin pour se spécialiser en ingénierie du son, où il suit deux cours. On pourrait donc dire qu’avant de devenir développeur, j’étais ingénieur du son. Ma carrière dans ce domaine a été rapide et éphémère - dès la deuxième année de travail, j'ai réalisé qu'il serait assez problématique de grandir ailleurs dans ce domaine. Après avoir quitté l'ingénierie du son, j'ai travaillé dans la publicité pendant deux ans, où j'ai également compris que mon développement dans ce domaine était terminé - je n'étais pas une personne créative et il n'est pas nécessaire de beaucoup d'intelligence pour calculer des métriques - c'est ennuyant. Ainsi, je suis entré en septembre 2016 avec un cahier de travail en main et une réserve de fonds pour environ six mois. Ici, il convient de rendre hommage à une ressource sensationnelle sur la formation des programmeurs - ses spécialistes du marketing m'ont inculqué la confiance que moi, en tant que gars assez intelligent, je pourrais facilement apprendre à devenir programmeur en seulement six mois. Ainsi, j’ai identifié mon objectif et réorganisé ma vie pour que rien ne s’oppose à sa réalisation. Étudier sur cette ressource s'est avéré inutile en termes de compétences professionnelles, donc après le deuxième webinaire, j'ai réalisé qu'une approche différente était nécessaire. Heureusement, grâce à mes camarades de classe, j'ai découvert deux ressources absolument merveilleuses : la plateforme Stepik et celle sur laquelle vous lisez ceci. Fin septembre, j'ai commencé à suivre un cours sur JavaRush, tout en suivant simultanément des cours que je trouvais utiles sur stepik : mathématiques discrètes, un cours sur java, et plusieurs cours sur les algorithmes et les structures de données. Fin octobre, j'ai terminé une partie des cours, complété 10 niveaux gratuits sur JavaRush, puis je suis resté assis dans les montagnes pendant environ un mois, sans vraiment me soucier d'autre chose que de survivre. Il faut aussi se reposer. En décembre, j’ai repris mes études avec une vigueur renouvelée. Fin décembre, j'ai acheté un abonnement et j'ai galopé à travers les niveaux. Je me suis entièrement consacré à ce processus - j'ai reconstruit ma routine (j'ai dormi pendant la journée quand la fille n'était pas à la maison, j'ai passé plusieurs heures avec elle le soir, puis j'ai travaillé toute la nuit et la matinée (environ 12 heures au total), je suis allé à l'entraînement le matin (j'écrirai sur la nécessité de l'activité physique dans un article séparé, sachez simplement que si vous comptez vous lancer sérieusement dans ce métier, ce n'est pas seulement souhaitable - c'est une condition nécessaire pour une vie de qualité. Un mode de vie sédentaire tue). J'ai dormi. Et ainsi tous les jours, sans exception. J'ai créé un système de fer, et toute déviation m'a déstabilisé pendant plusieurs jours. Pour être honnête, les derniers niveaux m'ont plutôt déçu (le petit nombre de tâches et la théorie vague, et même le validateur qui devient fou avec la mise à jour des ressources m'ont gâché le sang). Quoi qu'il en soit, en février, un beau et joli chiffre « 40 » est apparu à côté de mon avatar. J'ai laissé derrière moi 7 problèmes, dont 6 n'avaient pas été soumis au validateur à ce moment-là, et j'étais complètement réticent à en traiter un seul. À ce moment-là, j’aurais déjà dû commencer à chercher un emploi, d’autant plus que mes modestes économies étaient épuisées. Cependant, j'ai jugé nécessaire de maîtriser Git, Maven, Gradle, de comprendre SQL et de me faire une idée de Spring. Il m'a semblé que j'avais maîtrisé Git en quelques jours (dans l'environnement de travail, en fait, j'ai dû tout répéter), j'ai compris Maven à un niveau de base plutôt intuitivement, j'ai pris un assez bon cours à Gradle sur Udemy, j'ai amélioré SQL sur sql-ex , sur Spring, j'ai lu le livre Spring in Action (plus que suffisant pour commencer). Fort de ces modestes connaissances, j’ai commencé ma recherche d’emploi début avril. Le premier entretien a eu lieu deux semaines plus tard. Avant cela, j'ai fait un devoir de test qui ressemblait étrangement au devoir de test avant le stage chez JR (ce que j'ai également fait, même si je n'ai finalement pas obtenu le stage). Au cours de l'entretien, j'ai réalisé deux choses : premièrement, je suis complètement incapable d'expliquer les choses de base avec des mots, et deuxièmement, je me suis mis la barre assez haute - en fait, toutes les questions de l'entretien étaient consacrées uniquement à Core (et littéralement quelques questions sur SQL). L’entretien s’est cependant bien déroulé et ils ont accepté de considérer ma candidature. Cependant, après deux semaines, je n'ai toujours pas reçu de réponse claire de leur part (tout le monde a demandé d'attendre un peu, apparemment ils regardaient d'autres candidats). Finalement, je les ai abandonnés et j'ai continué mes recherches. Naturellement, j'ai rendu visite à Sbertech (comme beaucoup de diplômés de JR), à ce moment-là, j'avais complètement amélioré mes compétences en matière de réponse aux questions, donc l'entretien s'est bien passé, mais à la fin, il s'est avéré qu'ils ne pouvaient pas m'embaucher sans études supérieures. C'était assez ennuyeux, mais c'était pour le mieux, je suis en quelque sorte convaincu que travailler dans le secteur bancaire est un stigmate pour la vie. La troisième interview m’a amené là où j’en suis maintenant. C'était une interview non standard, ils m'ont posé juste quelques questions sur Core, ils m'ont posé des questions plus sur Spring (et à un niveau assez profond, sur le cycle de vie des beans, les aspects, Spring MVC), quelque chose sur Groovy. Concernant Java, ils ont également posé des questions non standard, par exemple sur la façon dont StringBuilder est structuré à l'intérieur, où le hashcode est stocké lorsqu'il est calculé. Il y avait des questions sur JavaScript (je l'ai aussi appris de manière générale en cours de route) et plusieurs énigmes. Dans l’ensemble, j’ai répondu à environ la moitié des questions et j’ai quitté l’entretien déçu. Cependant, le lendemain, j'ai reçu une offre avec un salaire dont je n'avais même jamais rêvé lors de mon premier emploi. C'était fin avril - un peu plus de 8 mois s'étaient écoulés depuis que j'avais appris en quoi une classe diffère d'un objet. La société s'appelle MASTERDATA, c'est un grand intégrateur de SAP, 1C, Hybris et d'autres solutions d'entreprise. Je me suis retrouvé dans le département E-commerce, nous développons des sites Web pour les boutiques en ligne. Beaucoup de gens écrivent que dès le premier jour, ils se sont retrouvés à la pointe d'un nouveau projet et ont commencé à écrire des centaines de lignes de code. Ce n'était pas comme ça pour moi. Pendant le premier mois, j'ai fait à peu près la même chose qu'à la maison : je me suis assis et j'ai étudié, bien que plus concentré. J'ai choisi JQuery, Apache Solr, MQ, Velocity, je me suis plongé dans MVC et j'ai appris Groovy. J'ai abordé des technologies très exotiques, comme JBoss Drools. Un mois plus tard, j'ai commencé à écrire une API REST pour intégrer notre projet actuel au site Web d'un partenaire. Chemin faisant, j'ai étudié différents modules du projet (pour comprendre l'ampleur du drame, le projet compte près de 10 millions de lignes de code, sans compter le front et les configurations). Pour le moment, je connais environ 10% du projet. Une nouvelle étape de développement va bientôt démarrer : nous allons créer deux nouveaux sites pour un client actuel. Bien sûr, cela vaut la peine de dire que je n'ai pas regretté ma décision une seule minute - la programmation s'est avérée être tellement mon occupation qu'il semble que je puisse le faire sans interruption pour dormir et manger. En conclusion, quelques conseils à tous ceux qui poursuivent un objectif élevé :
  • Gardez à l’esprit que vous devrez étudier toute votre vie. Vous ne serez jamais un assez bon développeur. Tout d’abord, apprenez à étudier. Apprenez à Google, apprenez à poser des questions correctement, apprenez à apprécier le processus d'apprentissage.

  • Deuxièmement, trouvez le bon équilibre entre le travail physique et mental. Surveillez votre posture, ne vous affalez pas devant l'ordinateur, échauffez-vous régulièrement, commencez à aller à la salle de sport (le développement harmonieux de votre corps est aussi un art, ne vous précipitez pas dans cette piscine sans réfléchir, sinon vous ne ferez que vous blesser. C'est mieux vaut s'entraîner avec un entraîneur, mais seulement si vous en avez un bon. S'il n'y a rien de bon, alors la meilleure (peut-être la seule) source de connaissances sur la formation en santé est la communauté LJ ru_healthlife). Si vous pensez que cela n’a rien à voir avec le problème, vous vous trompez. L’activité physique a également un effet très positif sur l’activité mentale.

  • Troisièmement, arrêtez de vous motiver. La ressource de motivation et de volonté de chacun est très limitée. Oui, certains en ont plus, d’autres moins, mais tôt ou tard, cela finira d’une manière ou d’une autre. La discipline fait la différence. Commencez à étudier à la même heure chaque jour. 5 minutes ou 5 heures, ce n'est pas si important, l'essentiel est de faire le nécessaire. Et le résultat ne se fera pas attendre.

C'est tout, merci pour votre attention. Bonne chance à tous!