Contratação de desenvolvedores - alguma dica sobre ser mais eficiente? [fechadas]

17

Eu represento uma empresa de software que está em processo de construção de uma grande equipe de desenvolvimento de software. Somos exigentes com quem contratamos e temos uma taxa de retenção realmente boa (a maioria dos desenvolvedores está aqui há uma média de 5 a 6 anos).

Estamos gastando muito tempo com desenvolvedores e RH e temos um baixo índice de aplicativos para contratar. Aqui está o processo que usamos:

  • Entrevista de RH no telefone - envolve fazer perguntas básicas sobre comportamento e tecnologia
  • Teste on-line - envolve um teste técnico de 30 minutos
  • Entrevista técnica por telefone - Uma entrevista de 60 minutos de um desenvolvedor
  • Entrevista no local - Uma entrevista de 60 a 90 minutos por vários desenvolvedores seniores

Embora esse processo tenha funcionado, passamos muito tempo em entrevistas. Alguma idéia de como isso pode ser feito de maneira diferente? Nosso objetivo é automatizar todas as tarefas, se possível, mantendo a qualidade do talento.


UPDATE: Obrigado pelas respostas. Precisa esclarecer algumas coisas. Nosso objetivo é reduzir o número de candidatos que vão de uma etapa para a outra. Aqui estão nossos números atuais.

  1. Recebemos 1000 currículos
  2. 800 currículos passam na entrevista de RH
  3. 500 passam no teste on-line
  4. 100 passam a tela inicial do telefone
  5. 10 passe no local e seja contratado

Como você pode ver, precisamos fazer um trabalho melhor eliminando os candidatos no início do processo. Podemos fazer um trabalho melhor na maneira como o teste on-line avalia as pessoas?

Aqui estão mais detalhes sobre o processo com base em algumas respostas:

  • Entrevista de RH por telefone - Eles fazem perguntas técnicas muito básicas (O que é um CLR?) Para eliminar o maior número possível de pessoas
  • Teste on-line - tenha cerca de 10 perguntas básicas com 3 perguntas de codificação
  • Tela do telefone técnico - abrange uma variedade de tecnologias. Não nos importamos se o candidato não sabe tudo, desde que consiga demonstrar que poderá adquirir novas tecnologias e acelerar rapidamente
  • No local - Perguntas sobre codificação na frente dos desenvolvedores. Mais perguntas em nível de arquitetura.
DotnetDude
fonte
2
Uma estratégia é contratar localmente. Isso não economiza tempo, mas reduz o custo, se o custo for uma consideração importante.
Rwong 11/10/12
1
Uma segunda maneira é identificar os colegas de trabalho mais inclinados (ou que não se importariam) com a contratação e deixá-los assumir uma parcela maior de responsabilidade.
Rdong #
2
Por que não exigir que os desenvolvedores enviem currículos pelo git? Isso eliminaria alguns no-go's também.
WernerCD
2
@WernerCD - Se você está contratando desenvolvedores .NET, eles provavelmente nunca ouviram falar do git.
jfrankcarr
4
Por outro lado, odeio o RH fazendo perguntas técnicas e tendo que fazer testes on-line. Isso me dá um mau pressentimento sobre uma empresa. Eu ficaria muito mais interessado na empresa se eles passassem direto para o FizzBuzz e passassem 10 minutos conversando sobre arquitetura. Acho essas coisas muito mais informativas e eficientes em termos de tempo.
MrFox

Respostas:

31

Eu acho que existem alguns lugares em que você está perdendo tempo.

Solte a entrevista de RH além de apenas um primeiro contato simples para configurar as entrevistas de acompanhamento. Ter pessoas de RH fazendo perguntas técnicas é uma perda de tempo. Por exemplo, um deles me fez uma pergunta pouco clara sobre o MVC e eles não conseguiram esclarecer o que estava sendo solicitado.

Cancele o teste on-line, especialmente se você estiver contratando desenvolvedores de nível médio a sênior. Perde o tempo deles, mais o seu tempo e dinheiro. Além disso, alguns desenvolvedores simplesmente não se saem bem nesse tipo de teste.

