JavaRush /Blog Java /Random-FR /Grimpeur-programmeur
Илья Альтерович
Niveau 33
Одесса

Grimpeur-programmeur

Publié dans le groupe Random-FR
Dossier
  • Qui : Ilya Alterovitch
  • Profession : grimpeur industriel
  • Âge au début de la formation : 35 ans
  • Lieu de résidence : Odessa, Ukraine
  • Premier emploi en tant que programmeur : après 1 an et 8 mois (février 2015) - à 37 ans.
  • Que fait-il actuellement : toujours programmeur, a changé d'entreprise =)
  • Histoire originale
Grimpeur-programmeur - 1
Si vous avez déjà 35 ans, ce n’est pas une raison pour ne pas commencer vos études ! Bien sûr, quand on a derrière soi des années d’expérience précieuse dans un autre secteur, ce n’est pas si facile, mais ce n’est pas du tout désespéré. Nous avons un excellent exemple - Ilya d'Odessa a décidé de se reconvertir d'un grimpeur industriel à un programmeur industriel exactement à cet âge. Et il a réussi. Lisez l’une des réussites les plus fascinantes et les plus complètes sur JavaRush !

Arrière-plan

Je veux partager mon histoire parce que je ressens une obligation morale envers les personnes formidables qui ont créé cette ressource et envers la communauté à laquelle elle a donné naissance. Je voudrais en quelque sorte remercier les créateurs, et je voudrais encourager les « Javarashites » qui n'ont pas encore atteint leur objectif cher et les renforcer avec une bonne part de motivation ! L'essentiel : je travaille comme programmeur depuis deux semaines maintenant, et c'est en grande partie grâce à Java Rush .
J'ai 37 ans, marié, deux enfants de 6 et 3 ans. Au cours des 15 dernières années, j'ai travaillé comme grimpeur industriel (grimpeur de haute altitude). Le travail, vous l’aurez compris, relève un peu moins de la programmation que de rien du tout.
Dans l'ensemble, le travail n'est pas mauvais, l'air est frais, cela vous oblige à vous maintenir en « forme », vous avez suffisamment de temps libre, vous êtes votre propre patron. Et pas mal pour le prix ( en saison ). MAIS :
  • Il a une saisonnalité prononcée. Autrement dit, pendant 3 à 4 mois par an, il n'y a pratiquement AUCUN travail .
  • AUCUNE perspective. Après avoir travaillé dans ce domaine pendant 15 ans, j'ai réalisé qu'au cours des 5 à 10 prochaines années , il est très peu probable que quelque chose change ( du moins pour le mieux ).
  • Les enfants ont commencé à grandir, et il n'y avait visiblement pas assez d'argent...
  • Cela commençait juste à devenir ennuyeux... 15 ans, c'est très long, tout devient ennuyeux.
Ainsi, en mai 2013 , j'ai pesé le pour et le contre et suis arrivé à la conclusion qu'il était temps de changer de métier... Et vers un métier dépourvu des défauts du précédent. C'est-à-dire:
  • il y a du travail toute l'année ;
  • de bonnes perspectives de croissance ;
  • salaire nettement plus élevé ( sinon immédiatement, alors dans le futur );
  • travail intéressant pour lequel j'ai un penchant.
J'avais un penchant pour la programmation. Certes, dans la pratique, cela n'a abouti qu'au fait qu'à l'école j'écrivais un peu en BASIC, et encore moins en langage assembleur ( sur le ZX-Spectrum , alias Sinclair était autrefois un ordinateur tellement culte ). Les inconvénients du « gratte-ciel » pendant mes études se sont avérés être un plus pour moi : tout le temps libre dont j'avais en abondance au printemps et surtout en hiver, je pouvais utilement le consacrer à l'apprentissage de la programmation. La programmation est un concept flexible. J'ai cherché sur Google, évalué les perspectives... et mon choix s'est porté sur Sa Majesté Java .

Études

Mon premier livre sur Java était « Programmation Java pour les enfants, les parents et les grands-parents » de Yakov Fain . Je ne sais pas s’il faut recommander ce livre aux débutants ; il existe peut-être de meilleurs livres, mais à cette époque, c’était intéressant et tout à fait compréhensible à lire. J'ai soigneusement travaillé sur les exemples pratiques qui y sont donnés, ce qui m'a donné le minimum de compétences pratiques nécessaire pour progresser davantage. J'ai fini de lire le livre et j'ai décidé de chercher des cours. Les cours en personne coûtaient cher et je n'étais pas sûr qu'ils en valaient la peine. Et à ce moment-là, je me suis souvenu qu'en travaillant sur le livre, quelque part (sur habrahabr, semble-t-il), je suis tombé sur des articles sur JavaRush. Et tout a commencé à arriver... Après avoir lu et travaillé le livre, j'ai franchi les 10-12 premiers niveaux comme des graines, c'était même trop facile. Mais toujours intéressant. Puis c’est devenu plus difficile et encore plus intéressant.
J'ai terminé les niveaux strictement séquentiellement, c'est-à-dire J'ai lu la conférence et, même si ma compréhension était fraîche, j'ai résolu les problèmes correspondants et je ne suis pas passé à la conférence suivante tant que tous les problèmes précédents n'étaient pas résolus, à de très rares exceptions près. Je suis donc arrivé au niveau 20 avec 3 à 5 problèmes non résolus.
Si vous rencontrez des difficultés pour résoudre des problèmes, bien sûr, la communication sur le forum aide beaucoup, et en même temps, en aidant les autres utilisateurs du forum, vous améliorez vous-même vos compétences ! Environ six mois plus tard, j'ai décidé qu'il était temps de tenter ma chance et de m'essayer lors d'un entretien. J'ai cherché des exemples de CV sur Google, des amis m'ont envoyé plusieurs exemples de CV, j'ai aussi écrit à Sepp ( responsable de Java Rush , ndlr ) et il m'a donné quelques conseils et modèles de CV. Je l'ai compilé et envoyé à Sepp pour examen ; il l'a apprécié. Ensuite, j'ai publié mon CV sur des sites de recherche d'emploi populaires, compilé une liste d'adresses des services RH des plus grandes entreprises informatiques d'Odessa , qui avaient des postes vacants pour des développeurs Java ( pas seulement des « juniors »). Ils étaient une vingtaine . J'en ai immédiatement mis de côté la moitié au cas où je me tromperais partout et j'ai envoyé mon CV pour l'autre moitié.

Premiers entretiens

Je ne dirai pas que j’ai été bombardé d’invitations, mais au final, en un mois et demi, je me suis rendu à une demi-douzaine d’entretiens. Certains se sont avérés plus ou moins réussis, d’autres moins. Il y avait deux ou trois tâches de test, que j'ai complétées avec plus ou moins de succès, et un entretien en anglais parlé. Je l'ai réussi, mais je n'ai pas pu passer l'entretien technique : un autre candidat était devant moi. J'ai aussi failli tomber dans ce qu'on appelle le « benchmark » chez Luxsoft : j'ai réussi les tests et l'entretien, mais au dernier moment, à la lecture du contrat, j'ai changé d'avis et j'ai refusé. En bref, ils vous enseignent pendant trois mois et vous versent une allocation de 300 $ . S'ils vous aiment, ils vous proposent un emploi de junior ( 500 $ ). Après 9 mois, ils peuvent augmenter votre salaire, mais, comme il ressort du contrat, si vous ne suivez pas de cours ou si après les cours vous souhaitez changer d'emploi d'ici un an ou deux, vous êtes obligé de leur verser une indemnité de formation. au montant de 2 500$ . J'ai trouvé ces conditions inacceptables et j'ai refusé. J'ai également refusé un autre poste vacant : il me semblait que je n'y aurais aucune perspective.
Mais l’essentiel est que j’ai acquis une expérience très précieuse en matière d’entretien. Après chaque entretien, j'avais une bien meilleure idée de ce qui m'attendait au suivant, approximativement des questions qui me seraient posées, et des réponses qui seraient attendues... Ce n'est pas que les mêmes questions soient posées à tous les entretiens, mais de nombreuses questions sont posées presque toujours.
Et après chaque entretien, je me suis fait une petite liste de questions dans lesquelles j'ai « nagé », puis j'y ai trouvé des réponses claires. En général, aller aux entretiens est vraiment utile, quels que soient les résultats...

