Como os programadores Scala estão sendo entrevistados? Quais são os aspectos que o entrevistador procura ao entrevistar um desenvolvedor Scala?
Como os programadores Scala estão sendo entrevistados? Quais são os aspectos que o entrevistador procura ao entrevistar um desenvolvedor Scala?
Respostas:
Primeiro, eu diria, pense por que você precisa de um desenvolvedor Scala. É realmente Scala que você precisa? Pense no que acompanha o Scala (IDE, ferramentas de compilação, bibliotecas, outra camada de complexidade acima do Java etc ...). Voltar para a pergunta. Ele tem dois aspectos: compreensão teórica e habilidades práticas. não deixe a coisa da "teoria" enganar você. É tão importante no Scala quanto a praticidade é importante no Java.
Veja se eles podem refatorar um trecho de código imperativo em uma boa alternativa funcional (veja acima). Tente um loop que implemente alguma matemática ou algo parecido com essas linhas.
Encontre seu gosto pelo estilo funcional versus imperativo. Opte por um estilo mais funcional, mas tome cuidado para não chegar aos extremos do lado do desenvolvedor.
Veja o quanto eles sabem sobre as bibliotecas Scala (por exemplo, levantamento, expedição, etc.) e ferramentas (por exemplo, SBT, fsc, IDEA).
Veja como eles podem aproveitar o Java (código e ferramentas). O Scala está fortemente acoplado ao Java, especialmente em ambientes mais graves. Saber que isso é uma grande vantagem.
Veja se eles estão conectados à comunidade. Pergunte a eles sobre Martin Odersky e David Pollak. Peça-lhes para nomear alguns projetos Scala e descrevê-los para você (Facebook, Twitter, FourSquare, DBPedia e DBPedia SpotLight). Veja se eles sabem exatamente como o Scala é usado nesses projetos. Eles leram os artigos, assistiram aos vídeos etc.?
Pergunte a eles sobre os livros (existem apenas alguns). Quanto mais eles souberem, melhor.
Como uma última palavra de cautela, posso dizer que línguas brilhantes têm esse estranho potencial para atrair as pessoas erradas. Tenha cuidado com o tipo que vem para Scala por todos os motivos errados. Aqui estão alguns:
PS: Se você encontrou um bom Joe, por favor, avise-me, pois precisamos de alguns;)
Em uma entrevista no mundo real, simplesmente conhecer Scala é metade da batalha vencida. Contratar um bom programador é sempre difícil, independentemente do idioma!
Os programadores da Scala tendem a vir para a linguagem porque já estavam no topo de seu jogo em Java e queriam "levar para o próximo nível".
Se você tem um suprimento abundante de desenvolvedores Scala disponíveis para entrevista, considere-se com sorte. Caso contrário, as perguntas mais relevantes podem ser "Quais aspectos devo procurar em um programador que treinarei para usar o Scala?" E "Quais empresas atualmente podem fornecer serviços de treinamento?"
Gosto de encontrar soluções para pequenos problemas como este: Faça um histograma dos resultados de jogar dois dados de seis lados 200 vezes.
Veja os comentários aqui para obter respostas interessantes: http://briccetti.blogspot.com/2011/01/dice-throw-simulation-in-java-and-scala.html
Alguém com uma solução como a de Daniel Sobral, ou essa de Kevin Wright: http://ideone.com/8LFs3 , valeria uma olhada mais de perto.
Se a resposta parecer código Java, talvez o candidato não esteja suficientemente longe.
Eu também gostaria de ver que a pessoa está conectada à comunidade Scala: conhece os livros, autores, desenvolvedores de código aberto, grupos de usuários e pessoas interessantes.
Nunca fiz nenhuma contratação do Scala, mas procuraria entender como funcionam os implícitos, o padrão de classe de tipo e os conceitos básicos de programação funcional.