CodeGym /Blog Java /Random-FR /Une histoire pour les 30+
John Squirrels
Niveau 41
San Francisco

Une histoire pour les 30+

Publié dans le groupe Random-FR
Eh bien, j'ai trouvé le temps de partager ma petite histoire.

Prologue

Commençons par le fait que j'ai 30 ans, que j'ai une formation supérieure en chimie (je n'entrerai pas dans les détails) et que je travaille dans une usine depuis près de 8 ans. Le travail était en fait assez intéressant, mais en regardant mes collègues, j'ai réalisé que je ne voulais pas travailler ici pendant vingt ans, jusqu'à ma retraite. Ce n’est pas ainsi que je veux passer ma vie. Je tiens également à ajouter que j'ai une famille, comprenant deux enfants (mon aîné a 6 ans, le plus jeune a 1 an) et, comme on pouvait s'y attendre, une hypothèque. Finalement, j'ai décidé d'essayer de déménager ailleurs, dans une autre usine avec un salaire plus élevé et une réelle évolution de carrière. J'avais pris racine dans la première usine, donc c'était difficile de partir, mais j'avais pris ma décision. Mon voyage à Saint-Pétersbourg a duré un mois. J'étais officiellement en poste là-bas depuis une semaine lorsque j'ai réalisé que la situation des usines dans notre pays (Sviatoslav est originaire de Russie — ndlr) était pour la plupart lamentable. Je suis retourné dans ma ville natale. Je ne voulais pas revenir en arrière, car il me semblait que c'était un pas en arrière. À ce stade, j’ai décidé que si je changeais ma vie – et que je la changeais radicalement ! Pendant environ une semaine, j'ai réfléchi au langage de programmation à choisir et le choix s'est porté sur Java. Après cela, j'ai commencé à chercher des cours. La réalité est qu'il y a beaucoup de bons cours, certains d'entre eux sont même à des prix raisonnables, mais j'avais un problème : j'étais super motivé et j'avais beaucoup de temps pour étudier, mais mon coussin financier durerait au maximum 3-4 mois. Tous les cours qui m'ont plu étaient d'une durée de six mois ou plus avec deux cours par semaine (le plus souvent). Mais ensuite, une amie m'a recommandé CodeGym après avoir entendu que c'était une très bonne ressource. J'ai vu que ce cours avait tout ce dont j'avais besoin :
  • un abonnement avec du matériel d'apprentissage et des tâches ;
  • pas de limite de temps — je pouvais étudier autant que mon emploi du temps (qui était grand ouvert) et mon envie (comme je l'ai dit plus haut, j'étais super motivé) le permettaient.

Partie 1 : À la recherche de connaissances

Le 26 novembre 2019, je me suis inscrit et j'ai commencé mes études. Je dirai tout de suite qu'il y a eu des jours où je restais assis pendant 14 heures d'affilée, étudiant, lisant tous les liens associés et essayant de trouver de plus belles solutions (sans jeter un coup d'œil à l'aide). Ce n'est que lorsque j'ai pensé que ma solution était la meilleure que j'ai consulté l'aide. J'ai souvent été étonné par les solutions encore plus belles et plus concises. Fin janvier, après avoir atteint le niveau 17, j'ai décidé de commencer à passer des entretiens, de mettre en valeur mes compétences et de voir ce que veut le marché. En fait, personne ne m'a vraiment répondu, mais il y avait un bureau qui m'a accepté comme stagiaire probatoire non rémunéré : le premier mois n'était pas payé, le deuxième et le troisième comprenaient une petite allocation. Ensuite, il y aurait un autre entretien basé sur mes performances après trois mois, et si le stage était réussi, alors un emploi.

Partie 2 : Se précipiter au combat

Mon stage consistait à écrire un plugin Chrome avec un back-end Java pour automatiser les tâches courantes d'un des services internes de l'entreprise. J'ai eu un merveilleux mentor avec beaucoup de connaissances, ce qui, je pense, est également important. En gros, pour éviter de vous perdre dans les mauvaises herbes, je vais vous parler maintenant de la pile technologique que j'ai utilisée, puis en fin d'article je vous fournirai plusieurs liens qui se sont avérés très utiles pour moi.

Pile technologique :

Java 11 (le projet a été entièrement écrit à partir de zéro), Spring (Boot, Security, OAuth2) ; J'ai utilisé MongoDB pour une base de données ; pour les tests automatisés, j'ai utilisé AssertJ, Mockito et Spring-boot-starter-test ; et j'ai utilisé le flux GitHub assez populaire (voir cet article ). BTW, si vous avez des difficultés avec l’anglais, c’est le moment de vous conseiller de l’apprendre. Mon niveau de maîtrise est A2, mais j'essaie toujours de lire des articles en anglais (sans recourir à un traducteur bien sûr). Cela a été ma plus grande difficulté au début du projet de stage, car je devais travailler avec un CRM tiers et toute sa documentation était en anglais. De plus, lorsque vous travaillez avec Spring, il est préférable de lire la documentation originale. C'est très bien et détaillé. De plus, presque toute la documentation est en anglais (un peu de Captain Obvious). De plus, mon mentor m'a dit d'écrire tous les commentaires dans le code et la documentation de l'API en anglais, donc je le répète encore une fois : apprenez l'anglais, si vous n'êtes pas un locuteur natif ! Même si vous n'allez pas travailler avec des clients étrangers ou voyager à l'étranger, cette compétence simplifiera simplement grandement vos études et votre développement.

Partie 3 : Résultat

Cette partie sera beaucoup plus courte :) A la fin du stage, j'ai passé avec succès l'entretien d'évaluation des performances et obtenu un emploi, où j'ai continué à travailler sur ce projet. La première étape devait être mise en œuvre dans le cadre de mon stage, mais il y avait en tout trois étapes. En raison du début de la pandémie, de nombreux projets commerciaux ont disparu et j'ai mis en œuvre toutes les étapes et toutes les autres idées/souhaits qu'il pouvait y avoir pour ce projet. Il y avait d'autres tâches, mais comme on dit, c'est une autre histoire.

Partie 4 : Il y a eu une fin heureuse, même si les choses sont loin d'être terminées ;)

À la mi-juillet, j'ai reçu un appel et on m'a demandé si je cherchais du travail. J'avais posté mon CV, même s'il n'avait pas été mis à jour depuis longtemps. J'ai décidé de me tester. J'ai traversé 3 étapes : une tâche de test, un entretien technique et un entretien avec le patron. Ils m'ont envoyé une offre et... C'était une offre que je ne pouvais pas refuser. Je comprends, bien sûr, que lors de vos premiers emplois, vous essaierez d'accéder là où ils vous mèneront, mais quand même. Mon premier emploi était un poste en sous-effectif, mais mon emploi actuel est dans l'industrie alimentaire. Ils m'ont également embauché en tant que développeur junior, mais je ne suis pas du tout contrarié, car il y a de la place pour grandir à la fois en termes de connaissances et d'argent.

Épilogue

Alors, mes amis, ne vous découragez pas. L'essentiel est de se décider et de ne pas s'écarter de son chemin. Dans mon cas, j'avais une énorme responsabilité de prendre soin de ma famille et le désir de changer quelque chose dans ma vie, de commencer à faire ce que j'aime vraiment. Le développement de logiciels est particulièrement intéressant, car vous pouvez gravir les échelons de votre carrière, qu'il y ait ou non un poste vacant plus élevé dans votre entreprise, que quelqu'un ait pris sa retraite après vingt ans de travail et que vous ayez ou non les relations personnelles nécessaires pour décrocher le poste. travail plus élevé. Dans notre domaine, tout est entre nos mains !

Voici quelques articles que j’aimerais partager :

  • Comprendre l'architecture . J'ai personnellement lu cet article 4 fois au moment où nous élaborions l'architecture d'une future application. J'utilise le mot « nous », parce que mon mentor a tout vérifié et l'a renvoyé pour corrections (c'est-à-dire qu'il a fait des révisions de code). La première fois, je n'ai pas compris grand chose. Puis je l'ai lu 3 mois plus tard, et j'ai découvert que j'avais alors compris pourquoi. Plus tard, je l'ai lu encore 2 fois afin de solidifier et d'assimiler pleinement toutes les informations.
  • Apprentissage Git interactif .
  • Je recommande à tout le monde d'apprendre à travailler avec les flux. Ils sont vraiment glorieux : vous pouvez souvent remplacer d’énormes volumes de code par un petit flux.
  • Documentation du printemps.
  • Parce que j'ai travaillé avec une base de données non relationnelle et que la plupart des entreprises (en particulier les grandes) travaillent avec SQL, pendant mon temps libre, j'ai essayé de résoudre au moins quelques problèmes liés à la création de requêtes SQL. Il existe de nombreux sites Web différents pour cela.
  • Je recommanderais également de lire sur l'écriture de tests (Assertj, Mockito), mais je ne me souviens pas de bons articles, juste de la documentation.
  • Et lorsque vous développez une application (mais que nous avons maintenant dépassé le niveau débutant), essayez d'utiliser des modèles de conception . Jetez au moins un coup d’œil rapide aux modèles bien connus. Cela vous sera utile au début.
Encore une fois, je vous souhaite à tous bonne chance dans la poursuite de vos rêves !
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION