JavaRush /Blog Java /Random-FR /Mon histoire de réussite

Mon histoire de réussite

Publié dans le groupe Random-FR
  1. Bonjour à tous, j'écris depuis mon premier lieu de travail (plus précisément, depuis le lieu de mon premier stage rémunéré en tant que développeur Java junior) avant le début de la journée de travail.
  2. Mon histoire de réussite - 1
  3. J'ai 39 ans (!), j'ai commencé à programmer comme passe-temps alors que j'avais une pause dans mon travail, un peu d'argent, m'occuper d'un enfant récemment né, retourner dans ma famille à Moscou et quelques autres choses. Avant cela, il a travaillé comme financier et a beaucoup participé à la mise en œuvre de systèmes comptables sur diverses sociétés.

  4. Au début, j'ai essayé de m'initier à la programmation moi-même, et même de commencer avec Kotlin (j'ai vraiment aimé à la fois le langage lui-même et ceux qui le développent - JetBrains). Mais rapidement, probablement en une semaine, j'ai réalisé que sans Java, il n'y avait rien à faire dans Kotlin, et qu'il fallait suivre une sorte de cours ; creuser par soi-même est très inefficace. J'ai trouvé, je ne me souviens plus comment, JavaRush, je me suis inscrit dessus le 30 juin (je l'ai regardé par mail maintenant). Déjà le 5 juillet j'ai acheté un abonnement (pendant ces 5 jours j'ai complété les 10 premiers niveaux, deux niveaux par jour). J'ai complété, à mon avis, 3 mois, 25 niveaux ou un peu plus (complètement, en fouillant en détail, en téléchargeant une petite partie des solutions, mais en les comprenant certainement en détail, vraiment).

    Je me souviens du grand frisson que j'ai ressenti lorsque j'ai finalement analysé des expressions mathématiques. Cette tâche a été un grand pas en avant, une avancée majeure dans ma compréhension de moi-même en tant que programmeur.


  5. J'ai choisi de parcourir d'abord les collections, puis la partie concurrence. J'ai regardé le contenu et j'ai décidé qu'il était plus intéressant et plus utile de traiter des collections. Il m'a fallu, à mon avis, environ deux mois pour terminer 10 niveaux supplémentaires (jusqu'au 35ème quelque part).

  6. Quelque part au milieu de la concurrence, il est devenu clair qu'il était presque inutile de continuer à terminer. Il est devenu plus intéressant d'analyser les problèmes dans la section d'aide (cela m'a été utile - j'ai appris à analyser le code des autres et structuré mes connaissances) que de faire des exercices. Ensuite, je me suis fixé pour objectif de réaliser un projet web en utilisant Spring + Hibernate + Mayesquel + une sorte de moteur de template (au final je l'ai fait en utilisant Thymeleaf). J'ai ouvert les niveaux restants uniquement pour découvrir les tâches les plus délicieuses.

    S'il y avait eu un stage à ce moment-là, cela aurait été génial, mais pour celui qui se déroulait à ce moment-là, il était déjà trop tard, et pour le suivant, il était trop tôt.


  7. Du coup, j'ai passé un mois et demi à décortiquer tout ça (la personne dans l'exemple vidéo a fait la même chose en probablement 50 minutes, si c'est le cas). J'ai réalisé deux services Web de test au total. L’une est une pure répétition de ce qui était dans la vidéo (la liste standard de livres est analogue à un devoir de test pour un stage). La seconde est plus ou moins similaire à la tâche réelle, la partie backend du site permettant de calculer le coût des plafonds suspendus avec un contrôleur de repos (à l'instar des besoins réels d'amis). Et sur Spring-boot, et non sur Spring-boot nu. Dans le second, pour m'amuser, j'ai même inséré des cours en Kotlin (en général, je recommande vivement Kotlin, je vais certainement creuser plus loin moi-même).

  8. Après avoir créé un service web à partir de zéro (nous ne dirons rien du fait qu'il n'avait pas d'autorisation, de gestionnaire de transactions, de tests normaux du webpart, etc.), il est devenu clair qu'il fallait établir un CV et chercher un emploi en juin. À ce stade, j’ai commencé à comprendre que j’aimais vraiment la programmation et que les programmeurs étaient vraiment nécessaires. Puis (à la mi-janvier, après les vacances), j'ai finalement rédigé un court CV en anglais, supprimant complètement mon expérience précédente (je n'ai laissé qu'une brève description dans un paragraphe) et je l'ai soumis à NN.

  9. Ce qui a commencé n'est qu'un paragraphe. Je n'ai pas eu le temps d'envoyer une demande à qui que ce soit, j'avais déjà reçu 4 offres d'entretien d'entreprises et quelques lettres supplémentaires des RH avec des offres d'envisager différents emplois (mais ces quelques lettres ne sont pas au niveau, pour les intermédiaires). Je ne comprends pas pourquoi cela s'est produit, je pense qu'à ce moment-là il y a eu une forte augmentation des commandes de Sber (2 sur quatre - Sber lui-même, qui invite généralement tous ceux qui ont posté un CV, et son entrepreneur) à un entretien. De plus, mon CV avait probablement l'air bien.

  10. La première interview (Sbertech) était géniale. Je lui ai très bien appris l'essentiel et les bases, l'intervieweur a dit que la sécurité sociale n'est qu'une bombe et que je trouverai certainement un emploi, même si ce n'est pas avec eux. Mais le deuxième (au téléphone) était vraiment dommage. J'étais complètement perdu et je connaissais presque toutes les questions ou je pouvais donner une réponse sensée, comme je l'ai rappelé plus tard. Maintenant, il y a deux intervieweurs chez Sbertech, l'un pense que je ne suis pas mauvais, le second pense que je suis un idiot clinique. C'était une bonne leçon pour prendre les entretiens au sérieux, sinon j'étais un peu fier après les offres et le premier entretien.

  11. Il est intéressant de noter que lors de 3 entretiens (y compris le lieu actuel), il n'y a eu pratiquement aucun entretien technique - ils ont regardé purement humainement ce que j'étais, même si j'étais bien préparé, bien sûr. Je me souviens surtout de l'entreprise qui m'a invité uniquement parce que j'avais plus de 35 ans. Ils ont une atmosphère tout à fait unique. Quand j'ai demandé à leur responsable de développement (beaucoup plus âgé que moi, vraiment old school) quel IDE ils utilisaient (Intellij ou Eclipse, il y a une sorte de politique dans cette partie), il n'a même pas compris au début, puis il a répondu « Oh , un éditeur de texte... Oui, je ne les utilise pas, c'est comme ça que j'écris du code. Mais vous pouvez utiliser n'importe quoi, pas de problème. Et il ne plaisantait certainement pas. J'ai été surpris, c'est un euphémisme.

  12. Quelques semaines plus tard, j'ai reçu un appel de Sbertech (précisément après le premier entretien, ils y ont une mer de départements, chacun recrute lui-même) avec une offre de travail pour env. 1,1 mille dollars en main par mois, en tenant compte du bonus annuel. J'ai dit ok, ils ont commencé à traiter l'offre. Ce processus leur prend un temps décent, j'ai quand même regardé d'autres œuvres. À ce moment-là, je suis tombé sur une annonce sur Javarash concernant le recrutement de stagiaires pour le groupe d'entreprises Smart. J'ai écrit que j'aimerais discuter, on ne sait jamais, je suis presque immédiatement allé à un entretien. Tim Lead n'a pratiquement pas posé de questions sur le plan technique (même si j'ai moi-même décrit mon niveau de manière assez adéquate, sans conneries) et a dit qu'il était prêt à m'essayer pour un stage rémunéré. J'ai accepté parce que Sbertech me dérangeait un peu (c'est clair que j'y serais allé s'il n'y avait pas d'alternative), en plus j'ai aimé l'ambiance et le chef d'équipe, en plus leur bureau est situé à 7 minutes à pied de l'endroit où nous louons un appartement. Il m'a fallu plus de quelques semaines pour organiser la garde des enfants et je suis effectivement allée travailler le 28 février.

  13. Maintenant, je (en parallèle avec un autre stagiaire, il est issu d'un autre cursus) comprends le code du projet principal de l'entreprise et, en parallèle, sous la direction du chef d'équipe, je crée une application de formation dont le seul objectif consiste à utiliser les technologies et techniques de base qui existent de manière principale de bout en bout, de la base de données au projet de navigateur, mais à une échelle mini. Le premier jour il y a eu un peu de panique, mais déjà le deuxième jour je me suis impliqué dans la tâche, maintenant c'est très intéressant, j'arrive au travail avant tout le monde, je pars presque plus tard que tout le monde, chaque jour j'ai l'impression d'être " J'améliore mes compétences. Tim Lead a dit qu'il était temps de passer à la vraie tâche (j'ai été embauché le 28 février).

  14. Conseils pour les débutants :

    • Anglais. J'ai de la chance de parler déjà couramment l'anglais (quelle chance, nous avons par exemple souvent accueilli des voyageurs couchsurfeurs, mon anglais s'améliore - soyez bénis). Sans l'anglais en programmation, vous êtes presque nul. Malheureusement, c'est le cas.

    • Vis. Durant ma formation, j'avais une règle : pas un jour sans une ligne de code. Et en règle générale, je passais plusieurs heures par jour à programmer. Malheureusement (ou peut-être pas), je n’ai lu aucun livre. Mais j'ai regardé beaucoup de didacticiels vidéo et de discours de conférences + j'ai vraiment relu une mer de réponses sur stackoverflow.

    • Pourtant, les collections d’abord. Concurrence - selon le principe résiduel. Bien que j'aie maintenant une place dans mes véritables compétences en multithreading, travailler avec des collections est beaucoup plus important à mon humble avis. Au cours des entretiens, la seule fois où ils ont demandé, c'était : je sais ce qu'est un mutex et tout était question de concurrence. Mais en ce qui concerne les collections, c'était complètement différent.

    • Assurez-vous de faire quelques dizaines d'exercices sur sqlex.ru (c'est respectivement selon esquel). C'est très simple après quelques douzaines de niveaux dans JavaRush, mais en même temps extrêmement utile à la fois pour la programmation back-end et les entretiens.

    • Assurez-vous de réaliser votre projet simple en utilisant des frameworks tels que spring-boot + hibernate + mayesquel + une sorte de moteur de modèle (tel que timeleaf ou mustash). Ou je pense que faire un stage sera similaire, mais je ne peux rien recommander ici. Une personne avec une simple théorie sur Spring et un projet terminé sur la programmation est tout simplement le ciel et la terre. Après le projet, les exercices moyens du cours sont devenus pratiquement ceux de la maternelle, les exercices complexes - inférieurs à la moyenne. Simplement en augmentant la maturité des programmeurs.

    • Il est impératif de comprendre et d'ajouter le traitement des transactions à ce projet, pas seulement au niveau « ajouter à une méthode dans le service @Transactional ». Le sujet des transactions était constamment dans les entretiens. Je regrette de ne pas avoir fouillé sqlex.ru et les transactions Spring et Hibernate avant de chercher un emploi. Une personne transactionnelle parlera bien mieux aux personnes interrogées pour un poste backend.

    • Si quelqu'un a des questions ou des problèmes, écrivez-le, j'essaierai certainement de vous aider du mieux que je peux. Surtout ceux qui réalisent leur premier projet au printemps. Je serai heureux de rencontrer n'importe qui à Moscou.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION