De l'étudiant au stagiaire et développeur: mon expérience de stage



Notre entreprise dispose d'un programme de stages, grâce auquel les étudiants peuvent non seulement acquérir une expérience de travail sur des projets sérieux, mais également trouver immédiatement des emplois dans le cadre du domaine informatique concerné. À titre d'exemple, je veux raconter mon histoire à l'âge de 21 ans, n'ayant pas encore terminé l'université et le programme de formation Technopark, je suis déjà devenu développeur à temps plein dans le projet Mail.Ru Mail et j'ai fait une présentation dans le hall principal de RIT ++. Mais tout d'abord.

Le début de ma carrière a été le développement de sites Web indépendants, je le fais depuis la 11e année. Interagi avec divers artistes et clients. Il a fait quelque chose lui-même, a externalisé quelque chose. Créé à partir de zéro: conception, développement, mise en page, programmation, configuration de CMS, puis configuration de SEO, etc. Dans ma deuxième année à l'université, j'ai entendu parler du Technopark , ça m'intéressait, j'ai décidé d'agir. D'une manière générale, il s'agissait d'une décision spontanée, pas du tout préparée, a déposé une candidature un jour avant la fin de la sélection. Passé une sélection en ligne, mais est tombé dans une interview à temps plein. Ce qui est drôle, c'est que c'est Artyom Mezin , qui m'a interviewé et ne m'a pas emmené au Technopark, qui m'a embauché plus tard au bureau de poste.

Six mois plus tard, dans le set suivant, j'ai de nouveau décidé de tenter ma chance. Préparé à l'avance, compris où et pourquoi j'allais. En conséquence, il s'est inscrit avec succès à un programme de formation de deux ans dans la spécialité «Architecte système». À ce moment, j'étais en deuxième année d'université.

Le premier semestre a été très intéressant, je l'ai parfaitement terminé. Ils ont enseigné les algorithmes et les structures de données , c'est la base des bases de toute programmation. Ensuite, il y avait un cours de base intéressant sur la programmation Web. Et le troisième est la programmation C ++ .

Le deuxième semestre, lui aussi, s'est terminé presque parfaitement, à cette époque, j'avais déjà un stage et étudié au MSTU. Bauman. En fait, je suis encore étudiant à l'université et au Technopark.

J'ai commencé mon stage dans le laboratoire du Technopark, qui est engagé dans des projets pédagogiques (plateforme de projet de formation et développement de championnat) Mail.Ru Group. J'ai vu un poste vacant sur un site interne, je suis venu pour une entrevue et j'ai terminé la tâche de test en deux jours - j'ai fait une liste de tâches régulière, avec un backend et un frontend, avec un design soigné. Après quoi j'ai été embauché pour un stage.

Au laboratoire, j'étais engagé dans le développement d'un site frontal. Trois mois plus tard, j'ai été invitée à travailler chez Mail.Ru Mail. C'était il y a un peu plus d'un an. Maintenant, je travaille en tant que développeur front-end dans Mail.Ru Mail. Nous avons trois équipes dans notre unité commerciale: Alpha, Bravo et Charlie. Toutes les équipes sont engagées dans absolument toutes les tâches, il n'y a aucune différence que quelqu'un soit impliqué dans l'infrastructure ou le développement de fonctionnalités. Près de la moitié des développeurs de notre business unit sont diplômés et stagiaires du Technopark.

Aujourd'hui, environ 80% des nouveaux développeurs nous viennent du programme de stage.

Je travaille dans l'équipe Alpha. Mes tâches incluent le développement de nouvelles fonctionnalités basées sur des microservices, par exemple, les transferts d'argent, la génération de code unique, l'authentification à deux facteurs.







Il était particulièrement difficile de développer des améliorations de l'authentification à deux facteurs, j'ai dû résoudre de nombreuses difficultés techniques, interagir très activement avec plusieurs équipes de développement backend. Il fallait constamment négocier, résoudre les problèmes litigieux. Ce projet a duré trois mois. Les transferts d'argent se sont également révélés être un projet très complexe et intéressant, nous l'avons fait pendant plusieurs mois. La principale difficulté a été d'interagir avec une unité commerciale tierce au sein de l'entreprise.





Je suis également responsable du développement et du support de la bibliothèque UI de composants pour Mail: toutes sortes de boutons, panneaux, menus déroulants. C'est très difficile à faire car les gens veulent se développer le plus simplement possible, et cette bibliothèque a une infrastructure très complexe. Chaque état du composant sera capturé - lorsqu'il est pressé, en survol, sur le focus. Il est nécessaire de couvrir complètement le code avec des tests automatiques; cela prend également beaucoup de temps. J'essaie d'optimiser les processus pour que la génération de code des tests fonctionne; afin que les gens puissent développer leurs composants en utilisant la bibliothèque le plus rapidement possible.

