En mi experiencia, antes de comenzar a trabajar para una empresa, no tiene la oportunidad de mirar el código base (he preguntado y por razones de confidencialidad todos siempre han dicho que no, creo que es justo), así que durante el proceso de la entrevista, qué ¿crees que son las preguntas más importantes para averiguar en qué tipo de estado se encuentra el código (después de todo, si es un perro, entonces estarás entre los desafortunados pobres que tienen que caminarlo todos los días)?
ACTUALIZAR:
Una lista de verificación: preguntar;
- Lo que piensan de la base de código. Y cuando lo haga, preste mucha atención a las expresiones faciales y al tiempo que les toma responder. [Luego]
- ¿Cuál es el nivel CMM de la empresa [DPD] (y si escucha que el Nivel 5 se ejecuta en sentido contrario [Doug T])
- Qué ciclo de vida usan [DPD] (Y si escuchas "Agile", es cuando comienzas a hacer algunas preguntas penetrantes para tratar de descubrir si por "Agile" se refieren a "Agile o" codificación de vaquero "[Carson63000])
- ¿Qué herramientas usan para evaluar la calidad del código? [DPD]
- ¿Qué herramientas usan para el desarrollo? [DPD] (Busque herramientas de refactorización y servidores de compilación continua)
- Qué sistema de código fuente (control de versiones) usan, y un buen seguimiento es preguntar por qué lo usan. [Zachary K].
- ¿Cómo son sus procedimientos de prueba? [Karl Bielefeldt] (Busque especialmente los equipos que usan marcos de trabajo burlones y ponga énfasis en pruebas de unidades automatizadas exhaustivas a través de marcos establecidos como NUnit / JUnit; no se desanime por los equipos que no usan TDD de desarrollo basado en pruebas, pero sea Tenga cuidado si no consideran que las pruebas son parte integral y la piedra angular del desarrollo de software sólido. Busque equipos con evaluadores dedicados).
- ¿Qué tipo de tareas se asignan a los nuevos desarrolladores? ¿Para desarrolladores experimentados? [Karl Bielefeldt]
- ¿Cuántas personas trabajan en un proyecto? [Karl Bielefeldt]
- ¿Se permite la refactorización? ¿Alentado? [Karl Bielefeldt]
- ¿Qué procesos relacionados con la calidad o cambios de arquitectura se están considerando o se han realizado recientemente? [Karl Bielefeldt]
- ¿Cuánta autonomía tienen los individuos sobre sus módulos? [Karl Bielefeldt]
- ¿Desarrollará proyectos más nuevos (desarrollo greenfield) o proyectos heredados (desarrollo brownfield)? (El desarrollo de Greenfield es generalmente más divertido y tiene menos problemas ya que no está limpiando los errores de otra persona).
- ¿La tasa de rotación de empleados es alta en la organización o en el equipo? (Esto a menudo indica una calidad de código inferior) [M.Sameer]
- Algunos problemas de programación propios; pero evita parecer un imbécil. [Sparky]
- ¿Cómo colaboran los desarrolladores y cómo se comparte el conocimiento entre el equipo? (Esto debería coincidir con su personalidad; diría que una combinación de trabajo en solitario y en pareja es probablemente la mejor, con la proporción que coincida con sus necesidades sociales)
- ¿Qué tan cerca está su base de datos de la 3ra forma normal (3NF) y si se desvía de dónde y por qué? (Si dicen "3NF ???", váyase. Si no, y puede haber buenas razones para no hacerlo, descubra cuáles son).
NOTA: He aceptado la respuesta de Anon porque después de aproximadamente una semana, la comunidad cree que es la mejor, creo que esto sugiere que es algo para lo que de alguna manera necesitas desarrollar un sexto sentido. Pero, creo que todos han tenido algo valioso que decir.