
Nossa empresa possui um programa de estágio, graças ao qual os alunos podem não apenas adquirir experiência trabalhando em projetos sérios, mas também encontrar empregos imediatamente na estrutura do campo de interesse de TI. Como exemplo, quero contar minha história aos 21 anos de idade, ainda não tendo terminado a universidade e o programa de treinamento do Technopark, já me tornei desenvolvedor em tempo integral no projeto Mail.Ru Mail e fiz uma apresentação no salão principal do RIT ++. Mas as primeiras coisas primeiro.
O início da minha carreira foi o desenvolvimento de sites freelancers, faço isso desde o 11º ano. Interagiu com vários artistas e clientes. Ele próprio fez alguma coisa, terceirizou alguma coisa. Criado do zero: design, desenvolvimento, layout, programação, configuração do CMS, configuração do SEO e assim por diante. No meu segundo ano na universidade, ouvi falar sobre o
Technopark , me interessou, decidi agir. Em geral, foi uma decisão espontânea, não se preparou, apresentou um pedido um dia antes do final da seleção. Passou em uma seleção on-line, mas caiu em uma entrevista em tempo integral. O engraçado é que foi
Artyom Mezin , que me entrevistou e não me levou ao Technopark, que mais tarde me contratou nos Correios.
Seis meses depois, no próximo set, decidi novamente tentar a sorte. Preparado com antecedência, entendi para onde e por que eu estava indo. Como resultado, ele se matriculou com sucesso em um programa de treinamento de dois anos na especialidade de "Arquiteto de Sistemas". Naquele momento eu estava no segundo ano da universidade.
O primeiro semestre foi muito interessante, eu terminei perfeitamente. Eles ensinaram
algoritmos e estruturas de dados , esta é a base do básico de toda a programação. Depois, houve um curso básico interessante sobre programação na web. E o terceiro é a
programação C ++ .
O segundo semestre também terminou quase perfeitamente, naquela época eu já tinha um estágio e estudei no MSTU. Bauman. Na verdade, ainda sou estudante da universidade e do Technopark.
Comecei meu estágio no laboratório do Technopark, que está envolvido em projetos educacionais (plataforma de projetos de treinamento e desenvolvimento de campeonatos) Grupo Mail.Ru. Vi uma vaga em um site interno, vim para uma entrevista e concluí a tarefa de teste em dois dias - eu fazia uma lista de tarefas regulares, com um back-end e front-end, com um design elegante. Após o qual fui contratado para um estágio.
No laboratório, eu estava envolvido no desenvolvimento do site front-end. Três meses depois, fui convidado para trabalhar no Mail.Ru Mail. Isso foi há pouco mais de um ano. Agora, trabalho como desenvolvedor front-end no Mail.Ru Mail. Temos três equipes em nossa unidade de negócios: Alpha, Bravo e Charlie. Todas as equipes estão envolvidas em absolutamente todas as tarefas, não há diferença de que alguém esteja envolvido na infraestrutura ou no desenvolvimento de recursos. Quase metade dos desenvolvedores da nossa unidade de negócios é formada e estagiária do Technopark.
Hoje, cerca de 80% dos novos desenvolvedores vêm do programa de estágio.
Eu trabalho na equipe Alpha. Minhas tarefas incluem o desenvolvimento de novas funcionalidades baseadas em microsserviços, por exemplo, transferências de dinheiro, geração única de código, autenticação de dois fatores.



Foi especialmente difícil desenvolver melhorias na autenticação de dois fatores, tive que resolver muitas dificuldades técnicas, interagir muito ativamente com várias equipes de desenvolvimento de back-end. Constantemente teve que negociar, resolver problemas controversos. Este projeto levou três meses. A transferência de dinheiro também se mostrou um projeto muito complexo e interessante, fizemos por vários meses. A principal dificuldade estava em interagir com uma unidade de negócios de terceiros dentro da empresa.


