JavaRush /Blog Java /Random-FR /Java Middle en 2,5 mois.
novago219
Niveau 34

Java Middle en 2,5 mois.

Publié dans le groupe Random-FR
Salutations à tous les lecteurs qui pensaient qu'en 2,5 mois à partir de zéro , vous pouviez vraiment devenir Moyen. Je m'empresse de vous décevoir - cela n'est possible qu'avec un travail très dur sur vous-même, et je sais à quel point tout le monde veut tout en même temps - maintenant et pas autrement. Et l'expression à partir de zéro ne s'applique à moi que dans un certain statut conditionnel, car je n'avais en réalité absolument aucune connaissance de Java en tant que langage de programmation. Mais je savais déjà et j'étais capable de faire quelque chose avant même de rencontrer JavaRush, et j'aimerais peut-être commencer mon histoire par là, car mon évolution de carrière est en quelque sorte une étrange combinaison de connaissances, de compétences et de chance. Alors laissez-moi vous dresser une liste qui m'a donné un avantage concurrentiel sur les autres, et qui m'a également permis de passer JavaRush (jusqu'au niveau 34) assez rapidement et sans trop de difficultés (en tout cas, cela ne m'a pas surpris). La liste comprend les connaissances que l'université m'a apportées, ainsi que ce qui m'intéressait moi-même. Je ne me séparerai pas de l’endroit où tout se trouve et je ne nommerai pas non plus l’université. Si vous le souhaitez, vous devez maîtriser toutes ces connaissances par vous-même si votre université ne les enseigne pas.
  1. Algorithmes et structures de données : mon cheminement dans cette direction a commencé par l'étude des principes de construction d'algorithmes, la lecture de livres classiques (Knuth) et l'étude du langage de programmation Pascal, et il s'est poursuivi avec le langage C, la mise en œuvre de toutes les structures de données et l'analyse de les avantages et les inconvénients de chacun d'eux. Je ne dirai pas qu'en plus de tout le reste, je sais travailler avec les machines de Turing et les algorithmes de Markov, ou plutôt, je l'ai déjà dit, mais vous pouvez l'ignorer, même si, à mon avis, le concept d'un une bande mémoire infinie et le mouvement d'un pointeur le long de celle-ci donnent l'idée la plus correcte du fonctionnement réel d'un ordinateur de l'intérieur, mais ce n'est que mon humble opinion.
  2. Architecture informatique et Assembleur : lorsque vous décidez que vous avez parfaitement compris le principe de fonctionnement d'un ordinateur, essayez d'écrire des programmes à un niveau très bas (sinon comment apprécierez-vous tous les délices de Java ?), et j'ai personnellement envisagé toutes les options pédagogiques avec un , deux, trois registres et j'ai réalisé qu'il fallait esquiver quand il n'y avait qu'un seul registre, et le programme fonctionne (surprenant, non ?).
  3. Mathématiques discrètes : naturellement, parallèlement à ce qui précède, cela vaut également la peine d'aborder ce sujet, car il donne une compréhension complète de la pensée logique, et la théorie des machines à états finis vous dira comment sont disposés les entrailles du processeur et comment ils sont organisés en circuits intégrés. N'oublions pas que la théorie des graphes est également étudiée ici, ce qui ne sera pas 100% superflu.
  4. Mathématiques supérieures : j'ai décidé de mettre en avant toutes les autres matières mathématiques dans un seul paragraphe, afin de ne pas trop vous encombrer la tête. Voici : l'analyse mathématique, la théorie des probabilités et les statistiques, l'algèbre linéaire - d'ailleurs, une chose très, très importante si vous voulez faire des graphiques en trois dimensions (je sais, le rêve de tout le monde est d'écrire des jeux, même si pour cela vous le ferez aussi je dois suivre un cours d'équations différentielles et de méthodes numériques, mais c'est ainsi - des petites choses), et d'autres domaines.
  5. Architecture du système d'exploitation. Linux : une fois que vous serez à l'aise ici, le multithreading en Java soulèvera beaucoup moins de questions, et il s'avère que vous avez déjà entendu quelque part le conte de fées sur les philosophes.
  6. POO, langage C++ : eh bien, nous avons presque atteint le sommet de la chaîne alimentaire. Je n’expliquerai pas en détail ici et je ne dirai pas pourquoi l’implémentation de la POO en C++ est bien plus intéressante à regarder.
  7. De plus : quelques autres petites choses que je connaissais déjà étaient : l'infographie (OpenGL, Unity 3D) et C# (Core).
Qu’est-ce que JavaRush a à voir avec ça ?
Eh bien, avec toutes ces connaissances inutiles, en septembre de l'année dernière, je suis tombé sur JavaRush, j'ai parcouru quelques niveaux et j'ai abandonné, car j'ai assez facilement trouvé un emploi après l'université (pas en tant que programmeur, mais en informatique, peut-être quelqu'un peut deviner ce que ça pourrait être ?). Mais j'ai vite découvert que cela ne m'intéressait pas du tout ; en quelques mois, j'ai presque atteint le plafond et j'ai réalisé qu'il ne servait à rien de développer ici, même si la direction de l'entreprise proposait des options presque amusantes (parmi lesquelles DevOps), que j'ai rejeté. Parallèlement, je préparais les écoliers aux Olympiades d'informatique (j'ai oublié de le mentionner, j'aimais beaucoup les programmes sportifs), et après avoir quitté mon travail principal, j'y suis allé à corps perdu. J'ai été content de tout pendant environ 4 à 5 mois, jusqu'à ce que j'en ai aussi marre. Les questions étaient répétées, tous les sujets étaient abordés, et c'est là que je me suis souvenu de JavaRush. Étant un rationaliste (gourmand), j'ai d'abord parcouru les 10 niveaux initiaux d'un bout à l'autre, puis j'ai regardé plus loin (il semblait que le niveau 15 suffisait), j'ai réalisé que c'était assez intéressant et à ma manière habituelle - je viens de le faire à tout moment libre. Avez-vous 5 minutes à perdre ? Super, j'ajouterai la logique de la méthode. Total : J'ai acheté deux abonnements mensuels. Le premier mois je suis passé du niveau 10 au 28, le deuxième incomplet (environ 15 jours) je suis passé du niveau 28 au 34. Chronologiquement, c'était avril-mi-mai, soit 1,5 mois passé (faites le calcul vous-même en roubles). Je ne vous dirai pas comment le faire et comment ne pas le faire - beaucoup de choses ont déjà été dites à ce sujet.
Emploi
Vers le niveau 30, j'ai regardé les postes vacants dans ma ville et j'ai décidé de ne pas me précipiter et de ne pas envoyer de CV à tout le monde, mais de sélectionner spécifiquement l'entreprise souhaitée, de m'y préparer, et seulement après cela d'envoyer mes gribouillis au service RH. J'ai également dessiné les gribouillis très soigneusement et cela s'est très bien passé. J'ai été rapidement invité à un entretien et je l'ai passé en toute confiance (du moins en ce qui concerne Java Core). Je ne décrirai pas quelles étaient les questions. Les problèmes ont commencé lorsqu'ils m'ont demandé comment fonctionnait Spring et si je connaissais des technologies d'entreprise. En fait, j'ai dit que je ne sais pas, mais avec un tel niveau - Junior est garanti (vous ne sauterez pas plus haut), mais j'ai quand même sauté et ici, probablement, commence la partie la plus intéressante. En général, lorsqu'on m'a expliqué les conditions (2 mois - période probatoire, poste - Junior et échelle salariale), je me suis rendu compte que je ne les aimais pas vraiment, mais j'ai dit que j'étais d'accord et j'ai demandé si je pouvais commencer à travailler plus tard, motivant car j'avais besoin de terminer mon travail actuel avant de rejoindre une nouvelle entreprise. Je me suis donc donné presque un mois pour me préparer. J'ai eu un entretien début mai et j'ai commencé à travailler le 23. Naturellement, j'ai à nouveau étudié les exigences, découvert quelles technologies étaient utilisées (Java EE 6) et préparé le travail.
Milieu ou pas Milieu ?
Eh bien, j'ai commencé à travailler et j'ai découvert qu'ils avaient recruté environ 5 Juniors, parmi lesquels, bien sûr, je me démarquais, mais pas beaucoup. Tout d’abord, j’ai rencontré mon supérieur immédiat, j’ai remarqué qu’il fumait et j’ai commencé à sortir fumer avec lui (et je ne fume pas du tout). Il y avait aussi un autre programmeur avec nous, je vous parlerai de lui un peu plus tard. En général, en fumant (3 à 4 fois par jour ouvrable), j'ai parlé avec le manager, parlé plus en détail de mes réussites, mentionné avec désinvolture mes connaissances (cela a dû être utile) et en général, j'ai pris confiance en mon mieux. pourrait. Le barbecue et la bière à la fin de la première semaine ont permis de nouer de meilleures relations, ce que j'ai organisé. Je suis resté au bureau à travailler jusqu'à 23 heures (le jour ouvrable jusqu'à 18 h 30), jusqu'à ce que l'agent de sécurité me mette dehors. Parfois, le PDG et le CTO de l'entreprise restaient avec moi au bureau, avec qui je communiquais également, nous dînions ensemble et quittions le bureau ensemble (le CTO m'a même proposé de me raccompagner chez moi, mais j'ai poliment refusé). Ainsi, d'une part, j'ai établi de bonnes relations avec mon supérieur immédiat, et d'autre part, j'ai montré à la haute direction que j'achèverais la tâche et que je rentrerais ensuite chez moi. Naturellement, tout cela ne fait pas de moi un milieu. Alors qu’est-ce que ça a fait ? Je vous rappelle qu'avant l'entretien je ne connaissais aucun framework (sauf JUnit). C’est là qu’il vaut la peine de revenir au programmeur que j’ai mentionné ci-dessus. C'était un programmeur très puissant avec 20 ans d'expérience, qui a travaillé pendant 5 ans à Moscou, environ 7 ans en Amérique (en tant qu'architecte en chef de projet) et dans bien d'autres endroits, y compris des projets gouvernementaux d'une importance particulière (j'ai appris tout cela en fumant avec lui). Ce programmeur s'est donc vu confier une tâche très sérieuse et il a décidé de me prendre comme assistant. Après qu'on lui ait confié cette tâche, il s'est avéré qu'il avait un besoin urgent de quitter le pays et qu'il ne pourrait pas travailler. Il a rédigé le cadre de la candidature et m'a laissé la responsabilité en me disant qu'il surveillerait à distance. C'est ce moment qui m'a aidé à devenir Middle et à terminer la période probatoire non pas en 2 mois, mais en un et à prétendre à un salaire plus sérieux. Parce que ce programmeur n'était pas en mesure de surveiller à distance et que le projet m'était entièrement laissé. Je l'ai terminé avec succès en un mois, pour lequel j'ai reçu mon poste et la possibilité de postuler pour un salaire plus élevé.
Quelle est la morale ?
On peut dire que j'ai eu la chance d'étudier là où ils m'ont donné toutes ces connaissances (mais attention, je les ai juste utilisées pour en parler à mes supérieurs), que les circonstances étaient telles qu'un tel projet m'est tombé sur les épaules, et qu'est-ce que JavaRush doit faire faire avec, semble-t-il ? Permettez-moi de vous rappeler encore une fois qu'avant JavaRush, mon niveau de maîtrise de Java était de 0 - c'est tout. Deuxièmement, lorsque vous résolvez des problèmes à la 52e tentative, quelque chose vous reste à l'esprit - j'avais un talent pour les exceptions, les contrôles, etc., ce qui était aussi un avantage concurrentiel par rapport aux autres, et en général - vous commencez à comprendre très bien JavaCore ( ce qui confirme le certificat OCA, que j'ai obtenu aux frais de l'entreprise et obtenu 94 %), et sans cela, je ne vois pas l'intérêt de passer à autre chose. La semaine prochaine, je suis affecté à un nouveau projet à partir de zéro, que je dirigerai moi-même (y compris la conception de bases de données, la sélection de technologies et également le recrutement d'une équipe). De plus, je mènerai des entretiens et examinerai les progrès des juniors pour déterminer si cela en vaut la peine ou non. Je tiens à dire que dans ces domaines, j'ai été aidé non seulement par des connaissances factuelles, mais aussi par la capacité d'établir une communication avec l'équipe, de bien me présenter à la direction, la capacité de faire bonne impression et la preuve que je verrai tout jusqu'au bout. la fin. Merci pour votre attention, je souhaite à tous plus de persévérance et d'attention aux détails.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION