¿Cuál es la mejor manera de aprender sobre ingeniería de software?

¡Simplemente hazlo! Me enseñé a mí mismo a ser ingeniero de software, ¡tú también puedes!

Nunca ha habido un mejor momento para aprender ingeniería de software, con fácil acceso a software, recursos y aprendizaje en línea.

Simplemente mire un programa de BS o MS, en la universidad de su elección y use su programa como plantilla de estudio. Si no puede decidir, simplemente vaya a MIT Online. Han tenido su currículo académico completo en línea durante más de 10 años. Estos no son lo mismo que Coursera o EdX: estos son los cursos reales ofrecidos por el MIT que conforman sus programas de grado. Cualquiera sea su fuente, necesita una hoja de ruta para guiar sus esfuerzos.

Ciertamente tome algunos cursos MOOC (he hecho más de 15), estos son útiles. Pero también necesita la formación científica y de ingeniería, si aún no la tiene. Los MOOCs actualmente no hacen un buen trabajo aquí porque están tratando de mantener bajos los requisitos de entrada / antecedentes. Un ingeniero de software es mucho más importante que simplemente ser un “programador” o “codificador”.

Para mí, después de haber realizado un BS / MS y mucha programación científica, ¡simplemente leo libros! Aquí están los detalles en una respuesta anterior ¿Qué oradores de desarrollo de software, libros u otro material ha sido más influyente en su carrera?

Y si está más interesado en los sistemas embebidos de iones, aquí hay una respuesta que enumera esos recursos: la respuesta de Mike Sydor a ¿Cuáles son algunos libros de lectura obligatoria para la ingeniería de software embebido?

También he reunido muchas de mis respuestas sobre “ingeniería de software” aquí. Respuesta de Mike Sydor a ¿Por qué es común que las universidades ofrezcan especializaciones en informática pero no ofrezcan especializaciones en ingeniería de software?

Creo que la ingeniería de software es la mejor oportunidad que encontrarás hoy. No es para todos y un programa típico de CS no hace el trabajo. Si desea trabajar a la vanguardia de la tecnología y está preparado para mejorar continuamente sus habilidades, entonces la ingeniería de software es el camino a seguir.

Lo hice por

  • leyendo libros y luego aplicando cada nueva idea al código en el que estaba trabajando
  • leer códigos escritos por escritores de códigos mejores que yo
  • hablando con más desarrolladores senior sobre cómo abordarían mi problema

No puedo comentar sobre títulos de CS, ya que mi título era todo de electrónica analógica / digital.