Cómo entrenar para ser ingeniero de software

Una muy buena manera, al menos para empezar: ve a estudiar algunos proyectos de código abierto, los grandes y bien financiados.

No para estudiar el código, sino los artefactos en torno al código: control de revisión y las prácticas estándar que lo acompañan, sistemas de compilación, integración continua, pruebas, administración de versiones.

Lo maravilloso del código abierto es que puedes mirar dentro de la caja con todas estas cosas. Puede que no sean prácticas de vanguardia, pero puede ver todos los trabajos, incluidas las listas de correo electrónico que lo administran, aunque, por supuesto, muchas cosas pasan fuera de la lista en correos electrónicos privados, conferencias y reuniones.

Algunas sugerencias para proyectos a estudiar, sin ningún orden en particular: Python. Postgres. LLVM / Clang. Debian NS-3.

Elegí esos proyectos porque hay algo que aprender de cómo se organiza cada uno. El kernel de Linux NO es un ejemplo a seguir aquí, porque es inmensamente sutil que funciona en absoluto y lo meterá en problemas de recursos humanos si sigue esas prácticas dentro de una empresa; Si bien el proceso del núcleo funciona, no es repetible y tiene algunas características lamentables. Sin embargo, vale la pena estudiar la forma en que la gente del núcleo usa Git.

También hay algunos libros estándar que debe leer: “El mes del hombre mítico” es la lectura obligada absoluta, “El código completo” también es importante y “Apollo digital” es un estudio de caso fantástico en la gestión de proyectos de ingeniería que muestra cuán crítico lo es (desafortunadamente minimiza el papel de Margaret Hamilton, pero no se trata de ninguna de las personas individualmente, por lo que es perdonable). Hay muchas listas de otros libros útiles, debería encontrar algo bueno sobre los métodos ágiles y leerlo también.

More Interesting

Estoy estudiando el 11º estándar y quiero ser ingeniero de software, ¿en cuál debería centrarme más?

¿Cuál es el mejor sitio para principiantes en el dominio comercial para aprender terminologías comerciales?

¿Qué dicen los ingenieros de software destacados sobre la fecha límite del software?

¿Cuáles son algunos buenos temas nuevos para que un desarrollador de software experimentado les enseñe?

Tengo 2.6 años de experiencia en Visual C ++. ¿Me preocupa si es una buena tecnología continuar una carrera o no? ¿Hay otras compañías que usan esta tecnología?

He estado pensando en establecerme en Australia, ¿cuánto es bueno para un ingeniero de software y cuáles son los requisitos previos?

¿Cómo pasa un día un ingeniero de software?

¿Cuál es su opinión sobre el hecho de que un gran número de personas extremadamente inteligentes en el Valle están trabajando para tratar de hacer que más personas hagan clic en los enlaces?

¿Cómo son los ingenieros informáticos superiores a otros ingenieros?

¿Cuáles son los mejores equipos de ingenieros de software en Google?

¿Cuáles son algunos términos comunes utilizados por los ingenieros de software que todos deberían saber?

¿Es cierto que solo los ingenieros de software con algoritmos y estructuras de datos ganan mucho más que otros dominios?

¿Cuál es la diferencia entre Eclipse Mars y Eclipse Neon?

Como ingeniero de software, ¿cuántas líneas de código escribe en un mes?

¿Cuál es la dura realidad que un pasante de ingeniería de software debe conocer?