Também sou responsável pelo desenvolvimento e suporte da biblioteca de componentes da interface do usuário para o Mail: todos os tipos de botões, painéis, menus suspensos. É muito difícil fazer isso porque as pessoas querem se desenvolver da maneira mais simples possível, e essa biblioteca possui uma infraestrutura muito complexa. Todos os estados do componente serão capturados em tela - quando pressionados, ao passar o mouse, sobre o foco. É necessário cobrir completamente o código com testes automáticos, o que também leva muito tempo. Eu tento otimizar os processos para que a geração de código dos testes funcione; para que as pessoas possam desenvolver seus componentes usando a biblioteca o mais rápido possível.
Muitas pessoas pensam que os desenvolvedores de front-end impõem apenas formulários. Isto não é verdade. Para um desenvolvedor front-end, um layout leva um dia a partir de um mês de trabalho, o trabalho principal é escrever código, lógica comercial de vários recursos. Também configuramos algumas coisas básicas para nós mesmos, alteramos as configurações no nginx para que os administradores as implementem. Resolvemos várias tarefas de infraestrutura, como analisar logs.
Ou seja, os desenvolvedores de front-end trabalham com um grande número de camadas tecnológicas do projeto. Pelo menos no grupo Mail.Ru. Alguns de nós estão começando a escrever nossos serviços no Go, porque isso é exigido pela tarefa. Portanto, se você vier a nós para participar do front-end, obterá uma enorme variedade de conhecimentos técnicos, mas definitivamente não estará envolvido em um layout.
É extremamente importante criar interações entre as numerosas equipes de vários departamentos. Quando cheguei ao Mail, eles não usaram o React aqui. Ele disse que eu quero usá-lo, concordou em experimentá-lo. Como resultado, muitas equipes agora usam o React. E vale a pena notar que, na maioria dos projetos que estou desenvolvendo, o Webview é usado no iOS / Android. Ou seja, você deve levar em consideração as especificidades dos dispositivos móveis.
Um pouco mais do que depois de um ano de trabalho, me ofereceram para falar no RIT ++. Concordei sem hesitar, pois parecia uma experiência incrivelmente legal. Demorou muito tempo para se preparar. Reescrevi o texto inteiro do relatório cinco vezes, foram necessárias seis folhas. Sempre foi possível melhorar ainda mais, mas, pela primeira vez, o resultado foi muito bom. Falei sobre a arquitetura do Post, como a construímos com base em microsserviços, como tiramos tudo do monólito. [Haverá uma publicação separada sobre isso. - aprox. Ed.].