Embora uma entrevista por telefone seja boa, não deve exigir uma hora inteira. Geralmente, de 5 a 10 minutos é suficiente para determinar se uma pessoa é adequada ou não. 30 minutos deve ser o máximo que você precisará para determinar se um presencial é garantido.

A entrevista presencial será a mais importante. Apenas não desperdice em BS como testes de personalidade de RH, testes on-line padronizados e similares. Reserve um tempo para conhecer a pessoa e ver se ela se encaixa na sua equipe. Faça boas perguntas relacionadas ao trabalho que você espera que elas realizem, não faça perguntas complicadas, não se importe com quebra-cabeças que você ouviu no Google / Microsoft / Apple / etc ou perguntas obscuras.

Você também pode passar por uma empresa de recrutamento que contrata para contratar. Muitos deles terão feito a triagem e testes preliminares e, em alguns casos, terão trabalhado com a pessoa antes. Dessa forma, você pode contratar os melhores candidatos e determinar se eles se encaixam bem enquanto eles estão trabalhando para você. Se as coisas não derem certo por qualquer motivo, deixe-as ir. Se eles se encaixam bem, mantenha-os por perto como funcionários permanentes.


Editar com base em informações atualizadas ...

Se o seu RH estiver analisando apenas 200 em 1000, o problema pode estar aí.

O anúncio de sua ajuda pode ser muito genérico e incentivar muitas pessoas a se inscreverem que, de outra forma, se filtrariam. Você pode segmentar melhor seu anúncio, mas não o segmenta em excesso.

Com tantos currículos, o RH pode terceirizar melhor essa fase para uma agência de pré-triagem para restringir um pouco as coisas, através do uso de automação e / ou entrevistas pré-triagem e verificação de antecedentes. Isso pode incluir uma entrevista técnica inicial real dada por um programador real. Também pode incluir um teste on-line, mas será da variedade de truques e curiosidades.

Como eu disse, não acho que você esteja obtendo muito valor nas telas de teste on-line e de RH. Eu sugiro repensar isso e você descobrirá que seus números nas outras fases serão mais razoáveis.

jfrankcarr
fonte
22
Engraçado, não trabalharei para empresas que insistem em tanta bobagem. Também descobri que as entrevistas com RH geralmente são um desperdício total do meu tempo. Eles não me dizem nada sobre a empresa, e os drones de RH parecem pensar que eu me importo com os "valores corporativos".
21119 Kristof Provost
2
@jfrankcarr - não importa o que ele faça. O programador deve ser capaz de pensar logicamente. Se você simplesmente não copiar as coisas já existentes. Cada projeto tem de fazer algo novo, mesmo quando se usa o algoritmo de bibliotecas etc.
Srnka
3
@srnka - Para aplicativos corporativos típicos, não me importo se eles podem escrever um algoritmo de classificação apertado e de baixo nível do zero. Existem muitas ótimas bibliotecas disponíveis para isso. Eu me importo se eles souberem seguir padrões de programação, projetar uma boa interface do usuário, escrever boas consultas de banco de dados e assim por diante, ou seja, as coisas que eles farão todos os dias no trabalho.
jfrankcarr
2
Enquanto eu não iria -1 ... mas largar o RH e largar o teste on-line ... e fazer 1000 entrevistas de 10 minutos? E alguém que não pode atender aos requisitos de trabalho (filtro de RH)? Ou pode fazer uma entrevista por telefone, mas não o FizzBuzz (teste online)? Estes parecem ser filtros bastante importantes.
WernerCD 11/11/12
3
@NimChimpsky: Assim como algumas empresas usam testes de personalidade como ferramentas para rastrear candidatos, alguns candidatos os usam como ferramentas para rastrear empresas.
Blrfl
23

Essa é uma situação em que você não deseja ser mais eficiente do que já é. Já existem muitos candidatos que não podem passar no FizzBuzz. Seu processo de filtragem atual parece garantir a qualidade do desenvolvedor. Você acabaria perdendo ainda mais tempo na linha se eliminasse alguma das etapas que está dando até agora.

