
Há pouco tempo, uma empresa me ofereceu um estágio porque ouvi boas críticas sobre meus alunos. Pegue os recém-chegados, trabalhe com eles por um mês e depois os envie para um projeto de combate - onde eles trabalharão por conta própria.
Claro, fiquei satisfeito, queria concordar. Essa seria uma ótima maneira de testar suas habilidades em um novo local, para corrigir os erros de cursos anteriores. Então, os estágios são uma opção bastante simples para espalhar sua visão sobre desenvolvimento, arquitetura, design e, em geral, para ganhar dinheiro extra.
Mas, quando chegou a hora de anunciar o preço, eu torci deliberadamente para me recusar. Eu não tinha uma resposta clara por que fiz isso, mas havia um bilhão de dúvidas e pensamentos opressivos. Percebi que o treinamento em estágios é certamente um mal.
Esses estágios dos quais estou falando são essencialmente cursos com prática subsequente em um projeto de combate em uma equipe ativa. O curso em si é passageiro e envolve aprender apenas uma tecnologia específica, e a prática subsequente é jogar os filhotes na água, com a esperança de que eles mesmos aprendam a nadar.
Do ponto de vista do aluno, eles foram mais ou menos assim:
, hh .
. . - , js. . . . .
. . . .
- , , , . .
. . . .
. — .
. , User Story. , , , , . - .
. . , . js. . , , .
. , , . . . , , . , . .
, . . .
, . .
, . , . . . , - .
. , . . .
Se estritamente, cinicamente e no papel, era assim:
- Tarefa de qualificação
- Entrevista técnica (que eu odeio)
- À espera de um resultado
- Treinamento com palestras, divisão em equipes e implementação conjunta do projeto.
- Demonstração da equipe do projeto
- Exame (entrevista técnica novamente)
- À espera de um resultado
- Entreviste em um projeto real e / ou receba uma oferta
Não é tão ruim se você não pensa sobre isso. Mas se você olhar um pouquinho, poderá ver que 2/3 do plano conceitual está reservado para testar o conhecimento. Conhecendo muitos desenvolvedores fiéis às idéias de negócios, não tenho certeza de que é óbvio para todos por que isso é péssimo.
Os estágios são uma muleta. Não para ensinar, mas para atrair iniciantes inseguros, orientá-los no básico e vendê-los como especialistas de pleno direito ou usá-los para tarefas rotineiras. Qualquer desenvolvedor suficientemente qualificado é capaz de ver aqueles com maior probabilidade de passar na previdência social e de dar o resultado com salários mínimos na primeira vez. E, levando em consideração a baixa habilidade geral do setor, você pode até pegar um aluno aleatório de mais de 3 anos e ensiná-lo a estar no nível de um codificador "típico" em quase um mês. Ninguém notará a substituição e todos serão felizes. Linha dois.
De fato, com um estágio, condeno meus alunos a atormentar. Depois que começa um ponto que não é discutido:
. , . , , .
, . . .
. .
. . , .
, , . . . , .
?
Eles terão que descobrir isso no projeto eles mesmos. Ninguém os ajudará. Na melhor das hipóteses, eles ocasionalmente chutam e cutucam erros. A consciência os devorará por dentro por falhas: falta de prazos, bugs. Eles terão vergonha de perguntar a especialistas seniores, com medo de mostrar suas baixas qualificações. Parece? e para o inferno com eles sofrerão, encherão cones e poderão derramar no trabalho. Cavalos de trabalho moralmente deprimidos.
Qualificações baixas - não importa, eles terminarão seus estudos. Eles queimam no trabalho - nada, eles podem lidar com isso. As empresas querem "aqui e agora", altamente especializadas, capazes de passar por uma entrevista com especialistas pouco treinados. Tudo seguirá, se ele fosse uma boa pessoa.
Depois disso, obtemos uma arquitetura terrível, código estranho de mau funcionamento, software ruim. Isso não é tão ruim. Temos muitos especialistas que estão decepcionados com o setor. Os desenvolvedores cegos e sedentos de conhecimento não trarão novas práticas, novas ferramentas interessantes. Eles não trazem novos desenvolvedores, não podem ou não desejam orientá-los. Isso acabará por levar à estagnação, desvalorização do conceito de "desenvolvedor" e, em seguida, a uma diminuição no nível geral de habilidades na indústria.
E a indústria agora está em um estado muito estranho: por um lado, não há tarefa no mundo em que os desenvolvedores ainda não sejam úteis. Por outro lado, o sistema educacional clássico não acompanha a passagem do tempo. Os futuros especialistas aprendem a beber e a frequentar uma universidade por cinco anos, depois codificam rapidamente cursos, estágios ou até em casa com um livro. As pessoas são treinadas como recrutas na Segunda Guerra Mundial. Bata palmas e no carro para a frente, neutralize as minas a pé.
Desenvolvedores experientes que já estão à vontade no setor não se preocupam com tudo isso, eu sei. Na melhor das hipóteses, a cabana está no limite, na pior das hipóteses - desprezo pelos recém-chegados que não conseguem aprender nada normalmente, embora "eu pudesse". Com o "smog" da maioria das pessoas, eu argumentaria.
Para quem precisa educar iniciantes, tenho uma solução, mas você não vai gostar. A melhor solução não são os cursos e estágios acelerados abatidos em um mês, mas a orientação longa e longa.
A primeira coisa a entender é o trabalho. Se você quer se chamar um mentor, precisa cagar, pelo menos um ano com uma pessoa. Você precisa indicar claramente que ele é dono do seu tempo e atenção, para que ele não tenha medo de ir até você. Você deve verificar cuidadosamente tudo o que diz, porque a princípio suas palavras serão consideradas a verdade suprema. Em uma revisão de código, você precisa equilibrar muito delicadamente a qualidade e os sentimentos da pessoa que escreveu esse código.
Por um lado, qualquer erro no código que você não apontou ensinou uma pessoa a fazer errado. Por outro lado, um monte de truques eliminará o desejo de aprender.
É por isso que a Signora deve ser ensinada: somente após a força bruta sua síndrome de impostor milhares de vezes, você entenderá como lidar com a síndrome de impostor nascente em seu aluno.
Participei de treinamentos em projetos e fora dele, e só aqui o resultado é excelente. Estes são desenvolvedores intencionais e atenciosos que podem distinguir merda de mel. A única coisa que nem sempre permite aprender dessa maneira é o tempo.
Mentoring leva muito tempo, trabalho e pessoal. Sozinho, você não pode esticar nem três junho. Isso é muito difícil. Precisamos pensar nisso com alguns meses de antecedência. Precisamos encontrar uma multidão de idosos que concordam em se tornar mentores de projetos. Aprender não é rentável. Os desenvolvedores não querem problemas e se fundem, embora apenas eles possam mudar alguma coisa. Um dia, meu amigo assumiu o patrocínio no meio de junho e fez um perfil. Fortemente perfilado. “June não entende nada. Junho é estúpido e faz tudo errado. Junho enfurece. Junho atravessa a floresta, e eu vou silenciosamente ganhar dinheiro, não é rentável para mim gastar tempo nisso. Se ele próprio não puder fazer nada, também não ajudarei. " Isso acontece em todo o lugar.
Mas não devemos reclamar que tudo acabou dessa maneira, não resmungar com os idiotas de junho e não escrever na Internet que os programas para "desenvolver a habilidade de um funcionário" são conversas e ficção. Temos que ir, convencer o negócio a não tapar os buracos com cem estagiários, mas a investir no treinamento de dez profissionais. Então pegue pelo menos um e gaste, gaste, gaste seu tempo nele. Tolerar, sofrer e sacrificar-se até que o sistema de educação desajeitado volte ao normal.
Vale a pena? Sei uma coisa com certeza: você não quer dar o melhor de si, não tente ensinar as pessoas. Estes não são seus brinquedos, você assume total responsabilidade por eles e por todos os projetos que eles farão. Carregando na sua frente.