Contratação de um desenvolvedor júnior, o que devo perguntar? [fechadas]

54

No momento, estamos contratando um desenvolvedor júnior para me ajudar, pois tenho mais projetos do que posso gerenciar atualmente. Eu nunca contratei alguém que não fosse amigo ou pelo menos um conhecido. Eu tenho uma entrevista por telefone com o único candidato que realmente se destacou para mim (no papel), mas eu nunca fiz isso antes.

Nossos projetos são todos de alta escalabilidade, aplicativos Web com muitos dados que processam milhões de transações por hora, em vários servidores e clientes. Para ser específico para o idioma / pilha, usamos ASP.Net MVC2, WebForms e C # 4, MSSQL 2008 R2, todos executados em cima do Windows Server 2008 R2

O que devo perguntar a ele? Como devo estruturar o telefonema?

    
por Jeremy Boyd 17.03.2011 / 21:39
fonte

9 respostas

50

Pergunte sobre quais blogs de tecnologia eles leem, pergunte o que o candidato acha interessante na tecnologia atual e por quê.

Essencialmente, para uma entrevista por telefone, você quer descobrir se é alguém que está entusiasmado com tecnologia e programação e está interessado em aprender e saber mais.

Como este é um júnior, você não pode esperar que eles saibam muitos tópicos avançados, mas você quer ter certeza de que eles podem pensar como um programador - dê a eles um problema simples e orientem você sobre como eles o resolveriam . Isso lhe dará uma visão de como eles pensam e resolvem problemas.

    
por 17.03.2011 / 21:52
fonte
26

Eu uso uma abordagem aberta para entrevistas por telefone, mas para colocar um pouco de estrutura eu geralmente peço para a pessoa falar através do currículo que eles enviaram. Muitas vezes, a maneira como eles passam por seu currículo irá gerar outras perguntas e você terá uma melhor compreensão de como elas são.

A outra coisa em que pensar durante a entrevista por telefone é perguntar: Eu poderia trabalhar com essa pessoa? Eles são energéticos? Irritante? Preciso?

    
por 17.03.2011 / 21:56
fonte
19

Codifique com eles.

Você deve definitivamente fazer o material usual da entrevista. Mas eu não contrato ninguém sem fazer uma sessão de programação com eles.

Minha abordagem: levarei de 2 a 3 horas e um problema de brinquedo (por exemplo, "Vamos criar o Twitter v 0.1" para um desenvolvedor de pilha completa ou "Vamos implementar Lista de primitivos" para uma pessoa de back-end) . Nós nos sentaremos no mesmo computador e discutiremos como lidar com isso. Vou escrever o primeiro teste unitário e dizer "faça isso passar". Talvez eu escreva os próximos testes para ajudá-los a seguir em frente. E então eu geralmente os deixo correr, pulando de vez em quando. Como ficamos com pouco tempo, eu vou pará-los e perguntar onde eles iriam levar em seguida, e o que eles gostariam de fazer antes de empurrá-lo ao vivo.

Coisas que eu procuro:

  • Eles podem colaborar bem?
  • Eles entendem o básico?
  • Eles podem dividir um problema em partes?
  • Eles valorizam código limpo?
  • Eles pegam seus próprios erros?
  • Eles tentam besteira quando não sabem alguma coisa?
  • Eles gostam de codificação?
por 24.03.2011 / 22:04
fonte
7

What's your Stack Overflow account name?

Uma das melhores maneiras de saber como o código de alguém vai parecer é ver em primeira mão. Uma das melhores maneiras de fazer isso é via SO.

Caso contrário, as perguntas padrão serão aplicadas. Pergunte sobre situações difíceis e como elas as superaram. Pergunte sobre quais novos idiomas eles estão aprendendo ou pensando sobre o aprendizado e por quê. Pergunte a eles que IDE eles usam e por que escolheram isso? Qual controle de origem?

Você pode aprender muito fazendo perguntas abertas que podem não estar relacionadas a um projeto específico, mas, em vez disso, permitir que elas resolvam o processo de pensamento delas.

    
por 17.03.2011 / 21:51
fonte
6

Uma coisa que eu não vi aqui na minha leitura rápida é a necessidade de perguntar sobre:

1 - Disposição para aprender

2 - Capacidade de auto-ensinar vs. treinamento formal

3 - Exemplo de algo que eles aprenderam no passado

4 - Um exemplo de áreas que não são confortáveis com

5 - Pergunta geral de alto nível como "se você tiver a tarefa de criar um aplicativo da Web sobre ... quais tarefas precisam ocorrer e quem deve executá-las" - Isso deve lhe dar uma ideia sobre o conhecimento atual sobre o desenvolvimento processo - Não precisa ser preciso, mas pelo menos você conhecerá a visão deles como é hoje.

    
por 19.11.2011 / 13:34
fonte
4

Fale comigo sobre um projeto no qual você trabalhou no passado

  • Descreva a arquitetura geral do projeto. Alto nível é bom.
  • Qual é a única coisa que você gostou sobre o projeto.
  • Qual é a única coisa que você não gostou sobre o projeto.
  • O que é que, em retrospectiva, você teria feito diferente?

Esta é uma ótima pergunta para entrevistas, na minha opinião, por telefone ou não. Se eles puderem falar de maneira inteligente sobre um projeto em que trabalharam, é bem provável que "consigam". Você está contratando um desenvolvedor de nível júnior, então não é importante que ele seja um especialista ainda, mas eles devem pelo menos entender o campo deles o suficiente para falar sobre isso. Normalmente, as pessoas que você vai querer contratar não terão problemas em lidar com isso, enquanto as pessoas que você pode querer evitar responderão em algumas frases ou menos.

O que você faz para se manter atualizado?

  • Que blogs você lê?
  • Que livros você leu / está lendo?
  • Mais alguma coisa?

Em uma indústria que está mudando constantemente, acho que é importante que eles permaneçam atualizados. Esta não é a pergunta mais importante que faço em uma entrevista, mas se eles não conseguirem dizer nada, não é um ótimo sinal.

Diga-me como você escreveria uma aula de bicicleta

Talvez seja uma pergunta melhor para uma entrevista presencial para que eles possam realmente escrever algum pseudo código, mas acho que poderia funcionar para uma entrevista por telefone também ... Descreva uma bicicleta (ela tem barras, rodas, etc. e os descreve como eles modelariam a (s) classe (s). Nada inovador aqui, mas se eles lutam com essa questão, eles provavelmente ainda são muito mais ativos.

    
por 19.11.2011 / 16:51
fonte
1

Há muitas boas dicas de entrevista já escritas, mas não acho que você possa preencher essa posição até saber exatamente o que elas farão no dia a dia. Se o seu primeiro pensamento foi: "Tudo o que eu preciso que eles façam". simplesmente pare. Encontre um pedaço específico de código para eles revisarem. Escolha o melhor e o pior código para eles olharem e ver se eles sabem a diferença. Dê-lhes áreas para trabalhar em um primeiro projeto rápido que pode ter sido negligenciado.

Espero que você tenha contratado o melhor programador, mas todos têm áreas nas quais são melhores / mais experientes do que outros. Tire vantagem disso e defina o papel deles de acordo.

Ah, e contrate alguém com um histórico de fazer as coisas.

    
por 19.11.2011 / 12:17
fonte
0

Quando você estiver em uma conversa com o desenvolvedor, você pode conhecê-lo e verificar se ele é honesto com você.

Para fazer isso, você pode fazer a seguinte pergunta para saber quão honesto ele realmente é

  1. Se eles fizeram alguma certificação, como uma verificação da Certificação Microsoft com eles, para saber se eles realmente estudaram e esclareceram isso.

  2. Alguns desenvolvedores juniores que fizeram seus projetos do último ano, não teriam feito o projeto sozinhos, ou seja, seus amigos devem ter feito isso por eles, etc.

Ser honesto desempenha um papel muito importante, quando o desenvolvedor júnior é encarregado de projetos confidenciais.

Se você acha que pode confiar neles, então você pode dar um questionário sobre quais tecnologias eles estão sendo recrutados, seguido de um texto prático para verificar se eles têm a habilidade lógica, ou seja, verificar se eles têm contato constante programação.

    
por 19.11.2011 / 08:29
fonte
0

A CEO da Sandglaz, Nada Aldahleh, recentemente escreveu um post sobre isso, baseado em sua própria experiência de contratar desenvolvedores para sua startup. Aqui estão algumas das coisas que ela procura:

  • mentalidade de solução de problemas
  • strongs habilidades de comunicação
  • faça perguntas sobre arquitetura e algoritmo; um desenvolvedor júnior deve ser capaz de arquitetar novos pequenos recursos e questões de algoritmos que podem ser reveladores sobre a mentalidade de solução de problemas e o tipo de base que eles têm
  • quebra-cabeças para isolar habilidades analíticas

E, claro, o teste de programação, que não deve consistir na pergunta do Fizz Buzz. Uma tarefa da vida real que pode ser concluída dentro de algumas horas em seu escritório seria o melhor tipo de teste.

Você pode ler mais de seus conselhos aqui: link

    
por 09.10.2013 / 22:48
fonte