SomeKittens
fonte
5

Parece que um candidato de sucesso leva cerca de três a quatro horas. Eu não tentaria reduzir esse tempo total. De qualquer forma, posso acrescentar mais tempo para a entrevista no local, a fim de dar tempo suficiente aos candidatos realmente ótimos para mostrar seu valor definitivamente e decidir se o que você oferece é interessante para eles a longo prazo. Com sua baixa rotatividade, você deve estar fazendo algo certo.

O baixo retorno do investimento em seu processo pode ser as três primeiras etapas. Talvez você possa rastrear os currículos com mais rigor ou procurar pontuações ainda mais altas no teste on-line. A tela técnica do telefone pode ser um alvo para otimização, se você definir para 30 minutos, mas permitir que candidatos superiores se estendam para 45 ou 60 minutos.

Se houver algum consolo, acho que o custo da distração e do tempo, embora atrapalhe o trabalho do projeto, é um dos momentos mais valiosos que você pode gastar. Considere os custos e problemas decorrentes de erros de contratação e os grandes ganhos para a equipe e a empresa quando uma boa contratação é feita.

Se você está argumentando, trabalhando com quase todos os seus candidatos, você é uma espécie de cordeiro sacrificial. No entanto, o efeito global do trabalho que você está realizando tem grande valor. Você deve abraçar o papel e ordenhá-lo para toda a boa vontade que conseguir entre os novos contratados. Se o processo for bem, sua gerência também valorizará seu julgamento sobre outras coisas.

DesenvolvedorDon
fonte
4

Enquanto eu lia, seu sistema está funcionando e você está mais do que feliz com os resultados. Suas equipes estão trabalhando bem, são produtivas e todos estão felizes. O único problema é que você acredita que está custando muito.

Considere a alternativa - você reduz a sobrecarga da equipe de recrutamento (embora seja qual for o método). Como resultado, a posse diminui de 6 anos para 3. Se você gastou metade do tempo para cada recrutamento, gastou o mesmo no total apenas no recrutamento. Agora, observe o custo da rotatividade - ao contrário do trabalho manual (a pintura de cerca é um bom exemplo), leva um tempo significativo para acelerar, digamos, 3 a 6 meses. Isso significa que suas economias de recrutamento precisam recuperar de 3 a 6 meses de salários, custos e lucros perdidos para os negócios (chame de 2,5 * salários). Agora, leve em consideração a interrupção da equipe e o risco de um novo recruta na dinâmica da equipe.

Em suma - um recrutamento em média vai custar 3-6 meses de salário. Quanto você gasta para preencher uma posição - uma semana ou duas é o meu palpite.

Maneira de reduzi-lo: Tudo o que posso ver são os horários das entrevistas - você os está encerrando ou preenchendo depois de decidir que o candidato é um Não (ou um Sim)? Se você decidiu fazer uma oferta para ele após os primeiros 5 minutos, faça a oferta. Se você precisar de 90 para decidir não fazer uma oferta, pergunte por que demorou 90 para chegar a Não (ou seja, o que ele fez para estourar nos últimos 60 segundos).

O recrutamento é, na melhor das hipóteses, uma porcaria - parece que você carregou os dados com sucesso a seu favor, ficaria tentado a mantê-lo assim ......

mattnz
fonte
3

Também sugiro algo que li aqui: Programação eficaz: mais do que escrever código :

É bom ver se o candidato "se encaixa" na cultura e no dia-a-dia da organização. Isso pode ser feito permitindo que o candidato faça perguntas aos funcionários atuais "off the record" ou, em algum nível avançado, fazendo um contrato de trabalho por uma semana ou duas (sugerido pelo autor).

Em retrospectiva, se algumas empresas em que trabalhei usassem essa estratégia, nunca teriam me contratado, algo que seria igualmente bom para ambas as partes.

Dimitrios Mistriotis
fonte
1

Em geral, solicitamos que eles tragam e expliquem algum código que eles escreveram e que se orgulham particularmente, de preferência de um projeto de código aberto.