Stage

À peu près à la même époque ( automne-hiver 2013 ), Java Rush m'a écrit dans un message personnel me proposant de participer au « Real Project ». Pour être honnête, après avoir répertorié les technologies utilisées ( Spring , Hibernate , GWT , MySQL , Maven , Git ), j'ai eu un peu peur, car pour la plupart j'ai entendu ces mots à l'improviste, ou même pour le première fois . Je pensais que je n'avais rien à perdre, j'avais le temps de participer et j'ai accepté.
Au début, c'était vraiment DIFFICILE, mais après une semaine ou deux, après avoir lu des livres et des articles, j'ai approfondi suffisamment le travail du code existant pour écrire quelque chose moi-même et faire mon premier commit.
J'ai eu beaucoup de chance avec les gars du projet. Nous étions quatre : Timur (Timur), Zhenya (Groomsh), Seryoga (SergeyKandalintsev) et moi . Nous avons supervisé notre projet directement depuis JavaRush. Timur a travaillé principalement sur le backend, Zhenya a travaillé sur le front-end , Seryozha a travaillé sur la base de données , j'ai travaillé un peu sur le front-end et un peu sur le back-end . Quelques mois plus tard, nous sommes devenus la première équipe à mener à bien un véritable « projet réel » , qui est désormais utilisé par tous les Javarashites - il s'agit du projet « Ratings » ( dans la nouvelle version de JavaRush, ce projet n'est plus utilisé ) . . Dire que « The Real Project » m’a beaucoup apporté, c’est ne rien dire ! En plus de l'augmentation évidente de connaissances précieuses, une compréhension encore plus importante m'est venue : Java est loin d'être la seule compétence nécessaire, bien qu'elle soit fondamentale. Java est l'ABC de la programmation, mais en plus de l'ABC il faut connaître les règles d'orthographe, la grammaire, la syntaxe, construire correctement les phrases, avoir un vocabulaire riche... Et en programmation il faut connaître et pouvoir utiliser de nombreux frameworks, des modèles et des outils de développement, et savoir également où chercher pour résoudre les problèmes et répondre à vos questions. Après le vrai projet, je me suis intéressé à des technologies plus avancées, et j'ai approfondi ma compréhension de celles que je connaissais déjà... Mes intérêts dépassaient les limites du Java Core « pur » . Et aussi - un nouvel élément solide est apparu dans mon CV dans la colonne « Expérience professionnelle » avec une description des technologies cool et à la mode utilisées dans le projet.

D'autres épreuves

Le stage terminé, j'ai commencé une nouvelle saison de travail dans gratte-ciel... Le temps libre se raréfie, la question du changement de métier passe au second plan. Cependant, j'ai consacré presque tout mon temps libre à la programmation : j'ai écrit divers « mini-projets », j'ai parfois résolu des problèmes dans Java Rush , suivi les postes vacants et, à la fin de l'automne, je me suis inscrit à des cours gratuits au bureau informatique DataArt . Les cours eux-mêmes se sont révélés trop généraux : je n’y ai presque rien appris d’utile. Mais dans le cadre de ces cours, il était demandé aux étudiants de se regrouper en équipes et de rédiger un « Projet » . Le projet consistait à écrire un système de tests en ligne, avec inscription des utilisateurs, une partie utilisateur ( prise de questionnaires ) et une partie administrateur ( création de questionnaires et gestion de comptes ). Je me suis retrouvé dans l'une des quatre équipes, et plus tard, il s'est avéré que j'avais pratiquement écrit le projet moi-même. En un mois environ ( alors que je travaillais dans un gratte-ciel ), j'ai moi-même écrit une application Web assez passable, me semble-t-il, basée sur les mêmes technologies et modèles que nous avons utilisés lors du stage Java Rush ( plus jsp, Spring La sécurité, et autre chose ). Si quelqu'un est intéressé, je peux poster un lien vers un référentiel ouvert avec les sources du projet...

La hauteur est prise !

