De la loi au développement du Big Data

Il existe de nombreuses façons - comment trouver le vôtre?

Le héros de cet article, Roman Mayer, a reçu une éducation en arts libéraux et est venu à l'informatique dans des domaines complètement différents. Il a développé sa propre entreprise, a travaillé comme directeur des ventes, était avocat, et à l'âge de 28 ans, il s'est rendu compte qu'il n'avait pas encore trouvé un emploi de rêve et qu'il était temps d'apprendre quelque chose de nouveau. Il a expliqué pourquoi il avait décidé de se diriger vers l'informatique, comment il avait étudié la programmation et quelles difficultés il avait rencontrées dans un nouveau domaine pour lui-même.

Si vous avez des amis qui veulent également commencer la programmation, mais ne savez pas par où commencer, ou si vous craignez que tout se passe mal, partagez ce post avec eux. Si vous essayez dur, tout se passera et l'histoire de Roman en est un exemple.



Posséder une entreprise et travailler dans la spécialité


J'ai étudié à la faculté de droit et en même temps, en troisième année, dans une école de commerce. Il y avait beaucoup de théorie et de pratique sur la création et le développement d'une entreprise. À cette époque, je m'intéressais toujours à la littérature sur l'efficacité personnelle et la psychologie - les livres de Stephen Covey, Eric Burn, et lis les histoires de milliardaires célèbres: Richard Branson, Warren Buffett, Bill Gates. Inspiré par les livres et ce qui a été dit dans les cours, je pensais que toute tâche m'incombait.

J'ai eu l'idée de créer ma propre entreprise, j'ai pris un congé académique à l'université et j'ai ouvert une agence de voyage. J'étais administrateur, mais - comme l'entreprise était très petite, de un à trois employés à des moments différents - j'ai tout fait de suite. Il a vendu des visites, enseigné à ses subordonnés, réfléchi à une politique marketing, préparé des rapports fiscaux et résolu des problèmes juridiques.

À un moment donné, j'ai commencé à me sentir déçu. Au tout début, je pensais que j'établirais rapidement des processus et je ne viendrais que pour de l'argent. Il s'est avéré que cela ne fonctionne pas: vous devez souvent consacrer des soirées ou même des week-ends à votre entreprise. De plus, les résultats financiers n'étaient pas aussi impressionnants que je l'espérais. L'agence a constamment réalisé des bénéfices, mais je n'ai jamais su ce qui se passerait dans un mois - quels cataclysmes se produiraient dans quel pays - et quel serait le succès des ventes. En conséquence, ayant acquis une bonne expérience, formé une clientèle, développé plusieurs employés, j'ai vendu l'agence et suis retourné à l'université.

La jurisprudence ne m'intéressait pas vraiment. J'ai terminé les tâches avec succès, mais cela ne m'a pas «éclairé». De plus, vu les salaires des avocats sur les chantiers, je pensais que les perspectives n'étaient pas très bonnes. Par conséquent, je ne voulais pas travailler dans ma spécialité, et après avoir défendu mon diplôme, j'ai commencé à chercher un emploi qui me conviendrait.

On m'a immédiatement proposé de devenir spécialiste de la vente de produits de crédit dans une grande banque et j'ai promis un bon salaire. Je savais que j'aime parler, et si j'aime vraiment quelque chose, je peux en parler avec plaisir. J'ai donc accepté. Les prêts y étaient très rentables pour les clients et je les ai vendus avec succès. J'ai aimé ce travail. Une fois, j'ai même pris la troisième place en termes de ventes parmi tous les employés des succursales russes de la banque.

Après un certain temps, les conditions ont changé, les prêts ont augmenté de prix et j'avais besoin non seulement de présenter le produit, mais de manipuler les gens pour l'acheter. Je n'aime pas ça. J'ai donc réalisé que ce travail n'était pas non plus pour moi.