" Espere " , você diz: " Isso não influencia você nas pessoas que escrevem software em seu tempo livre? "

Sim. Sim. Esse é o ponto.

tylerl
fonte
10
Duas notas: 1) dessa maneira, você apenas perde muitos candidatos igualmente adequados que não realizam projetos de código aberto em seu tempo livre, por qualquer motivo (por exemplo, eles não têm tempo livre, sendo pai / mãe ; eles preferem manter um equilíbrio entre trabalho e vida pessoal para evitar desgaste; eles têm outros hobbies; etc.) 2) isso não responde à pergunta.
Péter Török
1
Os +1 em desenvolvedores principais não são de 9 a 5 desenvolvedores. Eles passam algum tempo livre trabalhando com projetos. Artigo agradável: theundercoverrecruiter.com/…
jgauffin 11/11
6
Eu acho que isso é bobagem. Prefiro contratar alguém com interesses fora do trabalho. Codificação é a parte mais fácil.
NimChimpsky 11/11
3
Eu tenho uma pergunta de rotina para minha entrevista: "você já esteve envolvido ou contribuiu para um projeto de código aberto"?, Deixe-me dizer que essa é apenas uma sonda cultural . Se eles têm, ÓTIMO !: gostam do que fazem o suficiente para usar seu tempo livre, são bons com trabalho remoto e possuem habilidades de comunicação / negociação (grande parte da questão tem a ver com o envolvimento na própria comunidade) , Não me importo muito com o código). Se não o fizerem, não deve fazer a diferença , pois provavelmente significa que eles têm uma família.
Dukeofgaming
3
@ PéterTörök - Empresas como a que está descrevendo não querem que seus programadores tenham uma vida externa. Eles os querem jovens e desapegados, para que possam usá-los e cuspi-los em 3-5 anos.
jfrankcarr
0

Você já pensou em trabalhar com uma agência de recrutamento para tentar encontrar pessoas? Você pode se sentar com uma agência e dizer a eles seu processo e o que procura em um candidato. Eles podem então passar o tempo analisando os vários currículos, fazendo o teste técnico geral e administrando o teste on-line. Em seguida, eles passam os bons candidatos a você por telefone e pessoalmente.

Eu trabalhei com uma agência de recrutamento no passado como desenvolvedor procurando emprego. Eu tive que passar por um longo processo de entrevista para estar na piscina deles e, quando surgissem trabalhos em potencial, eu tinha que fazer as etapas iniciais e, se meu código / resposta fosse bom, eu conhecia a empresa real.

Tenho certeza de que isso reduz muita sobrecarga da sua equipe, mas haveria um custo. Ouvi dizer que pode ser uma porcentagem do salário do funcionário. Portanto, se você estiver oferecendo 65k / ano, poderá oferecer 60k e pagar 5k à empresa.

Tyanna
fonte
Quais mecanismos precisam ser implementados para garantir que a agência de recrutamento esteja fazendo seu trabalho? (Por exemplo, selecionar adequadamente os bons candidatos, e não para apoiar candidatos inaptos via preps de teste.)
rwong
@rwong ~ Isso é simples, a empresa ainda faz a entrevista final ou 2. Esse é o mecanismo. Apresentar um candidato só funciona se ele não precisar falar com ninguém. Fazer duas horas de entrevistas (telefone e horário no local) mostrará rapidamente se o candidato é realmente bom. E se muitos candidatos falsos estiverem sendo repassados, pare de usar essa agência.
Tyanna
0

Em vez de perguntar se o nosso processo está errado, você deve primeiro perguntar se não conseguimos atrair as melhores pessoas disponíveis no mercado. A maioria das organizações falha em promover a si mesma e ao trabalho antes de receber qualquer inscrição. Eu acho que também é um erro ter envolvimento de RH no primeiro ponto de contato. Existe um cisma fundamental entre os tipos de personalidade empregados em RH e os desenvolvedores de ponta.