En décembre, j'ai été invité à un entretien dans un bureau. Ils m'ont dit qu'ils m'appelleraient lorsqu'ils prendraient une décision... « Eh bien, tout est comme d'habitude », pensai-je alors. "Si vous ne l'avez pas pris tout de suite, alors il y a peu d'espoir ." Mais un mois plus tard, après le Nouvel An, j'ai écrit au responsable RH de cette entreprise et lui ai posé des questions sur mon sort. À ma grande surprise, elle m'a répondu que le poste était toujours vacant et que la décision n'avait pas encore été prise...
Un autre mois s'est écoulé et maintenant, fin janvier, elle m'a appelé pour me demander si la recherche d'un emploi était pertinente pour moi, ce à quoi j'ai répondu « sans relâche » que oui, je cherchais toujours. Ce à quoi elle a répondu que je l'avais déjà trouvée, puisque je leur convenais !
Le sentiment, bien sûr, est indescriptible, quand on vous le dit au téléphone, vos ailes grandissent ! Pour comprendre cela, vous devez en faire l’expérience vous-même. C'est ce que je vous souhaite dans un futur proche ! Mon premier emploi a été de participer au développement d'un grand projet ERP - une application , une construction à long terme. L'application s'est avérée comporter de nombreuses nuances spécifiques, la société de développement de Kiev avait donc besoin d'un programmeur non loin du client - à Odessa , où j'habite. L'application est écrite en GWT + ExtGWT + Spring + Hibernate + MySQL et un tas de bibliothèques mineures prises en charge. Il se trouve que c’est exactement la pile technologique que j’ai étudiée et avec laquelle j’ai une certaine expérience. Parmi les inconvénients, je mentionnerai que le projet est ancien et qu'il utilise d'anciennes versions de bibliothèques et des approches de conception obsolètes, et elles sont tellement obsolètes qu'elles ne sont pratiquement pas sujettes à mise à jour. Il s'est également avéré que je serais seul pour finir de finaliser les résultats de 3-4 ans de travail d'autres programmeurs ! Bien sûr, je m'attendais à ce que, comme tout junior, on me assigne un chef d'équipe plus expérimenté, il serait également un mentor-conseiller qui me guiderait et réviserait mon code. Mais le destin en a décidé autrement : on m’a confié un poste destiné à un développeur indépendant expérimenté. « Puisque c'est le cas, pensai-je, ce serait bien de demander immédiatement une augmentation de salaire. » Et il a augmenté le chiffre initial de 200 $ . Cela n’a provoqué aucune indignation de leur part. Je ne donnerai pas de chiffres précis, je mentionnerai simplement que le salaire a largement dépassé mes attentes. De plus, je n'ai eu qu'un ( et non trois, comme d'habitude ) mois de probation. Ils m'ont enregistré, comme d'habitude, via SPD ( c'est une pratique courante pour les programmeurs) .

Technologies qui vous seront utiles dans votre travail : expérience personnelle

La connaissance des bases de données, SQL ( MySQL ), jdbc , Hibernate , Jpa , des technologies réseau html , jsp , servlets , xml , Tomcat est très souhaitable, peut-être même REQUISE . Une connaissance des modèles JavaSE de base ( appelés modèles GOF ) est requise ; au moins une connaissance superficielle de Spring , SpringMVC , du générateur de projet Maven , de la journalisation log4j et des tests unitaires JUnit sera également un ÉNORME plus . Vous devez être capable de travailler avec des systèmes de contrôle de version, Git par exemple. Parfois, ils demandent ou donnent des tâches de test sur les services web ( SOAP, REST ). Parallèlement à tout cela, la connaissance du noyau Java doit être, sinon impeccable, du moins très fiable.

Premières impressions

Après les deux premières semaines, j'ai commencé à me plonger dans le code, et maintenant je sais que tout s'arrangera...
Je tiens tout de suite à préciser que travailler comme programmeur n'est toujours pas un recours, c'est avant tout un travail pour lequel il faut se lever le matin et revenir le soir. Mais ce travail est bien meilleur que beaucoup d’autres. Il a des intérêts, de l’argent et des perspectives. Et c’est particulièrement agréable quand on a pu y parvenir soi-même, avec son esprit, son travail et sa persévérance. J'ai pu changer ma vie et, à bien des égards, vous êtes maître de votre propre destin.
La seule chose dont j'ai peur, c'est que la paresse prenne le dessus sur moi. Qu'ayant atteint un certain résultat, je deviendrai paresseux et cesserai de grandir professionnellement. Mais j’espère vraiment que cela n’arrivera pas. Une fois de plus, je tiens à remercier les créateurs de cette merveilleuse ressource ! Et à toi, Javarashite, je veux te souhaiter persévérance et patience sur le chemin que tu as choisi, comme disait le grand-père Lénine : « Vous suivez le chemin du village, camarades ! =) et ne vous livrez pas encore à votre propre paresse, et surtout « NEVER GIVE UP ». Celui qui marche maîtrisera la route !

Postface : deux ans plus tard...

...j'ai décidé d'écrire une suite à ma « Success Story ». Il y a trois raisons à cela :
  • L'administration m'a demandé =);
  • Je crois toujours que cette ressource particulière a joué un rôle clé dans mon « entrée dans l’informatique » ;
  • Je reste convaincu que la motivation est également l'un des facteurs clés dans cette affaire, et l'un des meilleurs facteurs de motivation réside dans les histoires de réussite de personnes réelles qui se trouvaient exactement dans la même situation que vous, un Javarashite. Parce que je sais par moi-même que parfois les mains lâchent tout simplement... et que pour beaucoup, elles ne se relèvent jamais. C'est un chemin vraiment difficile, mais ça vaut le coup !
