Bater no olho do touro com testes de codificação em ambiente natural [estudo de caso]

Por Agosto 26, 2015 #!31Seg, 18 Mai 2020 05:15:13 +0200p1331#31Seg, 18 Mai 2020 05:15:13 +0200p-5Europe/Warsaw3131Europe/Warsawx31 18am31am-31Seg, 18 Mai 2020 05:15:13 +0200p5Europe/Warsaw3131Europe/Warsawx312020Seg, 18 Mai 2020 05:15:13 +0200155155amSegunda-feira=8#!31Seg, 18 Mai 2020 05:15:13 +0200pEurope/Warsaw5#Maio 18, 2020#!31Seg, 18 Mai 2020 05:15:13 +0200p1331#/31Seg, 18 Mai 2020 05:15:13 +0200p-5Europe/Warsaw3131Europe/Warsawx31#!31Seg, 18 Mai 2020 05:15:13 +0200pEurope/Warsaw5# Teste de Codificação, Entrevista Técnica

After publishing a post concerning most common don’ts of hiring programmers we received some questions regarding programming tasks and the way we should verify coding competências.

From my long-term work experience I’ve got a lot of consulting practice on recrutando process of programmers in some of the biggest IT companies based mostly in central-eastern Europe.

Temos escrito muito sobre entrevistas técnicas. Confira O guia definitivo para a entrevista técnica.

Desafios em entrevistar desenvolvedores

When I started interviewing developers there was no time for active programming and testes de codificação. We had a lot of candidates, so we had to stick to one hour limit for every issue – soft and technical assessment as well as financial negotiations. Finally we were hiring around 5% of initial candidates. After trial period about 90% of them continued working. It was quite good conversion rate.

Bastante...

But after calculating costs that were caused by inappropriate hiring decisions we realized we were wasting a lot of money. Salary, HR, office, notebooks, sénior developers time for kick-start, etc. Expenses additional to salary were on average almost doubling final cost.

There were three major reasons for not hiring developers after trial period:

  1. eles não puderam trabalhar na equipa,
  2. eles tinham apenas conhecimentos teóricos,
  3. eles estavam a trabalhar muito mais devagar do que o esperado.

A razão pela qual não fomos capazes de descobrir todas essas desvantagens foi saltar os testes de codificação activa durante a entrevista. Contratar desenvolvedores de software sem verificar se eles realmente podem codificar rápido e inteligente é semelhante a comprar um carro sem verificar se o motor funciona.

Então como poderíamos verificar todas estas fraquezas em apenas 60 minutos?

A resposta é simples – we couldn’t! We had to extend interviewing process by at least two hours. But prior to doing that we were forced to limit the number of candidates at first. We decided to make 15 minutes phone screening by asking 10-15 technical questions as well as getting to know their salary expectations. On that basis we’re inviting candidate again or not. Screening process allowed us to reduce number of next necessary meetings by almost 40%, which was worse result than we expected, but good enough for extending the time of every single interview.

Temos tentado encontrar uma solução para verificar se cada candidato está no mesmo comprimento de onda com a equipe, bem como se eles podem usar as linguagens de programação que costumamos usar no dia-a-dia. Independentemente das habilidades de codificação exigidas no trabalho dos programadores, damos ênfase à forma como eles estão pensando, especialmente porque isso afeta sua habilidade de se comunicar com os outros.

A programação de pares é uma solução?

A ideia era fazer programação em pares! Fixe - vamos ter o melhor dos dois mundos. A suposição estava certa para cerca de 70% dos nossos candidatos. Como resultado, uma sessão de codificação de uma hora foi suficiente para ver como alguém vai agir no nosso ambiente exigente e específico - tanto no uso do conhecimento possuído na prática, usando a capacidade de informação rápida processamentoA empresa é uma empresa que, por vezes, é obrigada a fazer compromissos para alcançar os objectivos da empresa.

Simultaneously, it also allowed us to see how they use tools, but first of all – how they can use SOLID principles in practice etc. But what with the other 30%? In fact these were people who can’t program in pairs at all. It was totally unnatural for them. Is it a big problem? When you realize that in practice you spent 5-10% of the time on pair programming you have to think through if you  can live with such empregados  at the position you are filling 🙂

Como podemos verificar as suas capacidades de codificação? Deixe-os continuar a tarefa que começamos. Mas sozinhos. Sem entrevistadores a olhar por cima do ombro e a comentar cada uma das linhas de um código.

O que também é importante, devemos recriar as condições naturais para cada desenvolvedor - IDE favorita instalada, acesso ao StackOverflow.com, documentação, etc. Se o candidato perguntar sobre o uso de seu próprio notebook - a resposta sempre deve ser: "Sinta-se livre. Faça tudo que você precisa para se sentir confortável na codificação". O meio ambiente natural é um meio absoluto para todos os tipos de testes de verificação de habilidades de codificação, tanto na programação de pares como em entrevistas individuais.