Como contratar um bom desenvolvedor de C # se não conheço C #? [fechadas]

15

Sou desenvolvedor de C ++. Sei como o Windows funciona no nível nativo, mas não sou um grande especialista em C # e .NET. Agora eu preciso de um desenvolvedor de C # na minha equipe (todos os meus desenvolvedores são C ++). Como posso contratar um ótimo desenvolvedor de C # se não conheço C # em bom nível? Como fazer perguntas, como testar se as respostas são ótimas ou se há erros tolos?

Kirill V. Lyadvinsky
fonte
5
Onde você está postando a vaga? ;)
IAbstract
Aqui está um bom conjunto de perguntas no mínimo (você provavelmente deve entender as respostas de antemão - obviamente) Fazer a ligação
Doug Stanley
11
Parece que você pode contratar bons Devs C ++. Adicione mais uma à sua equipe e diga: "Adivinha o quê?" :)
JeffO 20/07
7
Basta contratar um bom programador.
Marcelo
2
@Job Ou, você sabe, compre o livro.
Kaleb Brasee

Respostas:

3

Ocasionalmente, deparo-me com o problema de entrevistar programadores com experiência principalmente em C ++, que eu não conheço tão bem quanto eles. Minha estratégia é:

  1. geralmente faço perguntas gerais de programação, algoritmos, design de OO, como refatorar, o que faz um bom teste de unidade etc. Eu adiciono algumas perguntas gerais direcionadas ao estilo da linguagem, então para C ++ eu poderia perguntar sobre gerenciamento de memória e vida útil do objeto. C # Eu poderia perguntar coisas como, você pode ter um vazamento de memória ao usar um coletor de lixo?

  2. tente descobrir como eles aprenderam o idioma, quais livros eles leram etc.

  3. verifique se eles criaram uma quantidade substancial de C ++. Entre em detalhes sobre quando eles o usaram, quanto, o que eles fizeram com ele e para quem. Em seguida, tente verificar isso o máximo possível usando suas referências.

Se eles puderem responder bem às questões difíceis de design e teoria e escreverem uma quantidade decente de C ++, espero que sejam pelo menos metade bons e provavelmente capazes de aprender rapidamente qualquer coisa que estiver faltando.

flamingpenguin
fonte
20

O verdadeiro teste para todos os programadores é o quão bem eles resolvem os problemas. Um solucionador de problemas de alto nível, com apenas habilidades C # medíocres, será muito mais valioso para você do que um deus C # (dess) que não consegue descobrir como lidar com a entrada de formulário.

Tente encontrar um problema real razoável em seu domínio comercial e deixe-o resolver o problema em c #. Você conhece o domínio e sabe qual deve ser o resultado. Você mesmo pode revisar a lógica e fazer perguntas, pois o fluxo e os comandos básicos em C # não são significativamente diferentes do C ++.

Se você ainda estiver preocupado, envie o código final para um de seus amigos em C # ou talvez para um parceiro de negócios e pergunte se eles podem revisá-lo e fornecer feedback.

Dave Wise
fonte
5
+1 para todos, exceto a parte de revisão de código. Como você sabe que seu amigo C # não vai apenas apontar suas preferências pessoais e escolher alguém arbitrariamente. Vá com seu intestino. A inteligência é tudo, e a experiência é mais difícil de avaliar e rastrear do que a inteligência. Contrate pessoas inteligentes que fazem as coisas. (Regra de Joel).
Warren P
Eu estava assumindo que haveria algum nível de confiança já estabelecida com a pessoa que seria convidado a rever o código, mas você tem um ponto válido
Dave Sábio
2

Presumo que você tenha uma necessidade real do desenvolvedor de C #.

Primeiro, descubra que tipo de tarefas você precisa para realizar.

Depois pergunte-lhes como eles realizariam essas tarefas. Pergunte como eles concluíram tarefas como essa anteriormente.

Ao entrevistar, pergunte a outros candidatos a avaliação das soluções propostas. Eu sugeriria que semear as soluções com uma que você sabe que não funcionará, e talvez uma que você considere boa. Isso servirá para ajudar a determinar como o candidato pode trabalhar com sua equipe. Os controles devem ajudar a eliminar os homens sim e os Idea Assassins .

Isso deve fornecer a você um bom grupo de candidatos com idéias que são aceitas pelos colegas e ter a capacidade de trabalhar com sua equipe.

SoylentGray
fonte
1
Por aqui, as pessoas que não conseguem ver o que há de errado com uma ideia são turistas, não engenheiros. :-) Eu acredito no poder do pensamento positivo e negativo. O artigo que você vinculou como Idea Assasins parece que foi escrito por uma pessoa amarga que não pode defender suas idéias fracas em uma discussão construtiva de engenharia e que se torna político e emocional quando compreende seus próprios fatos e sua capacidade limitada de desertos científicos eles.
Warren P
Existem pessoas que resistem a qualquer mudança ou idéia que não provenha delas. Esses são os assassinos de idéias. Não estou falando de pessoas que podem ver problemas reais, apenas aqueles que são tóxicos para um ambiente. Pessoas que, em vez de ver como isso poderia funcionar, apenas olham para ver como isso irá falhar.
precisa saber é o seguinte
2

faça a entrevista enquanto você estava hierarquizando um desenvolvedor de C ++. não se concentre muito nas tecnologias C ++, mas na solução de problemas, POO e programação em geral. Se você o contratasse como um desenvolvedor de C ++ que deseja fazer C #, ele seria um bom contratado.

komisacroS
fonte
0

Sendo desenvolvedor de .Net e lidando muito com caras de C ++, acho que você ainda gostaria de descobrir se uma pessoa conhece pelo menos algo sobre a plataforma .Net: coleta de lixo, GAC, JIT, NGEN, Valor versus tipo de referência, finalidade IDispose, etc. Uma boa lista de perguntas está disponível no blog de Scott Hanselman . Não há uma maneira simples de descobrir se as respostas estão corretas se você não entender as perguntas, portanto, pode fazer sentido dar uma olhada na visão geral do .Net no MSDN ou pegar um bom livro, como o Essential C # 4.0.

Se você está procurando um programador de GUI, ajuda muito pedir para implementar algo simples, como calculadora ou Mars rover ou qualquer outra coisa. Não há problema em dar um ou dois dias para isso. Você verá imediatamente se a GUI é útil e agradável, por exemplo, como ela se comporta quando redimensionada.

Dmitry Sevastianov
fonte
-1

Comece verificando suas respostas às perguntas de C # no SO ..

Ben
fonte