Vería el código y lo evaluaría en varias categorías.
- Funcionalidad: hace lo que se supone que debe hacer, es decir, el camino feliz. ¿Cómo se comporta en algunos de los caminos infelices?
- Mantenibilidad: ¿se puede mantener el código? ¿Qué tan complejo es? ¿Es demasiado simple para la tarea que se supone que debe hacer? ¿Es demasiado complejo? ¿Hay alguna parte “elegante”? Si los hay, ¿tienen sentido? Si se puede hacer de manera simple, debe serlo, si alguien lo escribió con elegancia cuando no era necesario, eso es una señal de alerta, porque la persona no lo hizo simple. ¿Hay comentarios? ¿Hay muchos comentarios? Verificaría algunos comentarios para ver si tienen sentido. Muchas veces la gente actualiza el código y deja el comentario, y si ese es el caso, es una gran señal de deuda tecnológica en esa base de código.
- Seguridad: ¿el código se escribió teniendo en cuenta la seguridad? ¿Se suscribe a las mejores prácticas para el tipo de código que es, por ejemplo, si es su código web, se ajusta a OWASP? Si no se ajusta a las mejores prácticas, entonces es una mala señal.
- Pruebas unitarias. ¿El código tiene pruebas unitarias? En caso afirmativo, ¿tiene una cobertura decente? ¿Las pruebas unitarias tienen buenas afirmaciones? Es difícil argumentar en contra de las pruebas unitarias, especialmente hoy en día.
Esa es una muestra de lo que sería mi evaluación.
- En la industria del software, ¿qué idioma se usa más?
- ¿Cómo se puede aprender ingeniería de software desde no saber nada hasta ser un profesional en línea?
- ¿Cuánto tiempo de desarrollador se ahorra debido a las buenas herramientas de depuración?
- ¿Las aplicaciones de Facebook, Twitter, Skype, Quora, Instagram, etc. son solo un conjunto de programas?
- ¿Hay algún buen bootcamp, como Code Fellows, DevBootCamp para dispositivos móviles (iOS / Android)?