Planos adicionais: para desenvolver como desenvolvedor, para apoiar e desenvolver a biblioteca de componentes de interface do usuário do Mail, espero que seja usado em outras divisões do Mail.Ru Group. Tome-se um estagiário. Além disso, em alguns anos pretendo ingressar no programa de mestrado do MIT (Massachusetts Institute of Technology).
O Mail.Ru Group tem muitas oportunidades: se você deseja trabalhar duro e seguir uma carreira, sempre há tarefas; se você quer estudar, pode trabalhar com segurança 20 horas por semana. E se você não gosta do front-end, pode mudar facilmente de direção: back-end, ML, desenvolvimento móvel, sempre temos muitas vagas. O principal é trabalhar e desenvolver. Então, se você quiser chegar ao nosso estágio e depois à equipe, vou falar mais sobre o nosso programa.
O programa está em funcionamento há seis anos. Não temos um formato de inverno ou verão, os estagiários são funcionários de pleno direito que trabalham em missões de combate. A única diferença do restante da equipe: os estagiários podem trabalhar 20 horas por semana.
Obviamente, com esse formato, é necessário fornecer um treinamento de alta qualidade e alto nível, para que o aluno, entrando na empresa, possa começar imediatamente a trabalhar e conhecer todas as tecnologias utilizadas nos projetos. Portanto, há seis anos, lançamos nossos programas de treinamento.
Nossos projetos educacionais
O primeiro foi o Technopark, com base no MSTU. Bauman com dois formatos de treinamento: um programa de dois anos e cursos semestrais. De acordo com um programa de dois anos, os arquitetos de sistemas são treinados, a cada semestre os alunos estudam de 3 a 4 assuntos e, após a graduação, recebem conhecimento completo de todas as áreas do desenvolvimento de TI. Isso é muito importante porque, quando ele vem trabalhar na empresa, o graduado trabalha com outros funcionários, com outros departamentos e deve fornecer um alto nível de comunicação.
O curso do semestre é um formato de especialização que permite aos alunos adquirir conhecimento em uma determinada direção.
Hoje o Mail.Ru Group já está conduzindo seis projetos educacionais. Em todos eles, o programa é baseado no princípio do Technopark, mas em todo lugar existe uma especialização diferente. No
Technopark (MSTU em homenagem a Bauman), eles ensinam desenvolvimento front-end e iOS, programação em C ++, Java, Cuda, Perl, Go. A
Technosphere (Universidade Estadual de Moscou) é ensinada a trabalhar com big data.
Technotrek (MIPT) está preparando desenvolvedores para Android. Eles estudam C ++, Java, Python, Perl e testes no
Technoatom (MEPhI) e Java no
Technopolis (SPbPU). Também recentemente, um novo projeto foi lançado na Universidade Federal de Voronezh. No total, quase 70 disciplinas são ministradas em nosso país, e a cada semestre lançamos cerca de 7 novas.
A principal característica de nossos projetos educacionais é que apenas nossos funcionários, cerca de 200 pessoas, os ensinam. Eles transmitem o conhecimento que eles mesmos usam diretamente em seu trabalho.
Em toda parte, a ênfase está na prática, quase não há aulas puramente de palestras. O treinamento é intensivo e cerca de 30% dos alunos matriculados chegam ao fim.
Durante o treinamento, os alunos trabalham em projetos de treinamento em equipe. Assim, eles não apenas dominam tecnologias e ferramentas, mas também adquirem habilidades de trabalho em equipe, criando um produto em colaboração com colegas.
Após a conclusão do programa de dois anos, os alunos
fazem projetos de graduação nos quais podem resolver algum problema em uma de nossas unidades de negócios. Ou eles podem realizar sua própria idéia: existem projetos de graduação que se transformam em startups. Eles vivem sozinhos, os caras os desenvolvem e alguns se tornam bem-sucedidos comercialmente.
Sobre o programa de estágio
Após a conclusão do treinamento, os melhores graduados da Technoprojects podem procurar um estágio em equipes que trabalham na área de interesse. Ao se candidatar a um estágio, a prioridade é dada aos alunos que estudam em um programa de dois anos, porque estão mais bem preparados.
Cerca de 100 estagiários vêm até nós todos os anos. São funcionários de pleno direito, com um salário decente e todas as vantagens inerentes - a política da VHI, a oportunidade de participar de conferências da empresa, o acesso à infraestrutura de esportes e entretenimento, etc. De acordo com os resultados do estágio, os caras mais fortes podem permanecer para trabalhar em uma equipe já como desenvolvedores em período integral. Hoje, cerca de 80% dos novos desenvolvedores vêm do programa de estágio.
O recrutamento para o estágio é assim. Publicamos vagas no portal interno ao qual qualquer aluno pode responder e vir para uma entrevista. Mas, ao mesmo tempo, sempre damos preferência às recomendações dos professores, porque eles veem o quanto uma pessoa está realmente imersa no tópico, podem aconselhar alunos mais fortes.
Cada estagiário tem um mentor que pode ser contatado com qualquer dúvida. Ou seja, este não é um chefe, mas uma pessoa que ajuda a aprender mais sobre desenvolvimento e trabalho em uma grande empresa. O mentor responderá a uma ampla gama de perguntas, desde obter um passe e organizar um local de trabalho até tudo relacionado a atividades profissionais e crescimento de carreira. Afinal, no final do estágio, os alunos de ontem podem se candidatar a empregos em nossa empresa.
Estágio como início de carreira
Depois de um estágio conosco, uma pessoa se torna especialista no trabalho em projetos altamente carregados. Por exemplo, o Mail.Ru Mail é um projeto muito carregado, cerca de 3 milhões de pessoas usam sua interface da web no mesmo segundo e aproximadamente nas mesmas plataformas móveis. Existem mais de 100 milhões de caixas de correio ativas no correio.
Além disso, este é um projeto tecnologicamente extremamente complexo, inclui centenas de componentes diferentes. Portanto, ao implementar algum tipo de nova oportunidade para os usuários, você precisa conectar muitos componentes entre si e prever vários cenários de falha para que o serviço funcione sem problemas, 24 horas por dia, 7 dias por semana, nos feriados e fins de semana. Outras opções não nos convêm. Também requer certas habilidades de programação e design de sistema.
Nossos estagiários aprenderão como atender um grande número de usuários em um único servidor. Ao programar para um computador pessoal, você possui um recurso dedicado, quase toda a sua memória, todo o processador e disco. E quando dezenas de milhares de pessoas “vivem” no mesmo servidor ao mesmo tempo, isso exige um conhecimento bastante profundo, desde o interior e os recursos do sistema operacional e até o hardware e a rede do dispositivo.
Tendo adquirido essa experiência, nossos ex-estagiários podem se candidatar a uma posição de pleno direito na equipe da empresa na área de interesse. Sim, um estagiário precisa investir muito mais conhecimento e força do que um especialista pronto. Mas, do nosso ponto de vista, é estrategicamente muito mais lucrativo escolher pessoas promissoras para estudantes, uma vez que em dois ou três anos surgirão deles fortes especialistas, que são muito difíceis de encontrar no mercado de trabalho.
Ao longo dos seis anos do programa de estágio, muitos exemplos se acumularam quando ex-estagiários cresceram para líderes de equipe e hoje estão recrutando estudantes e graduados talentosos para um estágio, e alguns deles já conseguiram crescer a próxima geração de especialistas. E minha história confirma totalmente o sucesso do nosso programa de estágio.