Técnica de Entrevista “MoSt”

Não é costume dizer em voz alta, mas muitos candidatos aprimoram suas habilidades e às vezes até mentem abertamente em entrevistas para conseguir um emprego. Para o empregador, isso não é um fato reconfortante, porque um funcionário sem escrúpulos não se fará sentir imediatamente - será preciso muito esforço, tempo e dinheiro da empresa antes de ficar claro que o retorno não corresponde aos recursos investidos. E por decisão de dizer adeus a um homem, você ainda precisa procurar um novo ...

Um erro na seleção de um funcionário é um fenômeno de longa duração; portanto, é importante investigar imediatamente o máximo possível uma pessoa que veio se mostrar. A técnica MoSt pode nos ajudar com isso. A entrevista, segundo seu testamento, leva cerca de uma hora e prevê uma entrevista estruturada do candidato em duas partes: técnica e pessoal. Você pode realizar uma entrevista ao vivo e por telefone / vídeo.

A técnica foi projetada para ensinar você a obter informações mais significativas sobre o candidato, mas não aumentará o número de candidatos e aprimorará suas habilidades. O MoSt, no entanto, aumentará suas chances de sucesso ao decidir contratar uma pessoa.

25 perguntas


Então, nós vamos ter uma entrevista. Para a primeira parte técnica, estamos preparando 25 perguntas, divididas em 5 grupos, com uma duração total de 30 a 40 minutos:

Interesse
(o grupo é importante ao trabalhar com um jovem candidato, porque programadores experientes geralmente têm um alto nível de responsabilidade devido à presença de uma família, obrigações, relutância em mudar de emprego; também altamente relevante para postagens com um grande fluxo de novos requisitos: terceirização, produtos experimentais que ainda não foram testados pelos usuários e podem mudar drasticamente)

Freqüentemente, os candidatos tentam demonstrar interesse no que sua empresa está fazendo ou na profissão em geral, e já aqui devemos dar o primeiro passo. É fácil dizer "estou interessado", é impossível imitar o interesse, por isso selecionamos algumas perguntas que mostram o quanto uma pessoa está realmente interessada no que está fazendo. Participação em conferências, blogs, fóruns, projetos pessoais, participação em desenvolvimentos de código aberto, conhecimento de programação de notícias do mundo e histórico de TI, idéias científicas, como complexidade de código ciclomático e verificação formal de algoritmos, princípios de KISS, DRY, SOLID e tudo o que você quer dizer eles mesmos não puderam deixar de ouvir no trabalho - esses são sinais de interesse. As perguntas podem assumir a forma de uma conversa gratuita, mas a essência já deve estar clara para você. Uma pessoa interessada é sempre valiosa,porque o interesse gera um desejo genuíno de entender, desenvolver e ter sucesso.

Interesse é tudo, sem interesse somos apenas pessoas.

Linguagem de programação
(mais relevante para jovens programadores (<5 anos de experiência); também é de grande importância se o candidato trabalha há muito tempo em uma empresa ou como freelancer)

Na verdade, o núcleo da entrevista. O candidato deve conhecer as ferramentas de linguagem, estruturas de dados, padrões para escrever código e sua organização. Esse grupo de perguntas deve maximizar a base técnica do candidato; portanto, escolha com cuidado! Entre outras coisas, ajuda a entender até que ponto uma pessoa aborda o assunto. As pessoas que aspiram a simplesmente conseguir um emprego bem remunerado, em geral, demonstram alto conhecimento de estruturas específicas (comercializáveis), mas pouco conhecimento dos recursos de linguagem incorporados, sem os quais é bastante difícil resolver com êxito novas tarefas (para um programador). O programador, "por amor", geralmente começa com o básico, a própria essência e, como resultado, ter uma boa base, é muito melhor para lidar com o novo.

Kit de ferramentas e auto-otimização
(o significado das respostas aumenta com a experiência do candidato de menos de 5 anos devido à alta probabilidade de ignorância de ferramentas e mais de 15 anos devido à rejeição generalizada de desenvolvimento adicional; é especialmente significativo para candidatos a equipes pequenas e altamente carregadas)

Este grupo foi projetado para determinar quais ferramentas de desenvolvimento o candidato usa e se ele procura simplificar seu trabalho. Isso, como você pode imaginar, inclui perguntas sobre sistemas de controle de versão, implantação e entrega de aplicativos, IDEs, recursos de SO, ferramentas de planejamento e monitoramento de código (medindo a complexidade do programa, cobertura de teste, consumo de memória, manutenção do índice ...). Esse grupo de perguntas deve ajudar a avaliar a eficiência, a natureza científica e a escrupulosidade de sua abordagem.

Habilidades arquitetônicas
(o significado das respostas é extremamente alto ao selecionar um especialista líder, porque ele tomará decisões que afetarão o trabalho de toda a equipe)

O terceiro grupo deve revelar a capacidade do candidato de escrever código conveniente, flexível e de fácil manutenção. Na maioria dos casos, as perguntas se baseiam no conhecimento do paradigma da linguagem principal: OOP, programação de componentes, interfaces ... Também adicionamos aqui a documentação, organizando um repositório Git, implantação de aplicativos, testes automáticos e de unidade ... Ou seja, não se trata muito de saber coisas específicas, mas sobre a capacidade de criar adequadamente o produto, torná-lo compreensível, fácil de usar e apoiar, sustentável, facilmente testado e montado.

Um item com uma revisão dos projetos pessoais do candidato (se houver) se encaixa perfeitamente nesse grupo, porque é neles que a familiaridade do proprietário com a ordem e as preferências arquitetônicas é revelada.


Especificidade e pensamento
(a relevância aumenta com a complexidade da posição para a qual o candidato é considerado - por exemplo, a programação de desktop de uso geral é mais simples que a programação de jogos, programas financeiros ou matemáticos, Big Data)

Este grupo inclui questões diretamente relacionadas à direção para a qual o candidato está sendo considerado. Muitas vezes (eu mesmo já vi isso mais de uma vez) perguntas específicas não soam nada. Este é um grande pecado: um programador Python pode ser um bom programador ou desenvolvedor de CLI, mas não tem absolutamente nenhuma experiência em desenvolvimento Web e nem conhece seus fundamentos. É muito provável que um desenvolvedor / designer de front-end se torne um desenvolvedor de back-end fraco e mantenedor do banco de dados. O desenvolvimento de jogos é um patrimônio muito especial. Existem muitos exemplos - uma coisa é clara: não se pode prescindir de perguntas específicas do trabalho! Na programação moderna, há muitas direções e nem todas têm semelhanças entre si; portanto, a experiência em uma não garante sucesso na outra.

Além disso, esse grupo deve incluir algumas perguntas sobre algoritmo e pensamento de baixo nível. Eles não precisam ser complicados, mas o candidato deve ter uma idéia do que seu programa faz em um nível baixo, em que ordem, quanto tempo essas ou outras equipes levam em relação umas às outras, que gargalos eles têm, como economizar recursos de computação e resolver o problema em menos ações.

Qual é o próximo?


Na verdade, temos 25 perguntas - e agora? Agora, precisamos fazer essas perguntas e, com base nas respostas do candidato, responder cinco perguntas sobre o entrevistado:

1. Interessado em : ele tentará, desenvolverá à vontade, não odiará seu trabalho como tal?
2. Possui uma base técnica : ele conhece os meios fundamentais da linguagem, sabe como usá-los e poderá resolver problemas "não de um livro"?
3. Organizado e econômico : ele aprecia seu tempo, esforços, presta atenção na seleção de ferramentas e tentará simplificar a vida de si e de toda a equipe?
4. Arquiteto : ele pode confiar suas soluções arquitetônicas, ele organiza o código de maneira compreensível, extensível e facilmente verificável, para que a equipe possa trabalhar com ele?
5. Apropriado para a posição: Ele entende as questões específicas do trabalho e tem uma compreensão fundamental do que está acontecendo nela?

Com base nas respostas, podemos entender o que nos espera e nossa equipe com este candidato profissionalmente.

Qualidades pessoais


Um fator importante é a determinação do perfil psicológico do candidato: ele é viciado em trabalho ou preguiçoso, prefere fazer seu trabalho ou irá (possivelmente com inveja ou descontentamento) olhar para outros funcionários, decompor a disciplina ou, inversamente, apoiá-la em suas ações - a segunda parte é dedicada a esclarecer tudo isso entrevistas (20 a 30 minutos). As perguntas para determinar as qualidades pessoais se perguntam: o que não gostou na equipe anterior, no último local de trabalho, quais conflitos de trabalho foram lembrados, com que frequência você processa e por que razões ... - a história sobre tudo isso pode revelar muito sobre o candidato.

Astúcia, traição, falsidade


A triste verdade é que muitos candidatos se encontram em entrevistas (cerca de 70%, de acordo com várias fontes). Isso pode ser combatido? Vou formular minha própria abordagem:

1. Determine as habilidades do candidato que não são pessoalmente adequadas para você . Algo que, segundo o candidato, ele sabe como, mas você não precisa, porque a posição não obriga. Suponha que você não exigiu SQL em um trabalho, mas o candidato afirma ser um mestre em SQL.

2. Faça o candidato falar. Faça uma longa pergunta sobre uma habilidade de modo que o entrevistado tenha a impressão de que você não é versado. Como regra, em tal situação, os mentirosos atacam, porque é muito fácil pendurar macarrão nas orelhas de alguém que não entende e se mostrar como um "usuário confiante de PC". Além disso, a entrevista técnica já terminou e "de acordo com a regra do sanduíche, no final, é necessário deixar claro que não há nada, que dormi um pouco em questões técnicas, desmontei tudo no trabalho anterior, me tornei um especialista em tudo, e eles não se lembram do que estava no meio. "

Um exemplo da prática pessoal:

na empresa de um funcionário, entrevistei um programador Go que alegou ter trabalhado com o Firestore por vários anos, bem como com o PostgreSQL. Nem uma nem a outra foram mencionadas na vaga, então a seguinte situação se desenvolve: o entrevistado afirma que é praticamente um mestre no que nós mesmos não somos as últimas pessoas. No entanto, ele não sabe disso - ele não sabe que temos experiência no Firestore e no PostgreSQL. Ele sabe apenas que somos programadores de Go e, pelas respostas às perguntas orientadas para Go, ele claramente não é um vencedor.

Sem hesitar, pedimos ao entrevistado que lhe dissesse o que ele estava fazendo no Firestore e depois no SQL "para que as pessoas que não estavam neste entendam". Segundo ele, ele projetou bancos de dados e tabelas, índices, escreveu novas consultas e otimizou as antigas após outros funcionários (ou seja, ouvimos declarações confiantes, altas, mas muito gerais). Qual foi sua surpresa quando começamos a fazer perguntas específicas sobre o dispositivo Firestore e o SQL (revelando assim nossa própria experiência) e o pouco que ele poderia nos dizer.

No entanto, nós não dizer que nós não entendia, só pediu para contar de tal forma a que unknowing pessoas entenderam. A manipulação inócua nos permitiu determinar que o candidato não tem idéia sobre o dispositivo Firestore e os JOINs no SQL e, o mais importante, está tentando nos enganar. Sim, não exigimos conhecimento do Firestore e não usamos SQL, mas descobrimos que o candidato não era confiável e dificilmente era um programador de sucesso no trabalho anterior, porque ele não entendia o que estava fazendo ali.

Com a ajuda do silêncio, retenção de informações sobre nós mesmos e perguntas estúpidas, criamos a impressão de que não estávamos no dente, demos ao candidato para aproveitar a iniciativa, começar a conversar. Provocação? Dificilmente. Acabamos de criar uma situação em que uma mentira seria benéfica, analisamos como o candidato se comportaria e depois avançamos para o terceiro passo, especialmente importante.

3. Concreto. O entrevistado deve responder a perguntas especificamente! Não deixe que discursos confiantes o enganem - cada afirmação deve ser avaliada quanto à concretude. A frase “trabalhei com a Angular por dois anos, concluí três projetos e, no quarto, fui a líder”, disse mesmo em um tom comum e confiante, ainda não significa nada. Tente descobrir pelo candidato o que exatamente ele fez, o que sabe, quais as dificuldades que viu, como as decidiu - se ele realmente lhe diz algo tecnicamente específicoentão você pode começar a acreditar. Se a conversa continuar com frases gerais e tentar evitar respostas diretas, é melhor encerrá-la sem problemas - estamos procurando evidências reais de experiência, em vez de alegações infundadas que ainda precisam ser testadas na prática. Uma pessoa não pode escrever um programa, mas não consegue entendê-lo, porque, em nossa profissão, o entendimento precede o resultado. Quem entende, pode se expressar especificamente. Quem não entende, isso certamente não pode.

O programa faz o que você escreveu nele, e não o que você quer dele.


Ordem


Talvez isso não seja óbvio à primeira vista, mas há uma certa ordem nessa técnica de entrevista. O primeiro grupo de perguntas é simples e permite que o candidato se acostume com a situação, relaxe. O segundo grupo aborda questões técnicas, após as quais há um salto nas ferramentas, depois um retorno às questões de programação e depois à mais difícil - questões específicas e de baixo nível. A carga e os tópicos estão aumentando, é necessário pelo menos examinar um pouco a capacidade do candidato de alternar entre tarefas. Nos terceiro e quarto grupos, recomenda-se, sempre que possível, exercer pressão psicológica, colocar o candidato em um beco sem saída, criar a sensação de que ele não está dizendo exatamente o que se espera dele. Isso é necessário para criar tensão, a fim de, pelo menos parcialmente, avaliar seu comportamento e desempenho em uma situação estressante.

Depois que o candidato é completamente carregado com perguntas técnicas, uma pesquisa pessoal começa. Na prática, esse momento se aproxima do quadragésimo minuto da entrevista - o momento em que o candidato já está bastante cansado, começa a perder a vigilância e a revelar honestamente os detalhes de sua personalidade.

Conclusão


Muitos detalhes da técnica foram omitidos para encurtar o artigo, no entanto, a essência da abordagem é totalmente divulgada. O MoSt requer uma preparação de meia hora para uma entrevista da pessoa que a conduz, atenção e algumas habilidades de atuação, mas oferece as seguintes vantagens:

- Você pode identificar quem veio buscar o dinheiro. Tal aspiração nem sempre é “o código é vermelho, o código é vermelho, temos um carreirista aqui!”. No entanto, uma pessoa interessada geralmente é mais bem-sucedida do que alguém que busca apenas lucro.
- As perguntas são feitas por grupos específicos. Isso permite determinar os pontos fortes e fracos do candidato e, com base no contexto, tomar a decisão certa. Por exemplo, ao procurar um júnior, as habilidades de arquitetura serão um plus, mas elas não terão mais valor e, ao selecionar uma pessoa para uma equipe altamente carregada, é importante entender se ele vai lidar com ferramentas de desenvolvimento complexas, que ninguém tem tempo para explicar o dispositivo.
- Com o devido cuidado, você identificará os mentirosos e aqueles que se prepararam "cinco minutos antes" - como regra, eles respondem bem a perguntas específicas, mas, ao considerar a situação, começam a tropeçar de ângulos diferentes.

Em conclusão, vale a pena dizer que alguns podem achar a técnica do MoSt provocativa, mas o entrevistador só precisa de manipulações - criando situações nas quais você pode ver o candidato à verdadeira luz, e não a imagem que ele preparou para a entrevista - mas não uma mentira óbvia. Nosso objetivo (de pessoas conduzindo entrevistas) é precisamente o combate às mentiras e a coleta de informações significativas e confiáveis.
-
Ilya,
QLogic LLC,
desenvolvedor Python / Go
GitHub acc | Página pessoal

All Articles