Je ne savais pas quoi faire ensuite, l'état était déprimé. Et soudain, un camarade de classe, avec qui nous avons étudié à la faculté de droit, a proposé de travailler dans ma spécialité. Je ne savais pas où aller, et j'ai décidé de l'essayer - j'aime ça tout d'un coup. Pendant quatre ans, j'ai été avocat. Pendant ce temps, il a travaillé dans divers domaines - dans une société de gestion, dans la publicité, l'immobilier locatif, la construction.

J'ai peut-être rencontré des entreprises qui n'ont pas réussi, ou peut-être que le point est dans ma perception - mais j'ai réalisé que ce travail ne me convenait pas non plus. En gros, j'ai dû faire face à un travail contractuel, presque toujours en peu de temps, et des affaires judiciaires intéressantes ont rarement été trouvées. Étant donné que le marché des avocats est sursaturé et que les salaires sont faibles, j'ai pensé qu'il était temps de changer le périmètre d'activité.

Comment j'ai ouvert la voie informatique


Je deviendrais peut-être programmeur beaucoup plus tôt. En huitième, j'ai choisi un profil technique et je suis allé en cours de mathématiques: je pensais avoir un penchant pour cela. J'ai bien étudié, mais la charge était lourde et j'étais très fatiguée. Une fois que nous en avons discuté avec nos parents et sommes arrivés à la conclusion que les ingénieurs ne sont pas autant demandés que les avocats et les économistes. Je suis donc passé à la classe humanitaire, puis je suis entré dans le budget de la faculté de droit. Mais j'ai toujours aimé les mathématiques et l'informatique.

J'ai des collègues programmeurs. Un de mes amis, sans formation spécialisée, a appris à programmer et est devenu un développeur à succès - il crée des systèmes distribués complexes. J'ai été très inspiré par son histoire. J'ai compris que c'était réel, et non à une hauteur vertigineuse. Lorsque je travaillais comme avocat, mes collègues ont dit que j'étais bon à créer des systèmes (par exemple, pour répartir le travail entre les employés). Je pensais que ce n'était pas si loin du développement, et un tel travail était facile pour moi. J'ai pensé: "Pourquoi ne pas apprendre à programmer aussi?" Ensuite, j'ai continué à travailler en tant qu'avocat, mais j'ai senti qu'il était temps de changer quelque chose.

Le travail en informatique me semblait plus confortable. Un horaire flexible, pas de code vestimentaire - tout le monde porte des jeans et des t-shirts, beaucoup de goodies - au sens littéral et figuré, des salaires attractifs et la demande de spécialistes est en constante augmentation.

J'ai commencé à creuser, quel type de développement est le plus proche de moi - backend ou frontend. Lors des réunions amicales, il y avait beaucoup de discussions sur la programmation, et j'ai déjà un peu compris ce qui était quoi. J'ai réalisé que je voulais écrire un backend. J'ai lu quelles langues sont populaires et j'ai décidé d'apprendre Java.

Programmation à partir de zéro


J'ai commencé à chercher des cours sur Internet et suis tombé sur JavaRush - ils enseignent le développement à partir de zéro. J'ai commencé à suivre ce cours et j'ai travaillé en parallèle.

Au tout début du chemin, il m'était difficile de penser dans les abstractions, de créer une nouvelle logique. Cela a pris beaucoup de temps. Parfois, pendant plusieurs jours, je pensais aux tâches qui étaient données dans les cours.

J'ai commencé avec des programmes élémentaires - l'un des premiers que j'ai écrit pouvait communiquer avec l'utilisateur. Elle a affiché le texte, j'ai choisi quoi répondre et le programme a structuré son travail en fonction de ma réponse.

Je me souviens comment j'ai créé la première application multithread. C'était cool de comprendre qu'une logique est implémentée dans un thread, l'autre dans un autre, ils interagissent et tout fonctionne.