Beaucoup de gens pensent que les développeurs frontaux n'imposent que des formulaires. Ce n'est pas vrai. Pour un développeur front-end, une mise en page prend un jour à partir d'un mois de travail, la tâche principale est d'écrire du code, la logique métier de différentes fonctionnalités. Nous configurons également certaines choses de base pour nous-mêmes, modifions les configurations dans nginx pour que les administrateurs les déploient simplement. Nous résolvons diverses tâches d'infrastructure, telles que l'analyse des journaux.

Autrement dit, les développeurs frontaux travaillent avec un grand nombre de couches technologiques du projet. Au moins dans Mail.Ru Group. Certains d'entre nous commencent à écrire nos services sur Go, car cela est requis par la tâche. Donc, si vous venez chez nous pour vous engager dans le front-end, vous obtiendrez un large éventail de connaissances techniques, mais vous ne serez certainement pas engagé dans une seule configuration.

Il est extrêmement important de créer des interactions entre les nombreuses équipes des différents départements. Quand je suis arrivé au Mail, ils n'ont pas utilisé React ici. Il a dit que je voulais l'utiliser, a accepté de l'essayer. En conséquence, de nombreuses équipes utilisent désormais React. Et il convient de noter que dans la plupart des projets que je développe, Webview est utilisé sur iOS / Android. Autrement dit, vous devez prendre en compte les spécificités des appareils mobiles.

Un peu plus qu'après un an de travail, on m'a proposé de parler au RIT ++. J'ai accepté sans hésitation, car cela semblait être une expérience incroyablement cool. Il a fallu beaucoup de temps pour se préparer. J'ai réécrit le texte entier du rapport cinq fois, il a fallu six feuilles. Il a toujours été possible de faire encore mieux, mais pour la première représentation, cela s'est très bien passé. J'ai parlé de l'architecture du Post, de la façon dont nous le construisons sur la base de microservices, de la façon dont nous retirons tout du monolithe [Il y aura une publication séparée à ce sujet. - env. Ed.].



Autres projets: pour développer en tant que développeur, pour soutenir et développer la bibliothèque de composants d'interface utilisateur de Mail, j'espère qu'elle sera utilisée dans d'autres divisions de Mail.Ru Group. Prenez-vous un stagiaire. En outre, dans quelques années, je prévois d'entrer dans le programme de maîtrise au MIT (Massachusetts Institute of Technology).

Mail.Ru Group a de nombreuses opportunités: si vous voulez travailler dur et poursuivre une carrière, il y a toujours des tâches; si vous voulez étudier, vous pouvez travailler en toute sécurité 20 heures par semaine. Et si vous n'aimez pas le frontend, vous pouvez facilement changer de direction: backend, ML, développement mobile, nous avons toujours beaucoup de postes vacants. L'essentiel est de travailler et de se développer. Donc, si vous voulez vous rendre à notre stage, puis au personnel, je vais vous en dire plus sur notre programme.

Le programme fonctionne depuis six ans. Nous n'avons pas de format hiver ou été, les stagiaires sont des salariés à part entière qui travaillent sur des missions de combat. Seule différence avec le reste du personnel: les stagiaires peuvent travailler 20 heures par semaine.

Bien sûr, avec ce format, il est nécessaire de fournir une formation de très haute qualité et de haut niveau pour que l'étudiant, entré dans l'entreprise, puisse immédiatement commencer à travailler et connaître toutes les technologies utilisées dans les projets. C'est pourquoi, il y a six ans, nous avons lancé nos programmes de formation.

Nos projets pédagogiques


Le premier était le Technopark sur la base de MSTU. Bauman avec deux formats de formation: un programme de deux ans et des cours semestriels. Selon un programme de deux ans, les architectes système sont formés, chaque semestre, les étudiants étudient 3 à 4 sujets et, pour l'obtention du diplôme, ils reçoivent une connaissance complète de tous les domaines du développement informatique. Ceci est très important car lorsqu'il vient travailler dans l'entreprise, le diplômé travaille avec d'autres employés, avec d'autres départements et doit fournir un haut niveau de communication.

Le cours semestriel est un format de spécialisation qui permet aux étudiants d'acquérir des connaissances dans une certaine direction.

