
Não é segredo para as pessoas de TI que, se sua cidade não é milionária, encontrar um programador é problemático, mas é mais difícil para alguém que possui a pilha certa de tecnologias e experiência.
Em Irkutsk, o mundo da TI está apertado. A maioria dos desenvolvedores de cidades está ciente da existência do ISPsystem , e muitos já estão conosco. Muitas vezes, os candidatos chegam à posição júnior, mas na maioria são graduados de ontem que ainda precisam ser ensinados e cortados.
E queremos que jones prontos que executam alguma programação C ++, estejam familiarizados com o Angular e tenham visto o Linux. Então, você precisa ensiná-los: apresente a empresa e forneça o material necessário para trabalhar conosco. Assim, nasceu a ideia de organizar cursos de desenvolvimento de back-end e front-end. No inverno passado, nós a implementamos e, neste artigo, contaremos como foi.
Preparação
Reunimos os principais desenvolvedores, discutimos com eles as tarefas, a duração e o formato das aulas. Acima de tudo, precisamos de programadores de back-end e front-end, por isso decidimos realizar seminários sobre essas especialidades. Como a primeira experiência e a quantidade de energia necessária são desconhecidas, eles limitaram o tempo a um mês (oito lições em cada direção).
O material para os seminários de back-end foi preparado por três pessoas e duas estavam lendo, e sete funcionários compartilharam os tópicos no front-end.
Não foi necessário procurar professores por um longo tempo, para convencer também. Foi concedido um bônus pela participação, mas não foi crucial. Atraímos funcionários de nível médio e superior, e eles estão interessados em se empenhar em um novo papel, desenvolvendo habilidades de comunicação e transferência de conhecimento. Eles passaram mais de 300 horas em preparação.
Eles decidiram realizar os primeiros seminários para crianças da faculdade cibernética da IRNITU. O coworking conveniente apareceu lá, e o Dia da Carreira foi planejado - uma reunião de estudantes com potenciais empregadores, para onde vamos regularmente. Dessa vez, como sempre, conversaram sobre si mesmos e vagas, e foram convidados para o curso.
Aqueles que quiseram participar receberam um questionário para entender os interesses, o nível de treinamento e o conhecimento das tecnologias, para coletar contatos para convidar para seminários e também para descobrir se o ouvinte tem um laptop que ele pode levar para as aulas.
Um link para a versão eletrônica do questionário foi postado nas redes sociais e eles também pediram a um funcionário que continua estudando na magistratura do IRNITU para compartilhá-lo com os colegas de classe. Ainda era possível concordar com a universidade sobre a publicação de notícias em seu site e nas redes sociais, mas havia um número suficiente de pessoas que queriam participar do curso.
Os resultados da pesquisa confirmaram nossas suposições. Nem todos os alunos sabiam o que eram o back-end e o front-end e nem todos trabalhavam com a pilha de tecnologia que usamos. Algo ouviu e até fez projetos em C ++ e no Linux, muito poucas pessoas realmente usaram Angular e TypeScript.
No início das aulas, 64 alunos haviam recrutado, isso era mais do que suficiente.
Para os participantes dos seminários, eles organizaram um canal e um grupo no messenger. Eles escreveram sobre mudanças na programação, postaram vídeos e apresentações de palestras, trabalhos de casa. Eles também organizaram discussões e responderam perguntas. Os seminários estão encerrados e as discussões no grupo estão em andamento. No futuro, através dele será possível convidar crianças para hiknites e hackathons.
Conteúdo da palestra
Entendemos: para um curso de oito lições, é impossível ensinar a programar em C ++ ou criar aplicativos da Web em Angular. Mas eles tentaram mostrar o processo de desenvolvimento em uma empresa de produtos moderna e, ao mesmo tempo, introduzir nossa pilha de tecnologias.
Não há como fazer teoria aqui; é necessária prática. Portanto, combinamos todas as lições com uma tarefa - para criar um serviço para registrar eventos. Planejamos, juntamente com os alunos, desenvolver o aplicativo passo a passo, enquanto os apresentávamos à nossa pilha e suas alternativas.
Palestra introdutória
Na primeira lição, convidamos todos os que preencheram o questionário. No início, eles disseram que apenas o stack completo havia muito tempo, e agora nas empresas de desenvolvimento há uma divisão no desenvolvimento inicial e posterior. No final, eles sugeriram escolher a direção mais interessante. 40% dos alunos se inscreveram para o back-end, 30% para o front-end e outros 30% decidiram participar dos dois cursos. Mas era difícil para as crianças frequentarem todas as aulas e elas foram gradualmente determinadas.

