Primeiro, sobre como fui entrevistado para o trabalho há 5 meses. Um amigo me aconselhou e passou muito tempo desde que eu respondi ao recrutador. Fiquei espantado com o quanto todo o processo mudou nos últimos 5 anos.
Após a ligação inicial, fui enviado para um site de terceiros (HackerRank) para que eu pudesse resolver três pequenos problemas em 1 hora. Para mim, foi a primeira experiência desse tipo. As duas primeiras tarefas foram simples, mas a terceira foi mais difícil. Quando chegou o momento, minha decisão não passou em todos os testes, mas apenas 8 em cada 10 eram necessários.
Já nesta fase, acabei sendo filtrado da lista de possíveis candidatos. Não existe um lado positivo, pois um pouco mais tarde fiquei gravemente doente e, se eu tivesse passado na entrevista com sucesso, simplesmente não consegui chegar ao local de trabalho normalmente. A experiência adquirida, no entanto, me fez pensar seriamente. Decidi me preparar para o futuro e realizava uma tarefa a partir desse site toda semana .
Desafios em todos os lugares
Meu bom amigo agora está procurando seu próximo emprego como Ph.D. em Ciência da Computação, com mais de dez anos de experiência prática. Quase toda vez que ele é solicitado a resolver alguns problemas - pessoalmente ou em um site de terceiros. Ele adquiriu o Cracking the Coding Interview (um livro publicado na Rússia como "Carreira do programador" - aproximadamente tradução). Para acompanhar o mercado de trabalho, o desenvolvimento de qualquer habilidade leva tempo. Alguns trabalhos excelentes já foram aprovados.
O problema surgiu em uma discussão na Megamaker (uma comunidade fechada de língua inglesa para desenvolvedores e startups - aprox. Transl.) E um dos participantes compartilhou um ponto sensível:
Em breve terei 45 anos e deixei minha startup (onde estava o CTO) em dezembro. Desde então, falhei em pelo menos 10 testes e entrevistas com um programador. Escrevo código há quase 20 anos, incluindo a criação de firmware (eu sou um engenheiro eletrônico treinando) e aplicativos Web distribuídos em larga escala com integração à IoT. Do zero, criei software para grandes instalações de produção especializadas em todo o mundo. No entanto, simplesmente não consigo um emprego como programador, porque falho constantemente nessas tarefas de teste.
E esse tweet de Max Howell foi para as massas alguns anos atrás. Isso é engraçado e triste, e ao mesmo tempo verdadeiro.
https://twitter.com/mxcl/status/608682016205344768?lang=ptFato: para muitos desenvolvedores seniores, quando começam a procurar outro emprego, a próxima entrevista de emprego pode ser uma surpresa desagradável.
Os desenvolvedores odeiam tarefas
Alguns programadores respondem ...
Eu costumo terminar a entrevista quando eles me oferecem algo assim.
ou
A capacidade de resolver esse problema não diz nada sobre mim. Posso me comunicar com os clientes? Posso implantar um aplicativo Web em funcionamento? Posso pesquisar no google tudo o que preciso? Posso aprender em tempo real? Isso é o que importa, não a capacidade de escrever o tipo de bolha.
O contra-argumento é que são necessários quebra-cabeças para eliminar rapidamente candidatos claramente fracos. Embora, é claro, um desenvolvedor experiente possa não querer resolvê-los se ele tiver um carro de propostas.
Eu também acho que esses problemas não dizem nada sobre a capacidade do candidato de lidar com esse trabalho. A redação é geralmente esfarrapada, mas a informação é insuficiente (ou uma conclusão inequívoca não pode ser feita sobre sua suficiência). Na maioria dos casos, os problemas estão realmente relacionados ao mundo da matemática. Então, a propósito, a presença de educação especializada será uma vantagem.
É quase garantido que os recrutadores envolvem candidatos que podem se tornar essenciais na empresa. Por exemplo, quando Daniel Buchmüller não foi aceito na Netflix ...
https://twitter.com/rrubyist/status/1124448304555798529Empresas adoram tarefas
Para entender de onde vieram os problemas, você precisa entender como o mundo ao nosso redor mudou: a proporção de funcionários trabalhando remotamente está em constante crescimento e as equipes internacionais estão se tornando a norma.
Mas, juntamente com o crescimento do pool de desenvolvedores remotos, cresce o número de aplicativos que precisam ser processados para encontrar um funcionário adequado. Você consegue imaginar um emprego com 500 respostas a uma vaga?
https://twitter.com/ideasasylum/status/1126500299470807046Além disso, ouvi falar de entrevistas em que o candidato nem sabia programar (não conseguia escrever um programa como o hello world). Ninguém quer gastar tempo em dezenas dessas entrevistas.
E as tarefas como meio de triagem primária resolvem os dois problemas. A empresa está satisfeita com o risco de perder alguns candidatos legais, a fim de acelerar significativamente todo o processo. Agora, com um número quase ilimitado de candidatos, eles podem pagar. Estatísticas secas mostram que o transportador produzirá mais bons especialistas por unidade de tempo.
Portanto, acredito que as tarefas nas entrevistas são sérias e há muito tempo, e seu papel só aumentará.
A necessidade de programadores é maior do que nunca, e ainda mais nos desenvolvedores seniores. Só não espere que anos de experiência lhe comprem um emprego despreocupado. Prepare-se para resolver problemas de teste enquanto o tempo está se esgotando.