O equivalente do Joel Test para medir um programador [fechado]

68

Entendo que, para medir um projeto ou código, podemos usar o The Joel Test , mas existe algum teste padrão simples (como o teste de Joel) que é capaz de medir e filtrar o quão bom é um programador?

Meu plano é ter este teste como um filtro rápido antes de ir para um teste mais detalhado.

    
por Rudy 15.02.2012 / 12:00
fonte

7 respostas

66

Existe a matriz de competências do programador .

Como no teste de Joel, é apenas um guia vago. A única maneira de avaliar corretamente um programador é pedir a bons programadores que trabalharam com eles.

    
por 15.02.2012 / 12:12
fonte
25

Eu mudaria o teste de Joel:

Eles usaram o controle de código-fonte?

Eles sabem como automatizar uma construção de um passo?

...

O único que não parece particularmente aplicável é a questão dos testers. Os outros que parecem meio que se entregam a isso é como lidamos com isso, como você lidou com isso no passado tipo de perguntas (é assim que lidamos com a atualização da nossa agenda, como você lidou com o agendamento no passado?) .

editar:

Basicamente, você não recebe as coisas no teste de Joel de graça, você tem que contratar pessoas que possam fazer isso acontecer. Você quer estabelecer sua capacidade de fazer isso acontecer.

    
por 15.02.2012 / 21:06
fonte
15

O Teste Joel é apenas uma verificação básica informal para avaliar rapidamente se um local tem boas condições de trabalho para programadores. Mesmo que ganhe 10 perfeitos, ainda pode ser um buraco infernal que vai à falência daqui a seis meses. Uma pontuação baixa é uma indicação de algo não muito certo e contribui para excelentes perguntas de entrevista ("Você não está usando o controle de origem; há algum plano para fazê-lo no futuro?"), E as respostas podem ser tais que você aceitaria o trabalho apesar de um baixo índice de Joel.

O teste de 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 a medir, 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 os candidatos completamente sem noção com facilidade, usando uma tarefa de programação muito simples - idealmente, algo que envolva recursão, estruturas em árvore ou ponteiros (um programador que não "consiga" isso provavelmente não será de muita utilidade). Para aqueles que passarem neste teste, você terá que avaliar as habilidades manualmente: ler o código que eles escreveram, testar os aplicativos que eles escreveram, dar a eles mais tarefas de programação (design e implementação), assisti-los, conversar com eles, ver se pode desencadear uma discussão profissional. Se você está procurando um especialista / guru da linguagem, você também pode querer fazer algumas perguntas de conhecimento, mas para um candidato de programação geral eu não me incomodaria.

    
por 15.02.2012 / 12:15
fonte
12

Sim:

Do you program in your spare time?

Em toda a minha experiência, esta pergunta única é mais indicativa de quão bom é um programador. Se eles gostam disso; se eles têm paixão por fazer a tarefa, então eles serão bons nisso.

E, francamente, muitos 9 a 5 trabalhos não envolvem muita codificação . Eles não envolvem muita interação ao longo do ciclo de vida de projetar novos programas e ver como esse design funciona / falha. Sem essa iteração, simplesmente não há a prática necessária para que os programadores ganhem habilidades básicas de design de programa.

E eles não envolvem muito aprendizado. Os programadores que até mesmo simplesmente cortam as coisas em casa, estarão explorando soluções novas e interessantes sem as restrições dos grandes negócios.

    
por 24.04.2012 / 21:38
fonte
1

Não é tão detalhado quanto o Joel Test, mas pedir que eles escrevam um programa de ez buzz será uma boa indicação para ver se eles podem codificar.

link e link

Isso não informará sobre a maturidade da engenharia de software do indivíduo, mas eliminará o pior.

    
por 24.04.2012 / 21:16
fonte
0

Eh, eu tenho escrúpulos com o texto no início. Não é "você usou X" ou "Você sabe de Y", é uma questão de realmente usar e fazer. Qualquer programador que não tenha tocado ou ouvido falar dos itens no teste de Joel está simplesmente desconectado e precisa obter uma pista. Mas você está certo, as lojas de código não passam no teste de Joel porque as pessoas nas lojas deixam de funcionar. A única defesa que posso ver corre ao longo das linhas de "Eu tentei, mas não tenho a autoridade. E agora estou aplicando aqui".

    
por 15.02.2012 / 22:48
fonte
0

Do you use source control?

Sim, mas

  • Realmente não lhe diz nada.
  • Como você sabe se eu encaminhar mesclar?
  • Como você sabe se eu puxo as alterações antes de empurrar?
  • Como você sabe se eu construo antes de me comprometer com o repositório.

Can you make a build in one step?

  • Sim, nosso lead de CI escreve scripts e eu os executo em powershell.

Do you make daily builds?

  • Nosso servidor de IC faz

Do you have a bug database?

Sim, mas não o configurei e não o administro, simplesmente o uso.

Do you fix bugs before writing new code?

  • Em um mundo perfeito onde eu tenho recursos ilimitados - sim eu faço. No mundo real, às vezes sou forçado a registrá-las e trabalhar em outra coisa.

Do you have an up-to-date schedule?

Não, esse não é meu trabalho.

Do you have a spec?

Recebo uma especificação, analiso e produz documentos relevantes.

Do programmers have quiet working conditions?

  • Você não vai me contratar se eu ouvir música, falar com meu colega e fazer uma piada? O desenvolvimento de software deve ser criativo - as condições de trabalho variam de uma organização para outra.

Do you use the best tools money can buy?

Você não sabe quais são as melhores ferramentas e, se achar que o faz, sempre haverá alguém para defender sua opinião.

Do you have testers?

Sim. Na verdade, sim e eles não são muito bons, mas isso não estava na questão.

Do new candidates write code during their interview?

Sim e eles falham. Sim e eles passam. O que isso lhe diz?

Do you do hallway usability testing?

Não, mas e se fizermos algo melhor?

Para concluir:

  • Esse teste pode funcionar bem em um mundo acadêmico perfeito, onde tudo funciona, todo mundo se dá bem, compartilha conhecimento e recursos ilimitados.
  • O que você quer saber é que tipo de engenheiro eu sou. Respostas simples bit a bit não dizem nada de útil e eu acho que alguém tem que ser muito ingênuo para se apaixonar por elas.
  • As respostas acima, tanto negativas quanto positivas, não dizem nada sobre minha capacidade de produzir código limpo.

Isso não é um desabafo, mas eu ficaria muito interessado em ouvir que tipo de desenvolvedor você acha que eu estou baseado nas respostas que eu forneci. Espero que isso prove o meu ponto de vista.

    
por 24.04.2012 / 22:03
fonte

Tags