Six mois après le début des cours, j'ai réalisé que je voulais me concentrer sur le développement et j'ai quitté mon emploi. J'étais inquiet: j'avais 28 ans, j'ai quitté ma carrière juridique et je ne savais pas ce qui m'attendait. Je voulais apprendre Java dès que possible. Mais quand il y a cette pression interne - il faut se dépêcher, le temps presse - cela devient plus difficile à apprendre, car le stress prend beaucoup d'énergie.

Un ami en programmation a conseillé de lire le livre Java: The Complete Reference. Il est écrit dans une langue accessible et fournit une bonne base. J'ai aussi étudié dessus.

Plusieurs de mes amis de développement ont travaillé pour EPAM, et j'ai appris d'eux que la société organise des cours de programmation. Il y avait de bonnes critiques sur l'entreprise et les cours, et je voulais y aller. Pendant que j'attendais un nouvel ensemble, j'ai décidé de suivre des cours sur Oracle et Java à Sbertekh. Il fallait passer une sélection décente: sur 130 personnes qui voulaient suivre le cours, 30 ont pris des gens. Mes connaissances de base et un peu d'expérience se sont avérées suffisantes pour entrer dans leur nombre.

Après un certain temps, un ensemble pour un cours de développement Java a commencé au centre de formation EPAM. J'ai décidé d'aller chez lui. Là, le décrochage était également important, il fallait passer par deux entretiens - par téléphone et en personne. Au cours de l'entrevue, ils ont évalué les connaissances de base de Java, la capacité de créer une logique simple en déplacement et vérifié le niveau d'anglais. En conséquence, ils m'ont emmenée dans un centre de formation.

J'ai commencé à suivre deux cours en même temps - à Sbertekh et à EPAM. La plupart du temps, des personnes ayant une formation technique ont étudié avec moi. Il y avait ceux qui avaient déjà travaillé dans les tests ou le développement. Je n'avais pas confiance en moi: non seulement je venais d'un domaine complètement différent - j'étais plus âgé que la plupart des gars. Mais je voulais vraiment terminer les cours et trouver un emploi. Par conséquent, tout mon temps était consacré aux conférences et aux devoirs. Dans les cours, nous avons étudié les bases de la programmation orientée objet, des classes et des méthodes en Java, nous nous sommes familiarisés avec les bibliothèques et les frameworks, et à la fin nous avons créé une application client-serveur dans Spring et AngularJS.

Transférer au nouveau


À l'été 2016 - six mois après le début des cours - on m'a proposé un emploi dans les deux sociétés informatiques. J'ai choisi EPAM: je voulais y aller dès le début, mes amis y travaillaient et ils ont aimé.

Il y avait un point intéressant: à la fin des cours à l'EPAM, notre groupe a été demandé qui voulait travailler avec le Big Data. Tout le monde a levé la main sauf moi. Je savais peu de choses sur ce domaine, j'ai entendu dire que travailler avec les mégadonnées n'est pas facile. De plus, je n'avais presque aucune expérience de développement. Je voulais juste programmer en Java, il n'y avait pas de grandes ambitions.

Mais après l'entretien à la fin du cours, ils m'ont appelé à la direction Big Data. J'ai longtemps pensé, pesé le pour et le contre. J’y ai pensé: d’une part, lorsque vous êtes appelé dans l’entreprise de vos rêves sans expérience, il est déraisonnable de refuser ou de mettre en avant vos exigences. Par contre, j'avais peur de la complexité de cette direction. Mais je savais que ce domaine était prometteur. De plus, avant de commencer à travailler sur le projet Big Data, il a fallu suivre un autre cours interne à l'EPAM - cela a donné un sentiment de sécurité. Et j'ai pris ma décision.

Le cours de deux mois s'est avéré saturé: nous nous sommes familiarisés avec différentes technologies - Hadoop, Spark, Kafka, HBase, Elasticsearch, Ignite, Cassandra, Flink. Nous avons appris à écrire des programmes de traitement de données, appris des machines virtuelles, des conteneurs Docker et d'autres choses dont les développeurs Big Data ont besoin.

