À ma manière Java
Comme beaucoup ici, j'ai longtemps voulu écrire l'histoire de mon entrée dans la voie d'un développeur Java. Et maintenant, j’ai pu le mettre en œuvre. Je vais commencer de loin.
Tout a commencé le 23 janvier 2003. Ce soir-là, je suis rentré à la maison après l'école et le club de théâtre, je suis entré dans la pièce et j'ai vu des cartons par terre. Un très gros. Et quelques autres, plus petits. Oui, c'était ça - mon premier ordinateur : AMD Athlon XP 1800+, 256 Mo de RAM, NVidia GeForce 2 64 Mo et 40 Go de disque dur. A partir de ce jour important commence une nouvelle histoire de ma vie. Ensuite, j'étais en 9e année. Qu'ai-je fait dès que je l'ai installé et allumé ? Bien sûr, jouez !!! J'ai abandonné la vie pendant environ 4 ans. Quake, Doom, Warcraft, Starcraft, Diablo, Command et Conker Generals, Civilization, Silent Hill, Deus Ex, GTA, Farcry, etc. Il y a eu de nombreux conflits avec ma mère, qui ne m'a pas permis de jouer pendant longtemps et m'a dit moi pour faire mes devoirs. Oui, ce n'était pas facile de passer aux études à l'école, puis au collège. Après tout, il existait un monde virtuel si merveilleux où, pour y obtenir certains succès, dans les jeux, vous deviez effectuer des actions prédéterminées, vous pouviez toujours lancer une sauvegarde précédente et réaliser ce que vous vouliez. C'est peut-être dans la vraie vie... Bref, j'ai passé une grande partie de ma vie à jouer à des jeux. Mais! Il y avait pour moi un plus très important dans tout cela. De temps en temps, les jeux ne démarraient pas, ralentissaient ou ne s'installaient tout simplement pas. Et à ces moments-là, il y avait un grand désir de comprendre le problème. Et puis j'ai installé, réinstallé, configuré et optimisé tout ce que je pouvais. En commençant par retravailler les partitions du disque dur et en modifiant le système de fichiers en réinstallant Windows, en terminant par le réglage du registre et des fichiers de configuration du jeu. Grâce aux connaissances ainsi acquises, je me suis fait connaître parmi mes amis comme un « programmeur ». Aidé avec leurs ordinateurs, réinstallation de Windows, suppression de virus, etc. De plus, à cette époque, je n'avais pas encore accès à Internet et j'achetais des disques avec des logiciels sur les stands appropriés. Et puis un jour, en été, après avoir à peine terminé ma première année d'université technique, j'ai décidé de commencer à vendre mes compétences. J'ai noté une annonce dans Word intitulée « Aide d'urgence informatique » et je l'ai publiée partout dans le village où j'habite. Il y en avait assez pour « de la bière et du chewing-gum ». Puis, en 5e année, au lieu de rédiger une thèse avec diligence, j'ai trouvé un emploi grâce à une connaissance en tant qu'administrateur dans un petit bureau véreux. Pour la première fois, j'ai découvert le domaine Windows, le travail en réseau, le pare-feu Kerio Winroot. Lorsque j'ai obtenu un diplôme dans la spécialité « Informatique, complexes, systèmes et réseaux » en 2010, je me suis vu 2 voies : programmeur ou administrateur. L'expérience en programmation se limitait aux travaux de laboratoire, aux cours et aux études supérieures. Même alors, j'ai compris ce qu'étaient les tableaux, les boucles, les instructions conditionnelles et les classes. Mais je n’ai jamais vraiment été attiré par le codage. Il y a eu des tentatives pour apprendre à coder alors qu’il était encore à l’école. Mais GTA a réussi à interrompre ce désir. Cependant, il convient de noter que j'ai codé avec beaucoup de plaisir. J'ai aidé mes camarades de classe avec les laboratoires. Mais comme j’avais plus d’expérience en matière administrative, j’ai choisi cette voie. Dans l'un des emplois suivants, Lorsque j'ai résolu les problèmes accumulés, j'ai décidé qu'il était temps de me lancer dans Linux. Je m'asseyais au travail le soir et j'expérimentais. Le résultat a été la mise en place d'une passerelle vers Internet avec un pare-feu, la redirection de port, la connexion à Internet via Wi-Fi, la connexion à un VPN. Oui, pas très cool, je suis d'accord. Mais c'était un bon début. Grâce à ces connaissances, j'ai pu décrocher un emploi en 2011 en tant que chef du département d'implémentation et de support. J'avais 4 personnes subordonnées à moi. Nous implémentions un client lourd en Java Swing dans les magasins et entrepôts d'une entreprise de bijouterie. Maintenant, je comprends quelle chose intéressante nous étions en train de mettre en œuvre ! Mais ensuite, les subtilités de mise en œuvre de ce logiciel m'intéressaient peu. J'habitais à Kazan. Et j'ai longtemps voulu m'essayer dans la vie indépendante. Je voulais vraiment aller à Nerezinovaya pour ça. Ainsi, après un certain temps, tout en continuant à travailler dans la même organisation, fin 2012, j'ai déménagé à Moscou. Ooooh, c'est le métro ! Ces rues gigantesques avec un flux rapide de voitures chères ! Ces énormes flux de personnes sont partout ! J'étais incroyablement attiré par tout cela. J’étais fier d’avoir pu réaliser ce déménagement. Après avoir mis fin au projet, mi-2013, j'ai décidé qu'il était temps de m'éloigner de la configuration informatique, du support technique et de l'administration. Tout cela me paraissait frivole. J'ai vu 2 options : l'analyse ou la gestion de projet. Il y avait un poste vacant qui indiquait la possibilité d'évoluer vers les postes que j'ai indiqués. Ils m'ont emmené là-bas.... Et là j'ai réalisé... Ce que je ne voudrais jamais faire de ma vie ! Il y a eu un moment où, alors que je réorganisais les pages du rapport sur les contrats gouvernementaux dans le bon ordre, j'ai soudain réalisé ce qui se passait. Oh mon Dieu!!! J'ai déjà un quart de siècle !!! Je me tiens debout et fouille dans ces morceaux de papier, après avoir copié et collé intellectuellement le texte des mêmes morceaux de papier pour la dernière période de référence !!! Mais avant cela, je faisais des choses intéressantes avec les serveurs, j'organisais les processus de travail, j'aidais les gens... Ce fut un tournant dans ma vie. Une sorte de « crise professionnelle ». Et j’ai donc commencé à analyser ce que je devrais faire de ma vie. Jusqu'à ce qu'il ne soit pas trop tard. J'en ai marre de faire la maintenance. Je voulais créer et créer quelque chose moi-même. C'était la principale raison de la fermentation dans l'esprit. Je me suis souvenu que j'étais plutôt bon en codage à l'université. Je me suis souvenu que les programmeurs gagnent beaucoup d'argent. Je me suis souvenu qu'il existe un langage Java sympa, un client lourd sur lequel nous avons implémenté et dont les programmes peuvent fonctionner sous n'importe quel système d'exploitation. Et puis la recherche de matériel pour étudier la langue a commencé. Je ne me souviens pas comment j'ai découvert JavaRush. C’était vers octobre 2013. La façon dont les informations étaient présentées et le grand nombre d’exemples m’ont vraiment attiré. Je suis allé travailler, je me suis assis devant l'ordinateur, je suis rentré du travail et le soir, je me suis assis à nouveau devant l'ordinateur pour étudier. Parfois, je restais assis jusque tard dans la nuit. Les 10 premières leçons ont été très faciles pour moi, car... de nombreux concepts m'étaient familiers. Pour avoir plus de temps pour étudier, j'ai arrêté d'aller à la salle de sport, j'ai pris des poids et j'ai travaillé avec eux à la maison. Vers décembre, j'ai prévu que je ne commencerai à chercher du travail qu’à la fin du mois de mars. Mais j’ai commencé à accorder une attention particulière au travail. Je ne me suis pas efforcé d’obtenir plus de tâches, je n’ai pas fait preuve d’initiative. Et je détestais ce travail. Parfois, j'effectuais effrontément des tâches JavaRush directement sur mon ordinateur de travail pendant les heures de travail. Le résultat ne s'est pas fait attendre : début janvier 2014, ils m'ont informé que je ne travaillerais pour eux que jusqu'à la fin du mois. Ce fut bien sûr un choc. Savoir que je me retrouverais sans revenu de base alors que je devrais payer un logement était très inquiétant. J'ai lu avec diligence des articles tels que « 100 questions posées aux juniors Java lors d'un entretien ». Eh bien, j'ai continué à étudier Javarash. J'ai atteint environ le niveau 17. Je suis allé à différents entretiens. Et ainsi, dans l'une des organisations, ils m'ont confié une tâche de test à écrire. Il était nécessaire d'écrire un programme qui déterminerait si tous les dominos pouvaient être placés sur une seule ligne. Si oui, affichez cette solution. Inspiré, je me suis assis devant l'ordinateur pour l'écrire et... j'ai été horrifié ! Dans les conditions de serre des tâches JavaRush, il était très confortable de s'asseoir et d'écrire du code. Mais ici, nous avons dû tout inventer à partir de zéro, à partir de zéro, pour ainsi dire ! C’est là que sont apparus mes premiers doutes avant de prendre la décision de devenir programmeur. C'était très difficile pour moi d'écrire du code ! Je ne connaissais pas vraiment grand chose aux bases de Java, mes connaissances étaient très superficielles. Et on ne savait pas comment résoudre ce problème. Mais j'ai quand même réussi à trouver un algorithme de solution sur Internet à l'aide de graphiques - tout se résumait à trouver le chemin d'Euler. D'ailleurs, mon collègue de mon emploi précédent m'a beaucoup aidé pendant toute la période d'apprentissage de Java. Juste celui qui a écrit ce client lourd en Java. Il m'a beaucoup aidé pour tout. Il a notamment aidé à résoudre le problème en utilisant la méthode récursive. Et donc, j’ai envoyé la tâche pour examen. Puis il y a eu 2 longues semaines d'attente pour une réponse... Mais tout s'est bien passé ! Ils m'ont emmené !!! Hourra, je l'ai fait ! Le 5 mars 2014, j'ai commencé à travailler en tant que développeur Java. Le bonheur ne connaissait pas de limites. En grande partie aussi parce que je me suis retrouvé dans une entreprise spécialisée dans les paiements électroniques. Et ils traitent très bien le personnel. Il suffit de regarder leur bureau chic et leur café et thé gratuits : à l'époque, c'était une nouveauté pour moi. Et là, je suis assis, en train de trier le projet... Et je me rends compte... Que je ne comprends absolument rien ! Servlets, filtres, analyseurs Xemel, requêtes esque, commits sur le référentiel, get et post, tests unitaires... Tout cela était nouveau pour moi. Parce que je n'ai appris que récemment à utiliser les interfaces. Il y a eu des moments où j'ai regardé le code, parcouru les chaînes d'appels de méthodes et approfondi de plus en plus le code. Et puis je me rends compte que j’ai oublié où j’ai commencé ma recherche. De temps en temps, j’avais l’idée de me lever et de m’enfuir ! Et puis il y a les allergies printanières et les problèmes dans ma vie personnelle. Le cerveau refusait tout simplement d’avoir le temps de tout comprendre. En bref. Je n'ai pas réussi la période d'essai. Après 3 mois de séjour dans cette organisation luxueuse, j'ai signé une rupture de contrat de travail. C'était extrêmement stressant. Je ne pouvais pas le gérer ce dont j'ai tant rêvé. L’estime de soi a été grandement endommagée. Des cheveux gris sont apparus. Mais j'ai décidé de continuer ce que j'avais commencé. En juillet 2014, ils ont accepté de m'embaucher dans ma Kazan natale, dans une organisation internationale, dont l'un des produits était en cours de développement dans le bureau de Kazan. Là, j'ai écrit le frontend en swing. Le programme a transféré des données d'un SGBD à un autre. Oh, et puis j'ai tourmenté le chef d'équipe et les seniors avec ma mauvaise connaissance de l'écriture de code Java ! Ce travail m'a permis d'affiner mes compétences, d'apprendre des techniques de base et certainement d'améliorer mes connaissances. Pour ma part, j’ai également apporté quelques innovations sérieuses. Durant cette période, j’ai été envahi par des doutes. Je trouvais toujours le travail difficile, je manquais de persévérance et de concentration. Et la période probatoire est à peine passée. Mais en février 2015, au plus fort de la crise, des réductions de personnel ont eu lieu. Ils m'ont licencié comme le plus inexpérimenté et le plus terne, et mon collègue comme le plus âgé et déjà hésitant. C'était aussi assez stressant pour moi. Je savais que j'étais encore complètement vert en programmation. Et qu’en période de crise, peu de personnes ont besoin de nouveaux collaborateurs. Je n'avais déjà que 10 mois d'expérience professionnelle à mon actif. Même si ce n’est pas particulièrement réussi, c’est quand même une expérience. En mars, pendant que je cherchais, un événement très intéressant s'est produit. Tout à fait par hasard, quelqu'un m'a écrit sur un réseau social russe pour me demander si j'aimerais aller enseigner Java. Cette proposition m'a beaucoup surpris. Il s’est avéré que les responsables des ressources humaines m’ont alors pointé du doigt, tout à fait accidentellement, dans le ciel. Après tout, même les mots Java ou programmation ne figuraient pas dans mon profil. Eh bien, j'aime toutes sortes d'aventures, alors j'ai accepté de venir subir quelque chose comme une interview. Cela consistait à écrire un petit programme dans un bloc-notes. Je l'ai fait. Même si j'avais une attitude très négative envers une manière aussi biaisée de tester les connaissances. Et puis ils m'ont proposé une leçon d'essai. Ils m'ont donné des pages numérisées du manuel sur lequel le cours était construit. J'ai préparé, peaufiné ma présentation et enseigné cette leçon avec succès. À la fin, ils m'ont dit que tout allait bien, mais qu'il faudrait donner les cours aux écoliers ! Entre 12 et 18 ans. Par conséquent, nous avons demandé de retravailler le matériel afin qu'il soit intéressant et compréhensible pour cette tranche d'âge. C'est ce que j'ai fait alors. De ce fait, ils m'ont informé qu'ils n'étaient pas prêts à m'embaucher au profit d'un autre candidat plus expérimenté en enseignement. Bon, ça va, je n'étais pas particulièrement contrarié. Ils m'ont également dit qu'ils étaient prêts à me contacter à l'automne, lorsque de nouveaux groupes seraient recrutés. Et je n’avais à cette époque que 10 mois d’expérience professionnelle. Je ne me sentais pas en sécurité. Puis, en avril, j'ai trouvé un emploi dans le bureau informatique multidisciplinaire le plus célèbre et le plus grand de Kazan. Là, j'ai travaillé sur divers projets. J'ai amélioré mes compétences en escuel, servlets, etc. De plus, en août, j'ai repris l'initiative d'un collègue pour commencer à préparer l'OCA. Quand j’ai commencé à me préparer, j’ai réalisé que je ne connaissais pas du tout les bases de Java ! Tous ces problèmes d'initialisation des constructeurs lors de l'héritage ne sont qu'un changement fou, Temps de compilation et d'exécution. Il s'avère que j'ai commencé à étudier tout cela seulement un peu plus d'un an après avoir commencé à travailler comme programmeur. À l'automne 2015, comme prévu, j'ai appelé les organisateurs du cours et leur ai précisé de quoi il s'agissait. J'ai été informé qu'un cours pour adultes était en préparation. J'étais inspiré. Je lui ai demandé de m'envoyer le matériel sur lequel le cours devrait être dispensé. Lorsque je l'ai reçu, j'ai été très surpris : il n'y avait que des sujets à considérer ! Il s'est avéré que je devrais formuler moi-même tout le matériel pédagogique - théorie, tâches pratiques en classe, devoirs. Cette circonstance a considérablement réduit mon enthousiasme. Après tout, je m'attendais à ce que je transmette simplement le contenu du manuel par moi-même, puis que je le présente sous une forme ou une autre en classe. Mais encore une fois, me suis-je demandé, quand la vie me donnerait-elle une telle opportunité ? J'ai vu plusieurs avantages de cette activité par moi-même. Premièrement, améliorer et consolider vos propres connaissances. Ce n’est pas en vain qu’on dit : si vous voulez apprendre ou comprendre quelque chose, dites-le et expliquez-le à quelqu’un d’autre ! Deuxièmement, une raison pour surmonter la peur de parler en public. Troisièmement, une bonne occasion d'entraîner votre mémoire. Quatrièmement, cela améliorera ma situation financière, car... Les juniors sont peu payés, mais cela fait longtemps que j'ai envie de changer de voiture, car la Nexusha est pourrie de part en part. Eh bien, cinquièmement, cela plaît à votre vanité lorsque vous réalisez que quelqu'un peut avoir besoin de vos connaissances et de votre expérience. Et c’est ainsi qu’en novembre mes cours ont commencé. C'était un sacré enfer ! Trouvez et préparez du matériel, réfléchissez aux sujets de cours et aux devoirs. Cela prenait absolument tout mon temps libre. Le samedi, je préparais un cours le mardi, le dimanche, je préparais un cours le jeudi. Mais c'est en théorie. Le samedi, j'ai commencé à préparer le cours du mardi et, le soir, j'étais pressé d'essayer de rédiger le matériel. Eh bien, j'ai réussi à terminer une partie jeudi. À propos, il a activement promu JavaRush. Comme devoir, on m'a donné certains niveaux à compléter sur ce merveilleux site. Jusqu'au 10ème niveau gratuit bien sûr. Mais j’ai en outre recommandé d’acheter un abonnement. Parce que je pense que Javarash est idéal pour se mettre en pratique avec des exemples. Mais la théorie doit être développée davantage. Je me souviens de ce cauchemar de ma toute première leçon. Je suis entré dans la classe. Je me suis assis à la place du professeur. Il restait 10 minutes avant le début du cours... Je me suis assis et j'ai compris que tout allait bien, j'étais complètement en sécurité... Les élèves ont commencé à entrer dans la classe... Il restait 5 minutes avant le début... Quelque chose m'a dit que je devais répéter du matériel, j'ai oublié quelque chose du sujet de la leçon, l'anxiété a commencé à grandir... Et ce moment ! Il faut que je commence !!! Je me réveille. est sorti au centre devant la planche de projection. J'ai levé la tête... Et j'ai vu cette vingtaine de paires d'yeux qui me regardaient attentivement et avec méfiance, comme pour essayer de me percer ! Panique! Je me suis présenté. Il commença à dire quelque chose, oubliant complètement tout ce qu'il avait prévu de dire. Petit à petit, j'ai senti que mes genoux commençaient à trembler, ma voix serrait quelque chose. Il m'est devenu difficile de prononcer les mots. Je voulais m'enfuir. Mais lorsque j'ai terminé la partie théorique et que j'ai expliqué comment créer un nouveau projet d'éclipse, c'est-à-dire la partie pratique, cela est devenu beaucoup plus facile et la leçon s'est déroulée comme sur des roulettes. Alors, dans un stress constant dû à la nécessité de préparer les devoirs, j'ai réalisé ce premier cours de 4 mois avec moi. J'ai considérablement amélioré mes connaissances de Java et solidifié les bases. Voiture changée. Et j’ai arrêté d’avoir peur des publics inconnus. Au contraire, comme ils l’écrivaient dans les livres de rhétorique, je me sentais très motivé pendant le cours. On ne peut pas en dire autant du processus de préparation. Oui, c'était une période très difficile où je n'avais pas le temps de communiquer avec mes amis. Eh bien, je ne pense pas que cela vaut la peine de mentionner le manque de vie personnelle. Je considère que mon avantage en tant que professeur d'un cours pour devenir développeur Java est que j'ai moi-même suivi cette voie relativement récemment. J'ai rencontré divers problèmes avec cela. J'ai passé par un tas d'entretiens. Je sais quelles technologies sont pertinentes en ce moment. Et surtout, je sais quoi ne pas faire ! À savoir, partir chercher du travail aussi tôt que moi. Mais j'étais dans une telle situation que j'avais besoin d'un moyen de subsistance. Sinon, je continuerais mes études pendant au moins 3 mois supplémentaires, étudierais les technologies et les frameworks et essaierais d'écrire une sorte de programme inutile mais technologiquement avancé. Dans ce cas, il y aurait beaucoup moins de stress et de cheveux gris. J'ai travaillé dans cette organisation pendant un an et un mois. En principe, tout allait bien là-bas en termes d'évolution professionnelle jusqu'au départ du chef d'équipe. C'est la personne qui m'a guidé et m'a confié diverses tâches intéressantes. Même malgré mes erreurs fréquentes, hein. Il savait tout, il pouvait donner des conseils sur n'importe quelle question - tant sur le front-end que sur le back-end et sur la sous-base de données... Avec son départ, le lien entre la direction, les développeurs et les analystes a été perdu . Bref, un chaos complet a commencé dans le projet. D'ailleurs, ce n'est que vers la fin de mon travail dans cette organisation que j'ai arrêté de réfléchir à la justesse de mon choix de voie de développeur. Avant cela, ils m'accompagnaient toujours. Avec la conscience de chaque difficulté, du retard dans la résolution d'un problème, d'un bug dans ma correction d'un autre bug. C'était très pressant. Mais je me souviens que j’avais fermement décidé au début de mon parcours que je ne prendrais la décision de poursuivre ou de mettre fin au parcours de développeur qu’après 5 ans. Tout allait vraiment dur pour moi. J'avais constamment l'impression que les gens autour de moi étaient beaucoup plus intelligents que moi, que je ne pouvais pas comprendre les choses aussi vite qu'eux. Cela ne valait probablement pas la peine de planifier tout cela. En juin de cette année, j'ai trouvé un emploi où je travaille encore aujourd'hui. Nous travaillons sur un service très intéressant pour sauvegarder les données cloud de services comme Google Disk, Dropbox, Office 365 sur les serveurs Amazon. Je voudrais noter que sans une étude approfondie du sujet du multithreading pour la conduite des cours, je n'aurais pas pu passer un entretien avec cette organisation, car des devoirs ont été donnés spécifiquement pour cette partie. J’ai donc décidé de retourner me préparer à l’OCA. A la fin de l'hiver, j'ai trouvé d'excellents matériaux pour cela. Mais je n’ai toujours pas trouvé le temps de me préparer. Ainsi, entre la 2ème et la 3ème promotion, j'ai eu un mois de libre pour me préparer. Bien sûr, je n’ai pas eu le temps avant le début du cours. Mais il a quand même atteint son objectif : il a réussi l'examen Oracle 1z0-808 avec 81 % de bonnes réponses et 65 % de réussite. Je voulais bien sûr 85 %. Mais boire plus d'un litre d'eau au préalable, pour que « le cerveau puisse mieux réfléchir », m'a obligé à terminer une demi-heure plus tôt sans avoir la possibilité de tout revérifier. Mais je suis toujours très fier de cette certification réussie. Fin janvier 2017, je compte aller passer le test OCP. Oui, la certification n’a pas beaucoup de sens si on y réfléchit. Pour moi personnellement, c’est l’occasion de consolider les bases. Parce que J'ai parfois besoin de répondre à des questions délicates des étudiants. En conclusion de mon histoire, je veux écrire ceci. Malgré le fait que je travaille en tant que développeur depuis près de 2,5 ans, je ne me considère pas comme un programmeur en tant que tel. Je sais quelle énorme quantité d'informations je dois transmettre sur toutes sortes d'algorithmes, de sous-bases de données, de structures de données, de technologies Web, de modèles, de front-end, de frameworks et de leurs nombreuses variétés. Et je souhaite continuer à étudier JavaRush pour le développement général, puisque l'abonnement est illimité. Le travail n'a pas de fin ! Et surtout, j'aime ça. Je veux en savoir de plus en plus. Être capable d'écrire du code plus rapidement et mieux. Au fil du temps, j'aimerais évoluer vers le métier de chef d'équipe ou d'architecte. Mais il y a tellement de choses à faire avant ça ! Il ne reste plus qu’à gérer correctement son temps et à moins tergiverser.
Merci pour votre attention!
GO TO FULL VERSION