Aujourd'hui, Mail.Ru Group mène déjà six projets éducatifs. Dans tous, le programme est construit sur le principe du Technopark, mais partout il y a une spécialisation différente. Dans le Technopark (MSTU nommé d'après Bauman), ils enseignent le développement front-end et iOS, la programmation en C ++, Java, Cuda, Perl, Go. La Technosphère (Université d'État de Moscou) apprend à travailler avec les mégadonnées . Technotrek (MIPT) prépare les développeurs Android. Ils étudient C ++, Java, Python, Perl et testent à Technoatom (MEPhI) et Java à Technopolis (SPbPU). Récemment également, un nouveau projet a été lancé à l'Université fédérale de Voronej. Au total, près de 70 disciplines sont enseignées dans notre pays, et chaque semestre, nous en lançons environ 7 nouvelles.

La caractéristique clé de nos projets éducatifs est que seuls nos employés, environ 200 personnes, leur enseignent. Ils transmettent les connaissances qu'ils utilisent directement dans leur travail.

Partout où l'accent est mis sur la pratique, il n'y a presque pas de cours purement magistraux. La formation est intensive et environ 30% des étudiants inscrits atteignent la fin.

Pendant la formation, les étudiants travaillent sur des projets de formation en équipe. Ainsi, non seulement ils maîtrisent les technologies et les outils, mais ils acquièrent également des compétences en travail d'équipe, créant un produit en collaboration avec des collègues.

À la fin du programme de deux ans, les étudiants réalisent des projets de fin d'études dans le cadre desquels ils peuvent résoudre certains problèmes pour l'une de nos unités commerciales. Ou ils peuvent réaliser leur propre idée: il y a des projets de fin d'études qui se transforment en startups. Ils vivent seuls, les gars les développent et certains réussissent commercialement.

À propos du programme de stages


Après avoir terminé la formation, les meilleurs diplômés des Technoprojets peuvent nous rejoindre pour un stage dans des équipes qui travaillent dans le domaine d'intérêt. Lors d'une demande de stage, la priorité est donnée aux étudiants qui étudient dans un programme de deux ans, car ils sont mieux préparés.

Une centaine de stagiaires viennent chaque année chez nous. Ce sont des employés à part entière avec un salaire décent et tous les avantages qui en découlent - la politique VHI, la possibilité de participer à des conférences d'entreprise, l'accès aux infrastructures sportives et de divertissement, etc. Selon les résultats du stage, les gars les plus forts peuvent rester pour travailler dans une équipe déjà en tant que développeurs à temps plein. Aujourd'hui, environ 80% des nouveaux développeurs nous viennent du programme de stage.

Le recrutement pour le stage se passe ainsi. Nous publions les offres d'emploi sur le portail interne auquel tout étudiant peut répondre et venir pour un entretien. Mais en même temps, nous donnons toujours la préférence aux recommandations des enseignants, car ils voient à quel point une personne est vraiment immergée dans le sujet, ils peuvent conseiller des élèves plus forts.

Chaque stagiaire a un mentor qui peut être contacté pour toute question. Autrement dit, ce n'est pas un patron, mais une personne qui aide à en savoir plus sur le développement et à travailler dans une grande entreprise. Le mentor répondra à un large éventail de questions, depuis l'obtention d'un laissez-passer et l'aménagement d'un lieu de travail à tout ce qui concerne les activités professionnelles et la croissance de carrière. Après tout, à la fin du stage, les étudiants d'hier peuvent postuler à des emplois dans notre entreprise.

Stage comme début de carrière


Après un stage chez nous, une personne devient un spécialiste du travail sur des projets très chargés. Par exemple, Mail.Ru Mail est un projet très chargé, environ 3 millions de personnes utilisent son interface Web dans la même seconde et à peu près la même sur les plateformes mobiles. Le courrier contient plus de 100 millions de boîtes aux lettres actives.

De plus, il s'agit d'un projet technologiquement extrêmement complexe, il comprend des centaines de composants différents. Par conséquent, lorsque vous réalisez de nouvelles opportunités pour les utilisateurs, vous devez être en mesure de connecter de nombreux composants ensemble et de prévoir un ensemble de scénarios de défaillance afin que le service fonctionne correctement, 24h / 24 et 7j / 7, les jours fériés et les week-ends. D'autres options ne nous conviennent pas. Cela nécessite également certaines compétences en programmation et en conception de systèmes.

Nos stagiaires apprendront à servir un grand nombre d'utilisateurs sur un seul serveur. Lorsque vous programmez pour un ordinateur personnel, vous disposez d'une ressource dédiée, presque toute votre mémoire, l'intégralité du processeur et du disque. Et lorsque des dizaines de milliers de personnes «vivent» sur le même serveur en même temps, cela nécessite une connaissance certaine et assez approfondie, depuis l'intérieur et les fonctionnalités du système d'exploitation jusqu'au matériel et au réseau de l'appareil.

Ayant acquis une telle expérience, nos anciens stagiaires peuvent postuler pour un poste à part entière au sein du personnel de l'entreprise dans le domaine d'intérêt. Oui, un stagiaire doit investir beaucoup plus de connaissances et de force qu'un spécialiste tout fait. Mais de notre point de vue, il est stratégiquement beaucoup plus rentable de choisir parmi les étudiants des personnes prometteuses, car d'ici deux ou trois ans, de solides spécialistes en sortiront, très difficiles à trouver sur le marché du travail.

Au cours des six années du programme de stage, de nombreux exemples se sont accumulés lorsque d'anciens stagiaires sont devenus des chefs d'équipe et aujourd'hui ils recrutent des étudiants et des diplômés talentueux pour un stage, et certains d'entre eux ont déjà réussi à développer la prochaine génération de spécialistes. Et mon histoire confirme pleinement le succès de notre programme de stages.

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


All Articles