O desenvolvedor de back-end na palestra introdutória brinca sobre a abordagem do aprendizado: "Os seminários serão como instruções para artistas iniciantes: passo 1 - desenhe círculos, passo 2 - desenhe uma coruja"
Conteúdo dos cursos de back-end
Parte das classes de back-end foi dedicada à programação e parte do processo de desenvolvimento como um todo. A primeira parte afetou a compilação, make ake e Conan, multithreading, métodos e padrões de programação, trabalhando com bancos de dados e solicitações de http. A segunda parte falou sobre testes, integração contínua e entrega contínua, Gitflow, trabalho em equipe e refatoração.

Slide da apresentação dos desenvolvedores de back-end
Conteúdo do Curso Frontend
Primeiro, configuramos o ambiente: instalamos o NVM, usando Node.js e npm, com eles - CLI Angular e criamos um projeto no Angular. Em seguida, eles criaram módulos, aprenderam a usar diretivas básicas e criar componentes. Em seguida, descobrimos como navegar entre as páginas e configurar o roteamento. Aprendemos o que são serviços e quais são os recursos de seu trabalho na estrutura de componentes individuais, módulos e todo o aplicativo.
Nós nos familiarizamos com a lista de serviços pré-instalados para enviar solicitações http, trabalhando com roteamento. Aprendeu a criar formulários, manipular eventos. Para o teste, criamos um servidor simulado no Node.js. Para a sobremesa, aprendemos sobre o conceito de programação reativa e ferramentas como o RxJS.

Slide da apresentação dos desenvolvedores front-end para estudantes
As ferramentas
Os seminários implicam prática não apenas na sala de aula, mas também fora deles; portanto, era necessário um serviço para receber e verificar a lição de casa. Os frontenders escolheram o Google Classroom, os backenders decidiram escrever seu sistema de classificação.

Nosso sistema de classificação. Você pode ver imediatamente o que o backender escreveu :-)
Nesse sistema, o código escrito pelos alunos passou nos autotestes. A avaliação dependeu dos resultados do teste. Um ponto extra poderia ser obtido para a revisão e para o trabalho entregue no prazo. A classificação geral afetou o lugar no ranking.
A classificação introduziu um elemento de competitividade nas classes, por isso decidimos deixá-lo e abandonar a sala de aula do Google. Embora nosso sistema seja inferior em conveniência à solução do Google, ele pode ser corrigido: nos próximos cursos, o refinaremos.
Dicas
Nós nos preparamos bem para os seminários e não calculamos mal nada, mas ainda pisamos em alguns ancinhos. Arquivado esta experiência no conselho, de repente alguém vem a calhar.
Escolha seu horário e agende atividades corretamente
Contamos com a universidade, mas em vão. Já no final das aulas, ficou claro que o nosso curso estava na época mais inconveniente do ano letivo - antes da sessão. Os alunos chegaram em casa depois dos casais, se prepararam para os exames e depois se sentaram para nossas tarefas. Às vezes as decisões chegavam às 4-5 da manhã.
Também é importante considerar a hora do dia e a frequência das aulas. Começamos às 19:00. Portanto, se o casal de um aluno terminasse cedo, ele teria que sair de casa e voltar à noite - isso é inconveniente. Além disso, as aulas eram realizadas na segunda e quarta-feira ou quinta e terça-feira, e quando havia um dia em casa, os caras tinham que trabalhar duro para concluí-lo a tempo. Então nós ajustamos e pedimos menos nesses dias.
Peça ajuda aos colegas na primeira lição
No início, nem todos os alunos estavam na hora do professor, houve problemas com a implantação do ambiente, o ambiente. Em tais situações, eles levantaram as mãos e nosso funcionário apareceu, ajudando a descobrir. Nas últimas aulas, a ajuda não era necessária, porque tudo já estava configurado.
Grave workshops em vídeo
Então você resolve vários problemas ao mesmo tempo. Primeiro, dê uma oportunidade para ver quem perdeu a lição. Em segundo lugar, reabasteça a base de conhecimento interna com conteúdo útil, especialmente para iniciantes. Terceiro, olhando para o registro, você poderá avaliar como o funcionário transmite informações e se pode prender a atenção do público. Essa análise ajuda a desenvolver a oratória do orador. As empresas de TI sempre têm algo a compartilhar com colegas em conferências relevantes e, em seminários, você pode formar excelentes oradores.

