JavaRush /Blog Java /Random-FR /Le parcours du développeur Java
trinit
Niveau 41

Le parcours du développeur Java

Publié dans le groupe Random-FR
Eh bien, c'est à mon tour d'écrire mon histoire. Bref, je suis Développeur Java Junior depuis maintenant 3,5 mois. Si vous voulez des détails, lisez la suite. Comme tous ceux qui écrivent des histoires d’emploi, il est probablement préférable de commencer par l’histoire de qui j’étais et de qui je suis devenu. Il y a très longtemps, de très nombreuses années, j'ai essayé de me lancer dans la programmation. C'était la 2e ou la 3e année, je me suis inscrit à un club de programmation, j'y suis allé plusieurs fois, j'ai appris à taper mon nom et mon adresse personnelle sur le clavier, et c'était la fin de ma programmation, car pour une raison quelconque, j'ai abandonné ce club . Je n’avais aucune compétence en programmation à l’école ou à l’université, tout comme j’étudiais pour devenir comptable. Plusieurs fois, j'ai essayé d'apprendre la programmation par moi-même. J'avais chez moi un livre d'informatique qui contenait des problèmes en Pascal, mais je n'y comprenais rien et il n'y avait personne à qui l'expliquer, alors j'ai abandonné. Les années ont passé, j'ai étudié pour devenir comptable, il n'y avait pas de travail. Et il y a environ deux ans, j'ai finalement trouvé un emploi chez un franchisé 1C. Je suis allé à la ligne d'assistance technique des utilisateurs, parce que... Je connaissais la comptabilité, et la direction principale de 1C reste cette industrie. Après un certain temps, le réalisateur a dit qu'il faudrait que j'apprenne la programmation, parce que... Il n'y a personne à qui écrire et cette connaissance ne fera pas de mal au support technique. Il n’y avait nulle part où aller et c’était mon premier pas sur le chemin. Pendant deux mois j'ai lu un livre sur la plateforme 1C, puis ils m'ont expliqué ce qu'est une variable, et puis c'était comme un brouillard :) Je plaisante. Je ne comprenais rien au-delà des variables et j'ai dû regarder des cours pour débutants basés sur Python. Déjà en cours de travail et de tâches spécifiques, j'ai commencé à comprendre les boucles, les tableaux et le mécanisme de débogage étape par étape. La véritable avancée a été lorsque j'ai compris comment transmettre des paramètres à d'autres fonctions. Un jour, j'étais assis et je cherchais sur Google ce qui pourrait m'aider à apprendre 1C et sur l'un des forums, j'ai découvert que l'apprentissage du langage VB.NET pourrait m'aider dans ce domaine. Ce fut une autre avancée majeure. J'ai téléchargé le livre "Lukin S.N. Understanding Visual Basic.NET. Manuel d'auto-instruction en 3 volumes" et j'ai commencé à étudier avec. Le livre est très bien, surtout pour les débutants. Et le langage pour débutants est également bon, même si beaucoup de gens en disent du mal (apparemment, ils se souviennent de l'ancien VB). D'une part, il permet de couper la logique sans se laisser distraire par l'interface utilisateur, d'autre part, il est à la fois procédural et POO. De plus, VB.NET s'est avéré vraiment très similaire à 1C, ou plutôt, 1C lui était similaire et il m'était facile de programmer en 1C toute la journée, de résoudre des problèmes de travail, et de venir le soir et de passer rapidement à une autre langue. J'ai consacré tout mon temps libre et mes week-ends à la programmation. À cette époque, je commençais déjà à me lasser de 1C et j'ai réalisé que je ne pouvais pas gagner d'argent avec 1C (je gagnais une fois et demie moins que mes clients comptables, pour qui j'avais écrit le programme et que j'avais formé). J'ai commencé à réfléchir, que faire ensuite ? Des réflexions sont venues sur Android, cela semblait intéressant, prometteur, etc. Un ami programmeur a déclaré qu'ils écrivaient en Java, et Internet l'a confirmé. Un ami m'a dit qu'il serait préférable d'apprendre le C++ avant Java. Je voulais déjà commencer, mais il restait encore plus de la moitié du livre sur VB.NET et je ne voulais pas abandonner. Le livre aurait pu être lu en un mois, mais j'ai réalisé que lire seul sans pratique ne donnerait rien et j'ai décidé d'écrire un petit mais mon propre projet. Un bloc-notes a été choisi à cet effet. J'ai écrit un bloc-notes qui ouvre et enregistre les fichiers, détermine l'encodage lors de l'ouverture d'un fichier et colore la syntaxe 1C. Ensuite, j’ai écrit une calculatrice (je n’aurais jamais pensé que c’était une chose aussi compliquée). Ensuite, il y a eu un autre grand projet, selon mes normes - un programme pour résoudre les tests 1C. Le fait est qu'il prend un fichier texte avec des questions et des réponses, met le tout dans un fichier Excel (oui, à l'époque, je ne savais pas comment travailler avec une base de données) et vous pouvez ensuite résoudre à la fois la section et les tickets aléatoires, etc. Il y avait quelques autres petits programmes pour comprendre les flux, les modificateurs d'accès et d'autres choses. Le moment est venu où j'ai terminé le livre VB.NET. J'avais une base suffisante, à peu près la même qu'après la 2ème voire la 3ème année universitaire. Au travail, j'étais aussi déjà capable de bien écrire et de comprendre la jungle du code. C'est juste que le travail est finalement devenu ennuyeux, car pour écrire sur 1C, vous n'avez pas besoin de connaître la programmation, mais dans une plus large mesure, il vous suffit de comprendre les mécanismes de la plateforme. C'est au tour du C++, comme mon ami l'a conseillé. J'ai ouvert le livre C++ et ouvert le second. Partout où ils écrivent qu'avant d'apprendre le C++, il faut connaître le C. J'ai trouvé un livre sur le C, je l'ai feuilleté et j'ai pensé « FUCK YOU ! », je veux écrire sur Android, J'AI BESOIN DE JAVA. Et comme si enfin et sans abandonner le C, j'ai décidé, purement pour l'avenir, de me tourner vers des cours pour débutants en Java. Devinez où je suis tombé ? Oui, à notre bien-aimé JavaRush. C'était le Nouvel An 2015. Dès que j’ai appuyé sur le gros bouton vert PLAY, j’ai été submergé. Les 10 premiers niveaux étaient faciles. Ensuite, il y a eu des frais, et le dollar était à des sommets sans précédent, il fallait attendre une remise. Entre-temps, je suis tombé sur des cours gratuits sur Python de niveau de difficulté intermédiaire ; ce n'est jamais une mauvaise idée de se dégourdir le cerveau, et j'ai suivi ces cours, ce qui a duré encore quelques mois. Un jour, j'ai eu la chance d'aller passer un entretien dans une entreprise qui avait besoin d'une personne sachant écrire en Java. Je n'ai pas bien dormi de la nuit, je n'arrêtais pas de penser qu'ils pourraient me le demander, le matin je répétais la différence entre une interface et une classe abstraite, les modificateurs d'accès, le polymorphisme. Mais ils ne m'ont rien demandé, ils ont simplement écrit une liste de technologies à apprendre, après quoi ils ont promis de me confier une tâche de test, sur la base de laquelle ils examineraient mon style de codage, ma logique, puis feraient une décision concernant mon emploi. Le poste vacant n’était pas pour Android, mais pour un côté serveur, c’est peut-être pour le mieux. Le deuxième jour, j'ai quitté 1C, car ce domaine était épuisé pour moi, et gagner des centimes et pelleter des tonnes de code 1C chaque jour, après quoi étudier les technologies Java, était au-dessus de mes forces. J'ai commencé avec impatience à étudier les technologies Java qui m'ont été proposées, celle-ci Je ne savais pas comment travailler avec une base de données à l'époque) et vous pouvez ensuite décider à la fois de la partition et des tickets aléatoires, etc. Il y avait quelques autres petits programmes pour comprendre les flux, les modificateurs d'accès et d'autres choses. Le moment est venu où j'ai terminé le livre VB.NET. J'avais une base suffisante, à peu près la même qu'après la 2ème voire la 3ème année universitaire. Au travail, j'étais aussi déjà capable de bien écrire et de comprendre la jungle du code. C'est juste que le travail est finalement devenu ennuyeux, car pour écrire sur 1C, vous n'avez pas besoin de connaître la programmation, mais dans une plus large mesure, il vous suffit de comprendre les mécanismes de la plateforme. C'est au tour du C++, comme mon ami l'a conseillé. J'ai ouvert le livre C++ et ouvert le second. Partout où ils écrivent qu'avant d'apprendre le C++, il faut connaître le C. J'ai trouvé un livre sur le C, je l'ai feuilleté et j'ai pensé « FUCK YOU ! », je veux écrire sur Android, J'AI BESOIN DE JAVA. Et comme si enfin et sans abandonner le C, j'ai décidé, purement pour l'avenir, de me tourner vers des cours pour débutants en Java. Devinez où je suis tombé ? Oui, à notre bien-aimé JavaRush. C'était le Nouvel An 2015. Dès que j’ai appuyé sur le gros bouton vert PLAY, j’ai été submergé. Les 10 premiers niveaux étaient faciles. Ensuite, il y a eu des frais, et le dollar était à des sommets sans précédent, il fallait attendre une remise. Entre-temps, je suis tombé sur des cours gratuits sur Python de niveau de difficulté intermédiaire ; ce n'est jamais une mauvaise idée de se dégourdir le cerveau, et j'ai suivi ces cours, ce qui a duré encore quelques mois. Un jour, j'ai eu la chance d'aller passer un entretien dans une entreprise qui avait besoin d'une personne sachant écrire en Java. Je n'ai pas bien dormi de la nuit, je n'arrêtais pas de penser qu'ils pourraient me le demander, le matin je répétais la différence entre une interface et une classe abstraite, les modificateurs d'accès, le polymorphisme. Mais ils ne m'ont rien demandé, ils ont simplement écrit une liste de technologies à apprendre, après quoi ils ont promis de me confier une tâche de test, sur la base de laquelle ils examineraient mon style de codage, ma logique, puis feraient une décision concernant mon emploi. Le poste vacant n’était pas pour Android, mais pour un côté serveur, c’est peut-être pour le mieux. Le deuxième jour, j'ai quitté 1C, car ce domaine était épuisé pour moi, et gagner des centimes et pelleter des tonnes de code 1C chaque jour, après quoi étudier les technologies Java, était au-dessus de mes forces. J'ai commencé avec impatience à étudier les technologies Java qui m'ont été proposées, celle-ci Je ne savais pas comment travailler avec une base de données à l'époque) et vous pouvez ensuite décider à la fois de la partition et des tickets aléatoires, etc. Il y avait quelques autres petits programmes pour comprendre les flux, les modificateurs d'accès et d'autres choses. Le moment est venu où j'ai terminé le livre VB.NET. J'avais une base suffisante, à peu près la même qu'après la 2ème voire la 3ème année universitaire. Au travail, j'étais aussi déjà capable de bien écrire et de comprendre la jungle du code. C'est juste que le travail est finalement devenu ennuyeux, car pour écrire sur 1C, vous n'avez pas besoin de connaître la programmation, mais dans une plus large mesure, il vous suffit de comprendre les mécanismes de la plateforme. C'est au tour du C++, comme mon ami l'a conseillé. J'ai ouvert le livre C++ et ouvert le second. Partout où ils écrivent qu'avant d'apprendre le C++, il faut connaître le C. J'ai trouvé un livre sur le C, je l'ai feuilleté et j'ai pensé « FUCK YOU ! », je veux écrire sur Android, J'AI BESOIN DE JAVA. Et comme si enfin et sans abandonner le C, j'ai décidé, purement pour l'avenir, de me tourner vers des cours pour débutants en Java. Devinez où je suis tombé ? Oui, à notre bien-aimé JavaRush. C'était le Nouvel An 2015. Dès que j’ai appuyé sur le gros bouton vert PLAY, j’ai été submergé. Les 10 premiers niveaux étaient faciles. Ensuite, il y a eu des frais, et le dollar était à des sommets sans précédent, il fallait attendre une remise. Entre-temps, je suis tombé sur des cours gratuits sur Python de niveau de difficulté intermédiaire ; ce n'est jamais une mauvaise idée de se dégourdir le cerveau, et j'ai suivi ces cours, ce qui a duré encore quelques mois. Un jour, j'ai eu la chance d'aller passer un entretien dans une entreprise qui avait besoin d'une personne sachant écrire en Java. Je n'ai pas bien dormi de la nuit, je n'arrêtais pas de penser qu'ils pourraient me le demander, le matin je répétais la différence entre une interface et une classe abstraite, les modificateurs d'accès, le polymorphisme. Mais ils ne m'ont rien demandé, ils ont simplement écrit une liste de technologies à apprendre, après quoi ils ont promis de me confier une tâche de test, sur la base de laquelle ils examineraient mon style de codage, ma logique, puis feraient une décision concernant mon emploi. Le poste vacant n’était pas pour Android, mais pour un côté serveur, c’est peut-être pour le mieux. Le deuxième jour, j'ai quitté 1C, car ce domaine était épuisé pour moi, et gagner des centimes et pelleter des tonnes de code 1C chaque jour, après quoi étudier les technologies Java, était au-dessus de mes forces. J'ai commencé avec impatience à étudier les technologies Java qui m'ont été proposées, celle-ci Et comme si enfin et sans abandonner le C, j'ai décidé, purement pour l'avenir, de me tourner vers des cours pour débutants en Java. Devinez où je suis tombé ? Oui, à notre bien-aimé JavaRush. C'était le Nouvel An 2015. Dès que j’ai appuyé sur le gros bouton vert PLAY, j’ai été submergé. Les 10 premiers niveaux étaient faciles. Ensuite, il y a eu des frais, et le dollar était à des sommets sans précédent, il fallait attendre une remise. Entre-temps, je suis tombé sur des cours gratuits sur Python de niveau de difficulté intermédiaire ; ce n'est jamais une mauvaise idée de se dégourdir le cerveau, et j'ai suivi ces cours, ce qui a duré encore quelques mois. Un jour, j'ai eu la chance d'aller passer un entretien dans une entreprise qui avait besoin d'une personne sachant écrire en Java. Je n'ai pas bien dormi de la nuit, je n'arrêtais pas de penser qu'ils pourraient me le demander, le matin je répétais la différence entre une interface et une classe abstraite, les modificateurs d'accès, le polymorphisme. Mais ils ne m'ont rien demandé, ils ont simplement écrit une liste de technologies à apprendre, après quoi ils ont promis de me confier une tâche de test, sur la base de laquelle ils examineraient mon style de codage, ma logique, puis feraient une décision concernant mon emploi. Le poste vacant n’était pas pour Android, mais pour un côté serveur, c’est peut-être pour le mieux. Le deuxième jour, j'ai quitté 1C, car ce domaine était épuisé pour moi, et gagner des centimes et pelleter des tonnes de code 1C chaque jour, après quoi étudier les technologies Java, était au-dessus de mes forces. J'ai commencé avec impatience à étudier les technologies Java qui m'ont été proposées, celle-ci Et comme si enfin et sans abandonner le C, j'ai décidé, purement pour l'avenir, de me tourner vers des cours pour débutants en Java. Devinez où je suis tombé ? Oui, à notre bien-aimé JavaRush. C'était le Nouvel An 2015. Dès que j’ai appuyé sur le gros bouton vert PLAY, j’ai été submergé. Les 10 premiers niveaux étaient faciles. Ensuite, il y a eu des frais, et le dollar était à des sommets sans précédent, il fallait attendre une remise. Entre-temps, je suis tombé sur des cours gratuits sur Python de niveau de difficulté intermédiaire ; ce n'est jamais une mauvaise idée de se dégourdir le cerveau, et j'ai suivi ces cours, ce qui a duré encore quelques mois. Un jour, j'ai eu la chance d'aller passer un entretien dans une entreprise qui avait besoin d'une personne sachant écrire en Java. Je n'ai pas bien dormi de la nuit, je n'arrêtais pas de penser qu'ils pourraient me le demander, le matin je répétais la différence entre une interface et une classe abstraite, les modificateurs d'accès, le polymorphisme. Mais ils ne m'ont rien demandé, ils ont simplement écrit une liste de technologies à apprendre, après quoi ils ont promis de me confier une tâche de test, sur la base de laquelle ils examineraient mon style de codage, ma logique, puis feraient une décision concernant mon emploi. Le poste vacant n’était pas pour Android, mais pour un côté serveur, c’est peut-être pour le mieux. Le deuxième jour, j'ai quitté 1C, car ce domaine était épuisé pour moi, et gagner des centimes et pelleter des tonnes de code 1C chaque jour, après quoi étudier les technologies Java, était au-dessus de mes forces. J'ai commencé avec impatience à étudier les technologies Java qui m'ont été proposées, celle-ciliste : 1. POO. 2. Maven. 3. Tuiles Apache. 4. Printemps MVC. 5. Hiberner. 6. Eclipse (je recommande de ne pas utiliser un environnement propre, mais STS de Spring - https://spring.io/tools/sts/). 7. Tomcat 8. 8. JUnit. J'ajouterai quelques technologies supplémentaires qu'il est très souhaitable de connaître : 9. Bootstrap - avec lui, vous pouvez très rapidement créer une interface de site Web sans inventer vous savez quoi... 10. JQuery - pour ne pas écrire des tonnes de JS natif code + il existe toutes sortes de fonctionnalités utiles comme autocomplete(), etc. 11. Linux/Ubuntu – dans la plupart des cas, celui-ci sera installé au travail. Vous devez au moins pouvoir installer JDK et Tomcat. 12. GIT/autre système de contrôle de version est indispensable. 13.JSON. et technologies qui peuvent devoir être utilisées dans les projets : 14. AngularJS - Framework JS, une chose très cool. 15. MongoDB. 16. LapinMQ. et ce dont vous ne pouvez pas vous passer : 17. Anglais! Il fallait maintenir un équilibre entre la qualité de l'étude et le temps qui y était consacré. Le poste vacant ne pouvait pas m’attendre éternellement, et c’est ce qui m’a motivé. Chaque jour, je consacrais environ 14 à 16 heures à étudier. Il m'a fallu 3 semaines pour me familiariser avec ces technologies. Je viens de lire quelques articles sur certaines technologies et de regarder des vidéos sur d'autres. J'ai fait la connaissance de gens comme Spring et Hibernate dans la pratique - j'ai regardé des vidéos d'Indiens et j'ai répété ce qu'ils faisaient. J'ai écrit plusieurs tests JUnit et simplement installé Tomcat sur mon ordinateur. Maven a inclus des dépendances dans pom.xml. À propos d'Eclipse, je pensais que ce n'était qu'un outil et que je pouvais y passer depuis IDEA à tout moment (à quel point je me trompais). Même si je n’étais pas sûr de mes connaissances, il était temps de passer le test. Je l'ai pris, cela s'est avéré pas très difficile, car au cours des 3 dernières semaines, j'ai découvert presque tout cela en étudiant la technologie. Il était nécessaire d'écrire une application web - un gestionnaire de tâches (site), où l'on peut créer une tâche, la modifier, la supprimer, lui donner un statut et une date de création. Et développez également un module d’inscription/connexion pour cela. Tout cela pourrait être fait sans utiliser JS, une belle interface utilisateur, du HTML et du CSS simples. Au même moment, une réduction sur JavaRush est apparue et j'ai souscrit à un abonnement, mais je n'avais pas le temps de suivre des cours. C'était très intéressant de faire la tâche de test. Il a fallu une semaine pour terminer la fonctionnalité principale, puis 3 autres pour corriger des bugs mineurs, refactoriser, réécrire de org.hibernate.SessionFactory vers javax.persistence.EntityManager, changer la base de données de MySQL vers H2 ou HSQLDB, écrire des tests JUnit. Pendant que je refaisais tout cela, j'ai rencontré mille erreurs, en chemin, j'ai appris à lire mon stackoverflow désormais bien-aimé en anglais et à comprendre au moins un petit quelque chose, bien que grâce à Google Translate. J'ai également eu du mal avec Eclipse car il figurait sur la liste des technologies qui m'ont été données lors de l'entretien. Permettez-moi simplement de dire que la différence entre IDEA et Eclipse est colossale. Imaginez que vous volez dans un avion, et donc, IDEA est un avion avec un pilote, et vous dormez dans un siège de première classe et volez lentement vers votre destination, et Eclipse - vous volez également dans un avion, mais en tant que pilote , il y a un orage dehors et la foudre frappe votre moteur toutes les 20 minutes. Sérieusement, IDEA fait beaucoup de choses pour vous, et vous ne le savez même pas ; dans Eclipse, tout cela doit être installé, configuré et enregistré. Dans les premiers jours de « mon Eclipse », j'ai craché, juré et montré des tendances suicidaires, après 5 mois de travail avec cet IDE je peux dire qu'il est cool, puissant et utilisable, il suffit de s'y habituer. Finalement, tout s'est bien passé, il y a eu un autre entretien avec des questions sur la mise en œuvre des fonctionnalités de l'application, et je l'ai réussi. Puis une autre interview avec le réalisateur. Ensuite, certains des gens qui ont décidé de mon sort sont partis en vacances, puis il y a eu les vacances de mai, puis ils ont apporté mon ordinateur et autre chose. Donc encore 2 mois se sont écoulés. Durant ces 2 mois, j'ai réussi à terminer les niveaux 13-22 dans JavaRush, à regarder 2 cours de Batyrshynov sur Spring et Spring MVC, d'ailleurs de bons cours, mais seulement pour les débutants, car fondamentalement tous les exemples sont au niveau "Hello world". Et je me suis mis au travail. Ils m'ont immédiatement confié un projet - une API REST pour un jouet pour iOS, communication via JSON. C'était très intéressant, mais difficile. Au début, c'était particulièrement difficile d'approfondir quelque chose que je n'avais jamais vu : Ubuntu et GIT. Ubuntu peut être maîtrisé sans problème, mais GIT est une chose amusante, puissante et complexe, surtout sur les grands projets et dans des situations non standard. Je n'oublierai jamais mon premier salaire, qui s'est avéré être 4 fois plus élevé qu'en 1C. Immédiatement après avoir obtenu le poste, pour étudier la technologie de manière indépendante et comme projet de test, j'ai décidé d'écrire un jouet, comme un bac à sable, pour mettre en œuvre certaines idées. Et récemment, je l'ai terminé. Si vous le souhaitez, vous pouvez voir le résultat (mais il est fortement conseillé de se connecter depuis un ordinateur et Chrome, car je suis encore un mauvais maquettiste) : http://triangles.cf Je travaille depuis le 4ème mois maintenant. Je pensais que tout ce qui était difficile était déjà derrière moi, mais il s’est avéré que c’était le contraire. Vous devez apprendre l’anglais, car si vous ne le connaissez pas, même si vous êtes embauché, vous ne travaillerez pas longtemps. Lire la documentation, communiquer avec les clients, rédiger du code et des commentaires, le tout en anglais. Vous devez également suivre des cours JavaRush, des modèles d'étude, des algorithmes et d'autres choses utiles. Je souhaite à tous bonne chance, développement facile et esprit fort. Pour ceux qui travaillent et ceux qui veulent trouver un emploi. Vous réussirez, il vous suffit de vous efforcer et de le faire, de vous battre avec vous-même et contre les interruptions. JAVA à tous !) combattez avec vous-même et avec les exceptions. JAVA à tous !) combattez avec vous-même et avec les exceptions. JAVA à tous !)
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION