En mi opinión, la ingeniería de software tiene dos partes: desarrollo de software y diseño de software. La respuesta dada por Binu Francis es correcta cuando se trata de aprender a codificar, que hay muchos recursos en línea (más de lo que enumeró, sin embargo). Pero esa es solo la mitad de la respuesta.
Creo firmemente que una vez que sepas cómo codificar, cambiar de idioma (en la mayoría de los casos) es cuestión de sintaxis. Por ejemplo, pude aprender PHP bastante rápido, debido a mi experiencia con C ++ y Visual Basic. Una vez que entendí los conceptos de un bucle, si / de lo contrario ramificación, funciones, objetos, etc., pude transferir mi conocimiento.
Pero la ingeniería SW es más. No solo necesita saber cómo hacer algo, sino cuándo . Debe poder diseñar un módulo o programa para que funcione de manera eficiente dentro del marco de su sistema. Para esto, recomendaría encontrar un mentor; alguien que pueda guiarte y enseñarte el oficio.
- ¿Cuáles son los rasgos de los grandes ingenieros de confiabilidad del sitio?
- ¿Qué aportes previos al curso son necesarios para unirse a un programa de B.Tech en informática?
- ¿Cuáles son los mejores bootcamps de análisis / ingeniería de big data en SF?
- ¿Qué significa 'semánticamente significativo'?
- ¿Cuáles son las mejores bibliotecas (en cualquier idioma) para hacer análisis de red?
Si bien no he tenido la oportunidad de hacerlo, entiendo que contribuir a un proyecto de código abierto puede ser una excelente manera de criticar su código. Aprenda de sus errores, preferiblemente haciendo que las personas (constructivamente) se los señalen antes de que causen problemas.
Y sigue codificando. Cuanto más familiarizado esté con el desarrollo de SW, más aprenderá. Entonces, aunque no conozco un paquete de software mágico que lo lleve a un ingeniero de SW, el objetivo es alcanzable, y creo que vale la pena.