Depois de muita reflexão ao longo dos anos sobre esse assunto, eu usaria uma política de contratação de 100% contratado / temporário e ofereceria cargos de tempo integral na carreira para selecionar contratados após um ano. Algumas pessoas entrevistam muito bem o conhecimento técnico enciclopédico, mas passam o tempo escrevendo o código que sabem que você precisa, mas não o que lhes foi pedido.

Tenho uma dica específica para a entrevista, forneço algum código e dou 10 minutos para o candidato revisar, depois peça que ele critique o código.

camelcase
fonte
Concordo, exceto que acho que um ano é muito longo para uma situação de contrato com perm. Seis meses é o tempo mais longo que você deseja se quiser reter pessoas. Geralmente, você saberá dentro de 3 meses se a pessoa se encaixa ou não. Não há razão para arrastar as coisas.
jfrankcarr
O contrato de contratação por seis meses é bom se você deseja contratar prestadores de serviços. Pode ser muito longo se você quiser contratar alguém que esteja atualmente em uma posição permanente.
Kevin cline #
0

Como SomeKittens diz, faça o teste do FizzBuzz ... apenas isso ao vivo e de preferência no papel, pois o que você quer é realmente ver quanto tempo eles levam para fazer a solução. Não classifique a sintaxe, apenas a lógica da solução; no meu caso, eu até permito o pseudocódigo e não é um problema, ele funciona da mesma maneira.

Funcionou como mágica para mim ... eu fui capaz de eliminar um sujeito de 15 anos de experiência que falou muito sobre ele ser tão bom que ele estaria disposto a "renunciar" de sua posição gerencial filmado em uma posição de desenvolvedor na minha empresa ... ah, cara, ele falhou: 45 minutos (eu até tomei um refrigerante e voltei), fiz isso em pseudocódigo e ele entendeu errado. O cara deixou uma boa impressão no RH devido ao seu currículo, mas, com esse resultado, eu consegui eliminá-lo sem suor.

A média é de 15 minutos, menos que isso, não significa que você tenha um bom programador, mais do que isso comece a se preocupar em ter um programador ruim na sua frente.

Leia o artigo de Jeff Attwood " Por que os programadores não podem programar " para ter uma idéia da essência do teste.

Além disso, infelizmente, estou no México e isso não é popular o suficiente para ter onde escolher, mas talvez tente careers.stackoverflow.com ?, Quero dizer, é uma ferramenta de recrutamento especializada exatamente para o que você está procurando.

dukeofgaming
fonte
0

Responder da perspectiva dos desenvolvedores, depender tanto da habilidade técnica do desenvolvedor, leva a desenvolvedores de qualidade, mas também tem a chance de eliminar desenvolvedores realmente bons.

Estou envolvido em muitos antecedentes de programação C #, Java, PHP etc. Muitas experiências de trabalho garantem que uma pessoa seja especialista em seu campo, mas, devido a isso, um fato ignorado é que outros antecedentes são suprimidos.

Por exemplo, a maior parte da minha experiência envolve PHP e eu conheço quase todas as partes da linguagem, só porque posso responder à pergunta, isso não me torna um programador de qualidade. E só porque eu não me lembro do nome e da definição da função em uma biblioteca XXXX em Java não torna um Coder Java ruim.

Acredito que os desenvolvedores devem ser julgados pelo potencial e adaptabilidade, e não pelo que eles podem fazer.

Starx
fonte
0

Minha sugestão seria alterar a entrevista de RH para perguntar mais ao candidato sobre seu ambiente de trabalho ideal. Um ponto-chave aqui para o RH é apenas coletar respostas e adicionar pontos sobre como a resposta é dada para determinar se o candidato sabe que tipo de ambiente deseja e qual o nível de compatibilidade com a sua organização.

Pode haver algo a ser dito para o RH conhecer alguns pontos do processo geral usado na sua organização, mas é provável que você possa fazer mais remoção se puder configurar as coisas para ter valores específicos, estilos de comunicação e outros pontos. como coisas para o RH encontrar. O ponto aqui não é que o RH determine o ajuste sozinho, mas colete as informações que podem ser passadas a um desenvolvedor ou dois que possam ver se alguém vale a pena acompanhar rapidamente o processo.

JB King
fonte