El equivalente de Joel Test para medir un programador [cerrado]

67

Entiendo que para medir un proyecto o código, podemos usar The Joel Test , pero ¿hay alguna prueba estándar simple (como la prueba de Joel) que sea capaz de medir y filtrar qué tan bueno es un programador?

Mi plan es tener esta prueba como un filtro rápido antes de pasar a una prueba más detallada.

    
pregunta Rudy 15.02.2012 - 12:00

7 respuestas

65

Hay la matriz de competencia del programador .

Al igual que con la prueba de Joel, es solo una guía vaga. La única forma de evaluar adecuadamente a un programador es preguntar a los buenos programadores que han trabajado con ellos.

    
respondido por el Tom Squires 15.02.2012 - 12:12
24

Daría la vuelta a la prueba de Joel:

¿Han usado el control de código fuente?

¿Saben cómo automatizar una compilación de un paso?

...

El único que no parece particularmente aplicable es la pregunta de los probadores. Los otros que parecen no estar de acuerdo con esto es cómo lo manejamos, cómo lo hemos manejado en el pasado tipo de preguntas (así es como manejamos mantener nuestro calendario actualizado, ¿cómo ha manejado la programación en el pasado?) .

editar:

Básicamente, no obtienes las cosas en la prueba de Joel de forma gratuita, tienes que contratar a personas que puedan hacerlo realidad. Quieres establecer su capacidad para hacer que eso suceda.

    
respondido por el stonemetal 15.02.2012 - 21:06
15

La prueba de Joel es solo una verificación de línea de base informal para juzgar rápidamente si un lugar tiene buenas condiciones de trabajo para los programadores. Incluso si obtiene un puntaje perfecto de 10, todavía puede ser un infierno que se va a llevar a la quiebra dentro de seis meses. Un puntaje bajo es una indicación de que algo no está bien, y lo convierte en excelentes preguntas para la entrevista ("Actualmente no está usando el control de código fuente; ¿hay planes para hacerlo en el futuro?"), Y las respuestas podrían ser tales que aceptarías el trabajo a pesar de una baja puntuación de Joel.

La prueba de Joel tampoco es una prueba 'estándar'; Es solo una lista de verificación que Joel Spolsky publicó en su blog.

En cuanto a "medir" la calidad de un programador; desafortunadamente, las habilidades y cualidades realmente importantes de un buen programador son difíciles o imposibles de cuantificar, por lo que no hay un reemplazo para una evaluación humana completa. Sin embargo, puede eliminar fácilmente a los candidatos completamente despistados, utilizando una tarea de programación muy simple: idealmente, algo que implique recursión, estructuras de árbol o punteros (un programador que no "obtiene" es poco probable que sea de utilidad). Para aquellos que pasen esta prueba, tendrá que evaluar las habilidades manualmente: leer el código que escribieron, probar las aplicaciones que escribieron, darles más tareas de programación (tanto de diseño como de implementación), verlos trabajar, hablar con ellos, ver si Puede provocar una discusión profesional. Si está buscando un especialista / gurú del idioma, es posible que también desee hacer algunas preguntas de conocimiento, pero para un candidato de programación general no me molestaría.

    
respondido por el tdammers 15.02.2012 - 12:15
12

Sí:

  

¿Programas en tu tiempo libre?

En toda mi experiencia, esta pregunta es lo más indicativo de lo bueno que es un programador. Si lo disfrutan; Si tienen pasión por hacer la tarea, entonces van a ser buenos en eso.

Y, francamente, muchos de 9 a 5 trabajos no implican mucho codificación . No implican muchas iteraciones a lo largo del ciclo de vida de diseñar nuevos programas y ver cómo funciona / falla ese diseño. Sin esa iteración, simplemente no existe la práctica necesaria para que los programadores adquieran habilidades básicas de diseño de programas.

Y no implican mucho aprendizaje. Los programadores que incluso simplemente piratean las cosas en casa explorarán soluciones nuevas e interesantes sin las limitaciones de las grandes empresas.

    
respondido por el Telastyn 24.04.2012 - 21:38
1

No es tan detallado como el Test de Joel, pero pedirles que escriban un programa de zumbido de Fizz será una buena indicación para ver si pueden codificar.

enlace y enlace

Eso no le dirá acerca de la madurez de la ingeniería de software de la persona, pero se eliminará lo peor.

    
respondido por el Vincent Hubert 24.04.2012 - 21:16
0

Eh, tengo reparos con la redacción al principio. No es "¿has usado X" o "¿Sabes de Y"? Es una cuestión de usar y hacer. Cualquier programador que no haya tocado o escuchado sobre los elementos en la prueba de Joel simplemente se desconecta y necesita obtener una pista. Pero tienes razón, las tiendas de código fallan en la prueba de Joel porque la gente en las tiendas deja que falle. La única defensa que puedo ver es la siguiente: "Lo intenté, pero no tenía la autoridad. Y ahora me inscribo aquí".

    
respondido por el Philip 15.02.2012 - 22:48
0
  

¿Utiliza control de código fuente?

Sí, pero

  • Realmente no te dice nada.
  • ¿Cómo sabes si reenvío fusionado?
  • ¿Cómo sabes si hago cambios antes de empujar?
  • ¿Cómo sabes si compilo antes de ingresar al repositorio?
  

¿Puedes hacer una compilación en un solo paso?

  • Sí, nuestro líder de CI escribe guiones y los ejecuto en powershell.
  

¿Realiza construcciones diarias?

  • Nuestro servidor CI lo hace
  

¿Tienes una base de datos de errores?

Sí, pero no lo he configurado y no lo administro, simplemente lo uso.

  

¿Corrige errores antes de escribir un nuevo código?

  • En un mundo perfecto donde tengo recursos ilimitados, sí lo tengo. En el mundo real a veces me veo obligado a registrarlos y trabajar en otra cosa.
  

¿Tiene un calendario actualizado?

No, ese no es mi trabajo.

  

¿Tienes alguna especificación?

Me dan una especificación, luego la analizo y produzco documentos relevantes.

  

¿Los programadores tienen condiciones de trabajo silenciosas?

  • ¿No me contratarán si escucho música, hablo con mi colega y hago una broma? El desarrollo de software se supone que es creativo: las condiciones de trabajo varían de una organización a otra.
  

¿Usas las mejores herramientas que el dinero puede comprar?

No sabes cuáles son las mejores herramientas y si crees que sí, siempre habrá alguien para defender tu punto.

  

¿Tienes probadores?

Sí. En realidad, sí, y no son muy buenos, pero eso no estaba en la pregunta.

  

¿Los nuevos candidatos escriben un código durante su entrevista?

Sí y fallan. Sí y pasan. ¿Qué te dice esto?

  

¿Haces pruebas de usabilidad en el pasillo?

No, pero ¿y si hacemos algo mejor?

Para concluir:

  • Esta prueba podría funcionar bien en un mundo académico perfecto donde todo funciona, todos se llevan bien, comparten conocimientos y hay recursos ilimitados.
  • Lo que quieres saber es qué tipo de ingeniero soy. Las respuestas simples a nivel de bits no le dirán nada útil y creo que alguien tiene que ser muy ingenuo para enamorarse de ellas.
  • Las respuestas anteriores, tanto negativas como positivas, no te dicen nada acerca de mi capacidad para producir código limpio.

Esto no es una perorata, pero me interesaría mucho saber qué tipo de desarrollador crees que estoy basado en las respuestas que he proporcionado. Esperemos que esto demuestre mi punto.

    
respondido por el CodeART 24.04.2012 - 22:03

Lea otras preguntas en las etiquetas