
Olá meu querido leitor. Deixe-me compartilhar com você um tópico interessante, começando com a pergunta: por que ensinamos as pessoas dessa maneira? Existem livros, cursos, vídeos no YouTube e, geralmente, um Google inteiro. Crie para eles um curso de treinamento com links, deixe-os sentar e ler. Mas não fazemos isso e o problema não é apenas o fato de nos preocuparmos com nossos desenvolvedores (como a maioria das empresas com gerenciamento mais ou menos adequado), mas também que as informações parecem mais claras, são melhor absorvidas e se instalam mais rapidamente na memória.
Uma ligeira digressão necessária para uma compreensão geral do tópico
Treinamos desenvolvedores do zero. Estamos construindo uma equipe de pessoas que querem experimentar a web, e não importa se uma pessoa veio logo após a formatura, saiu da fábrica ou, por exemplo, um circo (a propósito, não são apenas palavras: temos um excelente desenvolvedor que trabalhou no passado como uniformista sob a barraca que se espalha). Quase todo mundo que veio a nós para uma entrevista tem a chance de provar a si mesmo (segundo as estatísticas, cerca de 90% das pessoas). Naturalmente, existem pessoas que são eliminadas automaticamente pelos seguintes motivos:
"A Web é dinheiro . "
"É legal ser um desenvolvedor agora, me ensine também . "
"Acabei de ser chamado para uma entrevista e não quis fazer nada" .
Ninguém argumenta que a web é dinheiro. Mas, como todos sabem, o dinheiro deixou de ser um motivador para as pessoas envolvidas no trabalho intelectual. Agora, o dinheiro é uma parte natural de um trabalho bom e interessante. Portanto, nosso principal objetivo são projetos interessantes, com tarefas multifacetadas que expandem os horizontes do desenvolvedor e beneficiam o mundo. E sim, talvez as pessoas do segundo e terceiro exemplos se tornem desenvolvedores legais, mas, como mostra minha experiência, não.
Então, vamos continuar
O segundo ponto, que deve ser discutido em mais detalhes. Temos muitos escritórios em diferentes cidades da Rússia. Cada equipe tem uma média de 10 a 15 desenvolvedores e estagiários que lideram com sucesso 8 a 12 projetos diferentes com diferentes pilhas de tecnologia. Alguém desenvolve no Angular, alguém no React + Redux, Node.js, e acontece que, em geral, no jQuery, RoR, Python, PHP, .NET, etc. A partir daqui, temos o seguinte cenário:
- Estagiário vem estudar
- Passa a base mínima necessária para entender a web como um todo (a propósito, leva de 3 dias a um mês, dependendo da pessoa)
- Um projeto interessante é selecionado, sob a orientação de um mentor, para qualquer uma das tecnologias acima.
Como resultado, temos um desenvolvedor bom / excelente na pilha de tecnologia com a qual ele trabalha. MAS!

Considerando a rapidez com que tudo isso acontece e o fato de uma pessoa ter estudado do zero, ela se manifesta como um monte de lacunas no conhecimento básico. Para dizer o mínimo, alguns desenvolvedores não sabiam da existência de
flex-box /
grid , porque isso não foi usado no projeto. E você também precisa fornecer ao desenvolvedor uma compreensão de como dominar rapidamente esta ou aquela tecnologia, como ler a documentação corretamente. Não deve entrar em ciclos em uma estrutura e se desenvolver constantemente.
Mas e o fato de as pessoas encontrarem rapidamente um idioma comum?Não é segredo que a maioria dos desenvolvedores é introvertida e é difícil para eles fazer contato. Exid Monday resolve esse problema. Você odeia segundas-feiras? Mas e se eu lhe disser que na segunda-feira você pode comer pizza ou fritar kebabs no quintal, jogar jogos de tabuleiro ou PS? Você obterá o resultado certo. As pessoas gradualmente se reúnem e se abrem, auxiliam seus companheiros em tarefas não triviais e simplesmente mantêm conversas interessantes e agradáveis no almoço ou no café. Quando você sente uma atmosfera calorosa e familiar, o trabalho se torna ainda mais agradável!
Mas voltando ao tópico das lacunas. Eles devem estar fechados. Preciso dar lição de casa individual e monitorar sua implementação? Ou você precisa lidar com cada desenvolvedor e descobrir o que ele não tem?
Não. Felizmente, temos alguns
velhos que "andaram na web de baixo para cima". Com essa equipe amigável, desenvolvemos um programa de relatórios sobre os tópicos mais básicos, em nossa opinião, necessários. E aqui está a lista:
1 - HTML + CSS
2 - Git
3 - Javascript ES6 +
4 - Ajax
5 - API repousante
6 - bancos de dados
7 - webserver websocket
8 - fio npm
9 - autenticações
10 - expressões regulares
11 - teste
12 - implantar
O que acontece depois?
Os tópicos são divididos entre
idosos , dois tópicos cada, e apresentados na forma de um relatório com uma apresentação a todos uma vez por semana.

Após cada relatório, realizamos uma pesquisa anônima para descobrir se algum relatório foi útil. E como as pesquisas mostram - foi.

Também é coletado feedback para relatórios subsequentes ou para o chamado
Tech .
Quarta-feiraEm poucas palavras:
Tech .
Quarta -
feira tem a mesma aparência, mas outros tópicos mais "
avançados " são contados.

E para consolidar o tópico fornecido, damos lição de casa.
Conclusão
- Iniciantes compreendem tópicos desconhecidos por eles mesmos (ou talvez it-zen)
- Os antigos lembram conhecimentos básicos que, por razões conhecidas, não podiam ser tocados por muito tempo .
- As pessoas não param, todos estão em constante evolução e se movendo na direção certa .
PS: Gostaria de expressar minha profunda gratidão aos
colegas do workshop pela revisão gramatical do artigo e bons conselhos para melhorá-lo.