Voici donc mes réponses aux questions : Comment votre vie a-t-elle généralement changé après avoir trouvé un nouvel emploi et qu'avez-vous ressenti à ce moment-là ? Eh bien, bien sûr, cela a changé… Tout d’abord, l’éternel équilibre « temps-argent » a changé. Il y a sensiblement plus d'argent, beaucoup moins de temps... Il y a enfin assez pour le « pain quotidien », mais il n'est pas encore possible d'économiser pour les « mauvais jours ». Cependant, je suis sûr que si vous faites un peu d'efforts, vous pourrez économiser entre 200 et 500 $ par mois (et ce malgré le fait que je suis le seul à travailler dans une famille de 4 personnes, ma femme a le possibilité de s'occuper des enfants en toute tranquillité). La stabilité, la confiance dans l'avenir, ou du moins une illusion de celui-ci sont apparues... Décrivez votre travail. Que faites-vous, qu'étudiez-vous, quels sont les processus d'interaction avec l'équipe ? Je travaille actuellement pour ma deuxième entreprise, Electric Cloud. Il s'agit d'une entreprise américaine, le produit n'est pas simple - un outil DevOps pour l'intégration continue/la livraison continue, quelque chose comme Jenkins, mais en beaucoup plus grand, et un produit purement commercial. De plus, il est déjà assez ancien, plein de code existant (code obsolète, ndlr), qu'il faut maintenir, corriger des bugs, et parfois écrire de nouvelles fonctionnalités. En un mot, le zoo des technologies est tel que maman ne s’inquiète pas ! Vous devez plus ou moins composer avec Java8, GWT, JS, PHP, Perl, HTML, CSS, Spring, Hibernate, JUnit, Mockito, Maven, Perforce et ce ne sont que les principaux... Les premiers mois J'ai vu la lumière facilement, puis je m'y suis habitué. Les conditions de travail sont standards. Cinq jours par semaine, 18 jours ouvrables par an - vacances (plus tous les jours fériés). L'horaire est en grande partie libre ; si vous le souhaitez, vous pouvez travailler à domicile. Cependant, je préfère le bureau, où l'ambiance est plus professionnelle. Le plus souvent, je travaille de 12 à 19-20 heures. Nous avons des mises à jour de Scrum tous les jours ( Scrum est une méthodologie de développement logiciel flexible, ndlr), et une à deux fois par semaine nous avons des réunions le soir avec notre chef d'équipe américain. Quels sommets avez-vous déjà atteint dans votre carrière et quelles autres montagnes envisagez-vous de déplacer ? De temps en temps, je regarde de bonnes offres d'emploi dans des entreprises qui m'intéressent. Très rarement, mais cela arrive encore, je vais à des entretiens. J'ai déjà réalisé qu'il est plus facile de trouver un emploi avec un bon salaire que de trouver un emploi avec un bon projet. Et pour faire les deux, cela demande beaucoup d’efforts. Et aussi, je me rends de plus en plus compte que je ne suis pas entré dans ce métier par hasard, mais que je l'ai acquis grâce à mon travail et à ma persévérance, même s'il faut certainement avoir un certain degré de chance, surtout au début, et aussi : je doute fort que Je vais le changer . D'ici février, mon expérience en développement commercial aura deux ans. Si vous évaluez mon niveau selon des concepts généralement admis, il me semble qu'il s'agit de quelque chose comme Strong Junior ou Regular Middle. Cependant, cette évaluation est très subjective, sauf que je suis sûr que ce n'est pas encore Senior.  Un mot d’adieu pour ceux qui sont encore au début (ou au milieu) de leur voyage ? Je souhaite sincèrement à tous ceux qui croient en eux-mêmes d'atteindre leur objectif, et j'espère que mon exemple y contribuera. Je le répète : ce n’est pas un chemin facile, quoi qu’on vous dise, et très peu de ceux qui ont commencé atteignent leur objectif. Mais beaucoup plus de personnes peuvent le faire ! C’est juste que la plupart des gens manquent de quelque chose à mi-chemin : la motivation, le désir, la persévérance, la confiance en eux-mêmes et en leurs forces. Beaucoup inventent des excuses sophistiquées et n’arrivent plus à leurs objectifs… Alors croyez en vous, n’abandonnez pas à mi-chemin (les petites pauses ne comptent bien sûr pas =)), et vous réussirez ! Comme le disaient les anciens Grecs : « Ce ne sont pas les dieux qui brûlent les pots ». « Les programmeurs ne sont pas nés », vous vous en souvenez (devise de JavaRush, ndlr) ? Et enfin, encore un conseil : passez les INTERVIEWS ! C'est la route la plus directe. J'ai entendu une fois la phrase lors d'un événement informatique : « Je n'ai jamais rencontré une personne qui s'est rendue à 20 entretiens et n'a pas été acceptée. » À combien d’entretiens avez-vous déjà assisté ? Je sais que tu peux me répondre :
  • Je ne suis pas encore prêt, j'ai encore besoin d'apprendre...
  • Eh bien, personne ne m'appelle...
