¿Debería un programador necesitar buenas habilidades de depuración?
Sí. Dicho esto, le pediría que considere que la metodología en la entrevista (es decir, estilo de prueba / prueba) no es perfecta (está bien, es defectuosa) en que muchas personas encuentran que el código en papel es una experiencia extraña y desconocida.
Dado que la depuración es un proceso , no la respuesta o el resultado (por ejemplo, el error ), sugeriría usar un diálogo o discusión interactiva como un mejor medio para evaluar las habilidades de depuración de un candidato. Si bien la mayoría de las personas utiliza un sistema informal de depuración ad hoc, los buenos candidatos tendrán un patrón similar en general, de hacer preguntas para comprender el sistema o los supuestos y los requisitos, luego aislar el problema (a menudo dividir y conquistar) y comparar metódicamente el código de los requisitos, y evaluar espera de entrada / salida, en lugar de un buen o mal grado de cambiar un montón de cosas a la vez sin orden ni concierto hasta que funcione.
También expreso reservas sobre los problemas de rompecabezas durante las entrevistas, particularmente en forma escrita, como si el candidato no tuviera los supuestos correctos del marco de referencia (el truco), el rompecabezas puede ser imposible de resolver para ellos. Es decir, muchos acertijos de entrevistas sufren de tener un único camino correcto, mientras que la vida es complicada y los pensamientos más creativos son aquellos que adoptan enfoques sorprendentemente novedosos para resolver un problema que puede no funcionar con un rompecabezas precocinado particular, con una solución esperada . Es como esperar que todos los trompetistas toquen jazz. Esto se puede manejar haciendo la pregunta como una discusión interactiva sin confrontación (la presión puede confundir la creatividad). Nuevamente, para mí, la respuesta es secundaria para ver que se expresa un buen proceso de pensamiento. Es probable que deba pedirles que piensen en voz alta, pero esto tiende a ser más productivo en mi experiencia.
No he leído ni evaluado el por qué fallan los programas de Zeller , pero puedo recomendar Debugging by Agans como una lectura corta y rápida que puede ayudar a solidificar el proceso de depuración ad-hoc en un esfuerzo más estructurado, concreto y organizado, que puede ayudar a Ser más eficiente en la depuración. También imprima una copia y cuélguela en su cubículo o solución alternativa, el póster de Reglas de depuración , es un recordatorio perfecto para esos días malos en los que nada parece salir bien. Tengo pocos días malos y paso menos tiempo depurando activamente (léase: rascándome la cabeza confundido ) tratando de seguirlos en espíritu, si no en letra.