Programadores do Google. Como um idiota recrutou idiotas

Antigamente, eu, de forma contínua, fazia entrevistas técnicas - candidatos selecionados para o cargo de programador na empresa. Tinha uma técnica simples, clara e elegante (não inventada por mim). O cara primeiro passou por uma longa entrevista sobre uma pilha de várias perguntas, então ele resolveu vários problemas. No papel, como fizemos na universidade.



Olhando para trás, eu entendo que a seleção realmente funcionou muito bem. Todos que selecionei tornaram-se especialistas respeitados em nossa aldeia. Mais da metade deles há muito abriu seu próprio negócio de TI, em várias áreas - desde 1C ao desenvolvimento de sistemas de CRM.



Foi essa experiência que turvou minha mente. Tanto que resolvi mudar a metodologia - pensei que não era ela, mas eu. Eu sou um ótimo entrevistador técnico.



Alterar



As mudanças que fiz foram muito simples - agora as pessoas estavam escrevendo código não no papel, mas em um computador. O que, pensei, eles, como em um antigo mosteiro, sentariam rabiscando. Eu mesmo há muito tempo não estou acostumado a ficar sem IDE, dicas contextuais, depuração e outras belezas do desenvolvimento moderno.



Ele deu tarefas ao cara, colocou-o no computador e saiu por meia hora ou uma hora. Quando vim, vi uma solução pronta. E não apenas pronto, mas muito fodido - o código é lindo e a otimização está em um nível suficiente. Ele próprio enlouqueceu - a geração moderna está tão imbuída de tecnologia que escreve código como se respirasse?



Bem, eu tenho esses caras.



Primeiros meses



No início, tudo correu bem. Acompanhei todas as métricas de sua produtividade e eficiência, e nunca parei de me surpreender com o rápido crescimento desses caras. Antigamente, as pessoas nos primeiros meses se empenhavam bastante - elas sabiam escrever o código da tarefa educacional, mas dificilmente podiam lidar com as tarefas dos trabalhadores. Não houve tal problema.



É claro que eles resolveram problemas simples com facilidade. Comecei a dar problemas mais complexos - aqueles que antes eram emitidos após um ano de serviço. Esses caras passaram, sem ajuda, e com tal! Fiquei chocado. Fiquei feliz - que geração maravilhosa está crescendo!



Achei que seria sempre assim. Em termos de crescimento continuará de forma linear. Sim, agora.



Platô



Depois de 3-6 meses, cada cara atingiu um platô em termos de produtividade. Infelizmente, ao mesmo tempo, todos eles mudaram para o teletrabalho devido ao coronavírus. E eu sentei em casa e fiquei furioso.



O tempo passa, mês após mês, e a produtividade congelou no nível de trainee. Às vezes, havia extremos locais, mas eram facilmente explicados por um grande número de problemas simples, monótonos e semelhantes. Eu continuei furioso e gritando nos bate-papos.



Achei que fosse uma questão de controle remoto - você não pode ativar o carisma em plena capacidade lá. Bem, provavelmente, as pessoas não têm motivação, comunicação ao vivo e, às vezes, um chute na bunda. Aqui os patrões também prestaram um desserviço - perguntaram: "a produtividade não cresce por causa da distância?" Claro que sim, respondi. Vamos para o escritório atropelar!



Escritório



Bem, fomos para o escritório em agosto. Sentamos, trabalhamos, há muitas tarefas - faça a tempo (houve uma escassez de tarefas durante o trabalho remoto). Eu olho para os indicadores - eles não crescem, seus desgraçados. Eu tive que mergulhar, porra.



No começo, fiquei estupidamente entorpecido para ajudar as pessoas. Não consegue resolver o problema? Me liga. Eu vou subir, tirar você do computador, sentar e terminar. E você, mediocridade, sente-se por perto e lembre-se de como trabalhar.



Mas vocês são muitos e eu sou um. Não funciona. Precisamos entender os problemas subjacentes. Decidi voltar ao estágio inicial - uma entrevista técnica.



Entrevista novamente



Não me obriguei mais a escrever código no papel - apenas sentei ao meu lado, disse a tarefa e o programador tentou implementá-la. Pensei em realizar uma série de trabalhos de verificação desse tipo, começando pelo básico, aumentando gradativamente o nível de complexidade. Mas tudo terminou no básico.



Descobriu-se que apenas um programador em dez sabe como trabalhar com entidades básicas, tipos, conhece suas propriedades e métodos. Pior ainda, apenas 2-3 pessoas trabalham razoavelmente bem com ajuda integrada e ajuda contextual. Eles estupidamente não conseguem encontrar propriedades e métodos. Sem falar em como aplicá-los, mesmo em uma tarefa elementar.



Um só ficou mais ousado e perguntou - “posso pesquisar no Google?”. Então me ocorreu, seu idiota.



Programadores do Google



Foi como se eu tivesse levado um saco de farinha na cabeça. Eu saí por dois dias. Isso é realmente possível? O código bonito e ideal que eles forneceram na primeira entrevista foi encontrado na Internet. As soluções que proporcionaram um aumento explosivo de produtividade nos primeiros meses de trabalho foram encontradas na Internet. Essas perguntas dos usuários, às quais os caras responderam após o mágico "Eu te ligo de volta", foram encontradas na Internet.



Eles escrevem código sem entender as construções subjacentes. Não, eles não escrevem código - eles fazem o download. Não, de novo não ... Baixar o código é como "npm i", tudo bem. Eles eliminam o código. Não sabendo escrever.



Ele começou a ficar indignado - droga, como assim! Ok, existe uma nova tecnologia para iluminar com a ajuda da Internet, ou aprender a usar algumas porcarias raras para não martelar sua cabeça. Mas coisas básicas! Como você pode copiá-los da Internet ?!



Você sabe o que eles responderam? "E daí?". Quase saí do mosteiro de tristeza. Ele fez uma pausa, parou de falar com eles, fechou e pensou. Naturalmente, percebi que o problema não era com eles, mas comigo.



Eles apenas seguem as leis de seu mundo. E eu, um idiota, não vi essas leis, não entendi, não percebi sua seriedade. A seriedade da superficialidade.



Superficialidade



No primeiro dia de estudos no instituto, estávamos reunidos em um auditório do departamento, e um velho fumegante, deputado. Reitor e Professor Associado, disse: “O Instituto não fornece conhecimento. Ele ensina você a adquirir conhecimento por conta própria. "



Tive sorte - estudei no início dos anos 2000, quando a Internet só existia em fotos. Se você quer entender C ++ - sente-se e descubra, aqui está C ++. Se você quiser escrever uma dissertação sobre medição de rugosidade, vá à biblioteca, leia livros, escreva uma dissertação. Se você quiser fazer uma reportagem sobre a história, vá ler as revistas. Sim, tudo em uma linha até encontrar os artigos de que precisa.



E os programadores do Google estão sem sorte. Qualquer informação está disponível para eles, a qualquer hora, em qualquer lugar. Eles aprenderam a encontrar essas informações rapidamente - seja o endereço de uma loja de biscoitos, calças com desconto ou uma consulta generativa.



Nos livros, eles escrevem que, no cérebro, essas conexões neurais que uma pessoa usa são formadas e, o mais importante, fortalecidas. Se você constantemente escreve código, então você o faz cada vez melhor. Se você está constantemente procurando informações na Internet, então aprimora essa habilidade. Se você copia código da Internet, torna-se um grande mestre nisso.



É verdade que nem todo o código está disponível publicamente na Internet. Portanto, surge um platô. A produtividade de um programador do Google não é uma medida de como o código é escrito, é uma medida de como ele é escrito fora da Internet. É quase a mesma velocidade de download. Cerca de 15 anos atrás, para assistir a um filme, você tinha que fazer o download primeiro, agora apenas os Velhos Crentes fazem isso.



Algum dia, provavelmente, os programadores do Google irão superar o de costume. Pelo menos na solução de problemas padrão. Enquanto isso, iremos dolorosamente formar novas conexões neurais usando objetos básicos, tipos e construções de PL.



Eu deveria ter estragado tudo assim, droga. É uma vergonha.



PS E isso ... Verifique novamente o seu.



All Articles