Donc : ce sont aussi toutes des excuses pourries ! J'ai obtenu mon premier emploi (avec un salaire de 1 100 $) après le niveau 21 ! Certes, à cette époque, j'avais déjà une certaine expérience de GWT, Hibernate et Spring, glanée lors de mon stage JavaRush. Mais ils n’ont pas posé de questions à ce sujet lors de l’entretien ; presque toutes les questions portaient sur Java Core et un peu de SQL. Alors n’ayez pas peur, cherchez les offres d’emploi, passez des entretiens ! Inscrivez-vous sur LinkedIn, Gina, sur les sites de recherche d'emploi - partout où vous le pouvez ! Suivez les dernières offres d'emploi et répondez-y ! « Frappez et ils vous ouvriront », inondez tous les bureaux informatiques de votre ville de lettres avec votre CV, et vous n'aurez pas à attendre longtemps pour une invitation à un entretien. Beaucoup d'options! La marche à suivre la plus courte est donc :
  1. J'ai complété 20 à 30 niveaux de JavaRush et j'ai appris un peu de SQL et de JDBC. Si vous possédez également les bases de Spring et Hibernate, alors vous êtes complètement en difficulté.
  2. J'ai rédigé un CV à l'aide d'exemples, je me suis inscrit sur des sites spécialisés, je l'ai posté, puis j'ai bombardé tous les bureaux informatiques de spam avec mon CV. Croyez-moi, vous ne serez pas laissé sans retour, beaucoup vous répondront simplement en disant qu'ils garderont à l'esprit votre candidature, et certains vous inviteront certainement à un entretien.
Chaque entretien, même un échec total, vous rapproche considérablement de votre objectif ! Parce qu’à chaque prochaine, vous vous sentirez plus préparé et plus confiant. Et 80 % des gens se posent les mêmes questions presque partout.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION