desenvolvedores do “Google”. Como um idiota contratou mais dois idiotas

By | Junho 19, 2022

Durante muito tempo, tive entrevistas técnicas regulares – recrutei candidatos para o cargo de programador em uma empresa. Eu tinha um plano de emprego simples, claro e inteligente (mas não o inventei). Primeiro, as pessoas tiveram uma longa entrevista na qual responderam a um monte de perguntas. Então eles fizeram algumas tarefas de programação. Eles codificaram em um pedaço de papel – assim como fizemos na universidade.

0952_hire-google-skills / image1.png

Publicamos e traduzimos este artigo com a permissão do detentor dos direitos autorais. O autor é Ivan Belokamentsev. O artigo foi originalmente publicado no Habr. Também gostaríamos de observar que em nossa empresa – PVS-Studio – ainda pedimos aos candidatos que escrevam código em um pedaço de papel durante a entrevista. Depois de ler este artigo, continuaremos com isso :). Ou pelo menos o candidato irá codificar em um computador na presença de um programador :).

Olhando para trás agora, vejo que o processo de recrutamento funcionou muito bem. Todos os candidatos que contratamos tornaram-se especialistas respeitados na comunidade de TI local. Mais da metade deles começou há muito tempo seu próprio negócio de TI em várias áreas – desde o desenvolvimento de software 1C até a implementação do sistema CRM.

Foi uma experiência emocionante que nublou minha mente. Tanto que resolvi mudar meu plano de trabalho – pensei que era tudo uma questão de minha realização pessoal. Eu sou um excelente entrevistador técnico!

Mudar

Fiz uma mudança muito simples – agora as pessoas estavam escrevendo código em um computador, não em um pedaço de papel. Eu pensei: “Por que eles têm que sentar lá e rabiscar no papel, como se estivessem escrevendo um manuscrito em um antigo convento?” Eu mesmo esqueci como é codificar sem um IDE, indicação de contexto, depuração e outros benefícios do desenvolvimento moderno.

Então dei aos candidatos tarefas e um computador e os deixei por meia hora a uma hora. Quando voltei, vi uma solução pronta. E não apenas feito, mas foda demais – o código era bom e bem otimizado. Fiquei emocionado – a geração atual amava tanto a tecnologia que escrever código era como respirar para eles!

Eu contratei essas pessoas também.

Os primeiros meses

No início, as coisas foram absolutamente maravilhosas. Acompanhei a produtividade e a eficiência da minha nova equipe e fiquei constantemente surpreso com a forma como eles dominavam novas habilidades. Antigamente, os primeiros meses eram desafiadores para os novos funcionários – os recém-chegados podiam escrever código para uma tarefa de aprendizado, mas mal conseguiam lidar com as atribuições de trabalho. No meu caso, não vi tal problema.

Mentiram através de tarefas simples. Joguei-lhes tarefas mais complexas – tarefas para quem tem um ano de experiência. O que eu consegui? Minha equipe resolveu essas tarefas sem ajuda! Fiquei chocado e animado. Que geração maravilhosa para crescer!

Achei que seria sempre assim. Quer dizer, eu esperava que a produtividade continuasse a crescer no ritmo atual. Sim, você faz!

Platô

Após 3-6 meses, todos atingiram o patamar de produtividade. Infelizmente, ao mesmo tempo, todos começaram a trabalhar remotamente por causa do coronavírus. E eu estava sentado em casa e enlouquecendo.

O tempo passou, mês após mês, mas a produtividade nunca melhorou. Como se nem todos pudessem romper o nível de estagiário. Às vezes havia extremos de produtividade, mas isso era fácil de explicar: um grande número de tarefas simples, monótonas e semelhantes. Eu continuei enlouquecendo e gritando na conversa.

Eu achava que o trabalho remoto era o culpado por isso – isso dificultava o uso do meu carisma. As pessoas podem não ter motivação, comunicação ao vivo e, às vezes… um chute no traseiro. Além disso, nossos superiores me fizeram um desserviço – eles me fizeram perguntas como esta: “O crescimento da produtividade estagnou devido ao teletrabalho?” Claro, eu disse que sim. Assim que voltássemos ao escritório, a produtividade dispararia!

No escritório

Bem, voltamos ao escritório em agosto. Sentamos lá e trabalhamos. Tínhamos muito trabalho a fazer – só precisávamos encontrar tempo (faltamos de tarefas quando trabalhávamos remotamente). Eu assisti o show – não cresceu… caramba! Eu tive que arregaçar as mangas e mergulhar no problema eu mesmo.

Comecei a oferecer minha ajuda. Não consegue resolver o problema? Venha me pegar. Eu irei, sente-se em sua cadeira e termine sua tarefa. Você se sentará ao meu lado e lembrará como o trabalho deve ser feito.

No entanto, havia muitos, e eu apenas um. Percebi que isso não ia funcionar. Eu tive que lidar com a raiz do problema. Resolvi voltar ao início – uma entrevista técnica.

Entrevistando novamente

Não forcei mais as pessoas a escrever código em um pedaço de papel – apenas sentei ao lado delas, dei a elas uma tarefa e o programador tentou implementá-la. Planejei realizar uma série de testes desse tipo, começando com o básico, aumentando gradualmente o nível de peso. Mas tudo acabou basicamente.

Descobriu-se que apenas um em cada dez programadores entendia como trabalhar com entidades e tipos básicos e conhecia suas propriedades e métodos. Pior – apenas 2-3 pessoas trabalharam razoavelmente bem com ajuda integrada e preenchimento de contexto. Os desenvolvedores simplesmente não conseguiram encontrar as propriedades e métodos. Isso sem falar no seu uso. Eles não podiam fazer nem mesmo uma tarefa elementar.

Apenas um deles se atreveu a perguntar: “Posso ir ao Google?” Foi quando eu – o idiota – finalmente percebi.

Desenvolvedores “Google”

Era como se alguém tivesse me batido na cabeça com um saco de farinha. Levei cerca de dois dias para processá-lo. Como isso é realmente possível? O código bonito e bem otimizado que eles me mostraram na primeira entrevista era da internet. O crescimento explosivo da produtividade nos primeiros meses deve-se às soluções que encontraram na Internet. Essas respostas às perguntas dos usuários após o feitiço “Nós ligaremos para você” desses caras – foram encontradas online.

Eles codificaram sem entender as construções básicas. Não, eles não escreveram o código – eles o pegaram. Não, também não é isso. Baixar o código é como executar “npm and”, tudo bem. Eles copiaram e colaram o código. Sem saber escrever.

Isso é o que me irritou – o que …? Bem, eu entendo quando você navega na internet para entender como a nova tecnologia funciona. Ou quando você precisa usar algum recurso exótico e não explodir a cabeça com informações desnecessárias. Mas o básico! Como você pode copiar e colar coisas básicas da internet?!

Quer saber o que eles disseram? “Qual é o problema?” Eu estava pronto para entrar no convento por tristeza. Descansei, parei de falar com eles, me recolhi e comecei a pensar. Claro, eu percebi que não era sobre eles. Eu era o problema.

Eles apenas seguiram as leis de seu próprio mundo. E eu fui um tolo por não ver essas leis – eu não as entendia, não entendia sua seriedade. A gravidade da superficialidade.

Superficialidade

No primeiro dia na universidade, nos reunimos em uma sala de aula no departamento. Um velho que é vice-reitor e professor associado nos disse: “A universidade não te dá conhecimento. Ela te ensina como chegar ao conhecimento por conta própria.”

Tive sorte – estudei no início dos anos 2000. Eu só conhecia a internet por fotos. Se você quer entender C++, sente-se e aprenda – aqui está C++ para você. Se você quiser escrever um trabalho de seminário sobre medição de rugosidade de superfícies, vá à biblioteca, leia livros e escreva seu trabalho de seminário. Se você quer dar uma palestra sobre história, vá ler revistas. Sim, você tem que ler um por um até encontrar os artigos necessários.

Infelizmente, os desenvolvedores do “Google” não têm tanta sorte. Todas as informações estão disponíveis para eles, sempre e em todos os lugares. Eles aprenderam a encontrar essas informações rapidamente — seja o endereço de uma loja de biscoitos, calças em promoção ou gerando uma consulta.

Os livros dizem: o cérebro forma e, mais importante, fortalece precisamente essas conexões neurais que o homem usa. Se você continuar escrevendo código, você o fará cada vez melhor. Se você está constantemente procurando informações na Internet, você está bombeando essa habilidade. Se você copiar código da internet, você se tornará um grande mestre nisso.

No entanto, nem todo código-fonte aberto. Aí vem o planalto. A produtividade de um desenvolvedor “Google” não é uma medida de escrever código, é uma medida de copiá-lo da Internet. É como a velocidade de download. Cerca de 15 anos atrás, você só podia assistir a um filme se o baixasse primeiro. Hoje, apenas a geração adulta faz isso.

Provavelmente algum dia os desenvolvedores do “Google” superarão os comuns. Pelo menos, na resolução de tarefas padrão. Enquanto isso, formaremos meticulosamente novas conexões neurais para o uso de objetos básicos, tipos e construções de linguagem de programação.

Então isso foi uma foda muito ruim da minha parte. Eu estava envergonhado.

PS E você sabe o quê? Vá entrevistar seus desenvolvedores novamente.

Deixe uma resposta

O seu endereço de email não será publicado.