Dejando a un lado que la definición de “muy buen ingeniero de software” es altamente subjetiva, diría que la elección del lenguaje podría ser una indicación sólida.
Compárelo con si la elección del instrumento define si alguien es un muy buen músico. Ciertos instrumentos son mucho más complejos de aprender y requieren más tiempo para dominarlos. Sin embargo, obviamente, todos los instrumentos tienen un lugar y una razón.
En lugar de solo mirar el idioma, primero miraría si una persona entiende el razonamiento detrás de un idioma. ¿Alguien realmente entiende los pros y los contras de un idioma? ¿Cuál es la razón para existir?
Saber diferentes idiomas (y de nuevo, los pros y los contras de cada uno) sería una indicación muy fuerte. Especialmente si esos lenguajes son de paradigmas diferentes y resuelven problemas desde un ángulo significativamente diferente.
- ¿Conseguir un trabajo de desarrollo de software será cada vez más difícil a medida que más personas quieran convertirse en desarrolladores de software?
- Soy un desarrollador de software, ¿vale la pena hacer MBA, dado su costo?
- Cómo cambiar de redacción técnica (3 años de experiencia) a desarrollador de software (PG en informática)
- ¿Cómo iniciar una empresa consultora de software con solo 25k USD? ¿Cuál sería el consejo que me darías?
- ¿Cómo hacen frente los introvertidos a las oficinas de planta abierta?
Pero para un ingeniero de software moderno, hay una serie de cosas que definen una buena ingeniería que están más en el entorno que en el lenguaje mismo. Por ejemplo, ¿existen buenas herramientas para la depuración, las pruebas unitarias (incluidos los marcos), prácticas como la integración y el despliegue continuo, etc.
No ser consciente de tales herramientas (si están presentes) y prácticas sería una preocupación para mí.