O palestrante diz que a câmera escreve
Esteja preparado para alterar sua abordagem, se necessário
Nós estávamos indo para ler um pequeno pedaço de teoria, fazer alguma programação e dar lição de casa. Mas a percepção do material não era tão simples e suave, e mudamos a abordagem dos seminários.
Na primeira metade da palestra, eles começaram a examinar em detalhes a lição de casa anterior e, na segunda parte, a ler a teoria para a próxima. Em outras palavras, eles deram aos alunos uma vara de pescar e, em casa, eles mesmos procuravam um lago, isca e peixe - eles entraram em detalhes e entenderam a sintaxe do C ++. Na próxima palestra, eles discutiram juntos o que aconteceu. Essa abordagem provou ser mais produtiva.
Não mude de professor frequentemente
Dois funcionários realizaram seminários no back-end e sete no front-end. Não havia muita diferença para os alunos, mas os professores front-end chegaram à conclusão de que, para um contato mais produtivo, você precisa conhecer o público, como eles percebem informações etc., e quando você fala pela primeira vez, esse conhecimento não é. Portanto, pode ser melhor não trocar de professor com frequência.
Faça perguntas em cada lição.
É improvável que os próprios alunos digam se algo der errado. Eles têm medo de parecer estúpidos e fazer perguntas "estúpidas", têm vergonha de interromper o palestrante. Isso é compreensível, porque durante vários anos eles viram uma abordagem diferente para o aprendizado. Então, se for difícil, ninguém vai admitir.
Para aliviar a tensão, usamos uma técnica com um pato-isca. O colega de um professor não apenas ajudou, mas também fez perguntas durante a palestra, a propor soluções. Os alunos viram que os professores são pessoas vivas, podem ser solicitados e até brincados com eles. Isso ajudou a amenizar a situação. O principal aqui é encontrar um equilíbrio entre suporte e interrupção.
Bem, mesmo com esse "pato-chave", pergunte sobre as dificuldades, descubra quão adequada é a carga, quando e qual a melhor maneira de desmontar a lição de casa.
Faça uma reunião informal no final
Tendo recebido a inscrição final na última palestra, decidimos marcá-la com pizza e apenas conversar em um ambiente informal. Deu presentes àqueles que resistiram até o fim, nomeados os cinco primeiros, encontraram novos funcionários. Estávamos orgulhosos de nós mesmos e dos alunos, bem, ficamos felizes por tudo ter finalmente terminado :-).

Damos prêmios. Dentro da embalagem: camiseta, chá, caderno, caneta, adesivos
Sumário
16 alunos chegaram ao final das aulas, 8 em cada direção. Segundo professores universitários, isso é muito para cursos de tamanha complexidade. Pegamos os cinco melhores ou quase contratados, outros cinco virão para a prática no verão.
Imediatamente após a aula, eles lançaram um questionário para coletar feedback.
Os seminários ajudaram a determinar a direção?
- Sim, irei ao desenvolvimento de back-end - 50%.
- Sim, eu definitivamente quero ser um desenvolvedor front-end - 25%.
- Não, ainda não sei o que mais me interessa - 25%.
O que acabou por ser o mais valioso?
- Novos conhecimentos: "você não pode obter isso na universidade", "uma nova visão do denso C ++", treinamento em tecnologia para aumentar a produtividade - CI, Git, Conan.
- Profissionalismo e dedicação dos palestrantes, o desejo de transmitir conhecimento.
- Formato da aula: explicação e prática.
- Exemplos de trabalho real.
- Links para artigos e instruções.
- Apresentações de palestras compiladas.
O principal é que conseguimos dizer que, depois de nos formarmos na universidade, muito trabalho interessante e difícil aguarda as crianças. Eles perceberam em que direção eles queriam se mover e ficaram um pouco mais próximos de uma carreira de sucesso em TI.
Agora sabemos como escolher o formato de treinamento apropriado, o que simplificar ou até excluir do programa, quanto tempo leva para se preparar e outras coisas importantes. Entendemos melhor nossos ouvintes, medos e dúvidas são deixados para trás.
Talvez ainda estejamos longe de criar uma universidade corporativa, embora já treinemos funcionários da empresa e trabalhemos com estudantes, mas demos o primeiro passo para essa tarefa séria. E muito em breve, em abril, iremos ensinar novamente - desta vez na Universidade Estadual de Irkutsk, com a qual cooperamos há muito tempo. Deseje-nos boa sorte!