Puis pendant trois mois, nous avons participé au projet opensourse pour le streaming de données Flink - créé de nouvelles fonctionnalités ou corrigé des bugs. Ce fut une expérience intéressante: vous interagissez avec des gens d'autres parties de la planète et participez au développement d'un système aussi difficile.

Au début de mon travail, j'avais un syndrome d'imposteur. De l'école, j'étais le meilleur: j'ai étudié parfaitement, j'étais chef d'établissement à l'université. Et puis je me suis senti pire, parce que je savais peu. Mais je prends toujours la pression - je viens de le faire tous les jours. Au début, j'ai enregistré des conversations avec des collègues lorsque nous avons parlé sur Skype, afin de ne pas demander à nouveau. Au fil du temps, le besoin d'enregistrements a disparu. J'ai commencé à saisir plus rapidement, à mieux gérer les tâches.

Pour faire face à quelque chose de nouveau devait constamment. Ici, Google ou les conseils de collègues m'ont aidé. Parfois, je devais lire la documentation - bonne, elle peut être facilement trouvée. J'ai appris certaines choses de la vidéo.

Selon le projet, le développeur Big Data peut écrire en Java, Python, Scala et un certain nombre d'autres langages. Il se trouve que sur mes projets j'ai maîtrisé la Scala et maintenant je programme principalement dans cette langue.

Quand je suis arrivée à l'informatique, je manquais de communication. Au gymnase, à la faculté de droit, dans les travaux précédents, il y en avait beaucoup. Ici, les gens sont silencieux depuis longtemps, plus immergés en eux-mêmes. Mais si vous demandez de l'aide, ils vous aideront.

Maintenant, je suis un développeur de niveau intermédiaire, et mes plans sont de devenir un chef de projet. Je pense que ce sera proche de moi. J'ai déjà fait quelques petites tâches managériales sur des projets, et ça s'est plutôt bien passé.

Si vous voulez devenir programmeur


J'ai plusieurs recommandations pour ceux qui veulent aussi changer de domaine de travail et aller au développement:

  • Conseil de base: n'allez pas pour de l'argent, mais pour ce qui est intéressant. Écoutez-vous - que voulez-vous faire? Cela s'applique au choix de l'entreprise, au choix de la direction, voire au choix du projet - s'il y en a un. Si vous faites ce que vous aimez, tous les efforts seront payants.
  • N'essayez pas de tout maîtriser seul. Posez des questions, discutez d'un nouveau domaine pour vous avec ceux qui le comprennent ou, comme vous, apprenez simplement. Cela aidera à se développer plus rapidement.
  • Visualisez vos idées. Avant, il m'était très difficile d'imaginer le fonctionnement du programme et de tout garder dans ma tête. Cela aide à la visualisation - tout ou partie de la logique. J'utilise l'outil draw.io. Là, vous pouvez écrire des textes, créer des organigrammes, les connecter ensemble - très pratique.
  • Un conseil assez évident, mais au tout début il peut être utile: programmer en utilisant l'environnement de développement. Lorsque j'ai installé IntelliJ IDEA après plusieurs semaines de formation, j'ai été agréablement surpris par la façon dont il est pratique et agréable de travailler.
  • Apprenez non seulement ce dont vous avez besoin, mais aussi ce qui vous attire. Si vous voulez changer ou comprendre un sujet plus profondément - ne vous tirez pas dessus. N'ayez pas peur de faire un pas de côté. Vous avez donc grand plaisir à apprendre la base, et s'il y a des lacunes - remplissez-les. Je me suis souvenu des mots d'une vidéo sur YouTube: si vous feuilletez un tutoriel Java, ne feuilletez pas là où vous en avez besoin, mais là où c'est intéressant.

Source: https://habr.com/ru/post/fr446632/


All Articles