Entendo que, para medir um projeto ou código, podemos usar o Teste Joel , mas existe algum teste padrão simples (como o Teste Joel) capaz de medir e filtrar a qualidade de um programador?
Meu plano é ter esse teste como um filtro rápido antes de ir para um teste mais detalhado.
Respostas:
Existe a matriz de competências do programador .
Como no teste de Joel, é apenas um guia vago. A única maneira de avaliar adequadamente um programador é perguntar a bons programadores que trabalharam com eles.
fonte
Eu mudaria o teste de Joel:
Eles usaram o controle de origem?
Eles sabem como automatizar uma compilação de uma etapa?
...
O único que não parece ser particularmente aplicável é a questão dos testadores. Os outros que parecem meio que se voltam para uma: é assim que lidamos com isso, como você lidou com isso no tipo de perguntas anteriores (é assim que lidamos com manter nossa agenda atualizada, como você lidou com a programação no passado?) .
editar:
Basicamente, você não recebe as coisas no teste Joel de graça, precisa contratar pessoas que possam fazer isso acontecer. Você quer estabelecer a capacidade deles de fazer isso acontecer.
fonte
O Teste Joel é apenas uma verificação informal da linha de base para avaliar rapidamente se um local tem boas condições de trabalho para os programadores. Mesmo que tenha 10 pontos perfeitos, ainda pode ser um buraco do inferno que vai à falência seis meses depois. Uma pontuação baixa é uma indicação de que algo não está certo e gera excelentes perguntas para entrevistas ("No momento, você não está usando o controle de origem; há planos para isso no futuro?"), E as respostas podem ser tais que você aceitaria o emprego apesar de uma baixa pontuação no Joel.
O Teste Joel também não é um teste 'padrão'; é apenas uma lista de verificação que Joel Spolsky postou em seu blog.
No que diz respeito à 'medição', a qualidade de um programador vai; infelizmente, as habilidades e qualidades realmente importantes de um bom programador são difíceis ou impossíveis de quantificar; portanto, não há substituto para uma avaliação humana completa. Você pode eliminar facilmente os candidatos completamente sem noção, usando uma tarefa de programação muito simples - idealmente, algo que envolva recursão, estruturas em árvore ou ponteiros (é improvável que um programador que não os 'entenda' seja de grande utilidade). Para aqueles que passarem neste teste, será necessário avaliar as habilidades manualmente: leia o código que eles escreveram, teste os aplicativos que eles escreveram, dê a eles mais tarefas de programação (design e implementação), observe-os trabalhar, converse com eles, veja se você pode desencadear uma discussão profissional. Se você procura um especialista / especialista em idiomas,
fonte
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score.
Você estaria cometendo um erro ao aceitar o trabalho a propósito. Eventualmente, todo desenvolvedor aprende que issoPlans to do so in the future
é algo que os entrevistadores dizem para enganá-lo, mas que eles nunca agem por causa de um gerenciamento terrível. Quantas vezes ouvimos algoOh, we are moving towards Agile...
nesse sentido e acaba sendo mais uma loja de cascata microgerenciada?Sim:
Em toda a minha experiência, essa pergunta única é mais indicativa de quão bom é um programador. Se eles gostam; se tiverem paixão por fazer a tarefa, serão bons nisso.
E, francamente, muitos de 9 a 5 trabalhos não envolvem muita codificação . Eles não envolvem muita iteração durante o ciclo de vida do design de novos programas e ver como esse design funciona / falha. Sem essa iteração, simplesmente não existe a prática necessária para que os programadores adquiram habilidades básicas de design de programas.
E eles não envolvem muito aprendizado. Os programadores que simplesmente simplesmente cortam as coisas em casa vão explorar soluções novas e interessantes sem as restrições dos grandes negócios.
fonte
Não é tão detalhado quanto o Joel Test, mas pedir que eles escrevam um programa de efervescência será uma boa indicação para ver se eles conseguem codificar.
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html e http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers- quem-grok-codificação /
Isso não informará sobre a maturidade da engenharia de software do indivíduo, mas trará o pior.
fonte
Eh, eu tenho um problema com a redação no começo. Não é "você usou X" ou "Você conhece Y", é uma questão de realmente usar e fazer. Qualquer programador que não tenha tocado ou ouvido falar dos itens do teste Joel é simplesmente desconectado e precisa ter uma pista. Mas você está certo: as lojas de códigos não são bem-sucedidas no teste de Joel porque as pessoas nas lojas deixam isso falhar. A única defesa que eu vejo é executada como "Tentei, mas não tinha autoridade. E agora estou me inscrevendo aqui".
fonte
Sim mas
Sim, mas não o configurei e não o administro, simplesmente o uso.
Não, esse não é o meu trabalho.
Recebo uma especificação, depois a analiso e produzo documentos relevantes.
Você não sabe quais são as melhores ferramentas e, se pensa que sim, sempre haverá alguém para discutir o seu ponto.
Sim. Na verdade, sim, e eles não são muito bons, mas isso não estava em questão.
Sim e eles falham. Sim e eles passam. O que isso diz a você?
Não, mas e se fizermos algo melhor?
Concluir:
Isso não é um discurso retórico, mas eu ficaria muito interessado em saber que tipo de desenvolvedor você acha que sou baseado nas respostas que forneci. Espero que isso prove meu argumento.
fonte
How do you know whether I pull changes before pushing?
Bem, não sei qual controle de origem você está usando, mas pelo menos no SVN, se você tentar confirmar uma pasta com alterações que ainda não possui, a confirmação falhará até você executar o Update.