Hoy en día, se podría decir que ambos términos se superponen y se utilizan para describir contextos similares.
Originalmente, sin embargo, no fue así. La Ingeniería de Software era una vieja propuesta para aplicar muchos conceptos de ingeniería general al desarrollo de software. Dichos conceptos aparecen compilados en SWEBOK, y el Instituto de Ingeniería de Software certifica a los profesionales en esto. Dirían que “el desarrollo de software es simplemente programar ciegamente, la ingeniería de software sigue metodologías y estándares”.
Hoy en día es solo el instituto que certifica a los profesionales como “Ingenieros de software profesionales”, que se ha convertido en un “negocio” que le otorga certificaciones para obtener un trabajo o vender proyectos. Al final, Software Engineering ve a sus profesionales como personas que siguen enfoques de ingeniería bien definidos para la resolución de problemas, por lo que cualquier desarrollador de software competente también podría ser un ingeniero de software, pero, por supuesto, los ingenieros de software con sus costosas certificaciones le dirán lo contrario.
- ¿Cuáles son las oportunidades de carrera después de estudiar criminología?
- ¿Cuál es el alcance después de un entrenamiento de aprendiz graduado en Bosch?
- Cómo conseguir mi primer trabajo en Upwork
- ¿Es útil elegir una carrera en modelaje?
- Cómo escapar de un trabajo terrible
Sin embargo, en el mundo real, la verdadera ingeniería de software se ve como una ciencia condenada que es tan teórica que simplemente no se puede usar en proyectos del mundo real (piense en el antiguo UP, por ejemplo). Los artefactos que enseña la disciplina son casi como “programar con dibujos” o ir más allá, “cómo programar si no puede”, lo que puede verse como una pérdida de tiempo en una metodología que no es en cascada. Pero en mi opinión, ciertos aspectos son importantes y deben aprenderse al menos en el entorno académico, ya que le enseña una nueva perspectiva sobre el desarrollo de software y entrena su cerebro para modelar software antes de romper un teclado.
Hoy en día, todos los estudiantes de informática aprenden conceptos de ingeniería de software (lo que ha llevado a un uso informal común del término). Un equilibrio sensato aparece en compañías de software competentes donde solo usan ciertas partes de metodologías formales y se saltan todo lo demás, por lo que pueden APLICARLO a proyectos del mundo real. Por supuesto, no aprender conceptos de ingeniería de software sería totalmente inaceptable y no consideraría a nadie como un “ingeniero de software” si no conocen los conceptos teóricos de la ingeniería de software.