¿Cuál es la diferencia entre un ingeniero de software y un desarrollador de software?

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.

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.

Incluso esto se usa sin mucho cuidado, ¡hay una diferencia en sentido real!

Simplemente es como

Desarrollador de software: hace lo que se le pide que haga (o encuentra una forma que se practica comúnmente, pero que puede no ser la forma exacta). desarrollar prueba si está funcionando, hecho

Ingeniero de software: no puede terminar el trabajo simplemente al completarlo. Miras el requisito / escenario / flujo en una perspectiva lógica y de ingeniería. Diseñar / contrarrestar / proponer alternativas / buscar optimizaciones / pensar en consecuencias futuras, etc.

No hay uno Dos nombres para el mismo trabajo. Análogo a abogado y abogado.

Quizás las personas que se hacen llamar ingenieros de software tienen más probabilidades de tener grados más altos o egos inflados dependiendo.

El desarrollador de software es el título más común.

Un ingeniero de software se dedica al desarrollo de software; Sin embargo, no todos los desarrolladores de software son ingenieros. Ingeniería de software significa aplicar principios de ingeniería a la creación de software.

Desarrollo de software versus ingeniería de software

La distinción varía según dónde se encuentre en el mundo.

En algunos lugares, hay muy poca distinción, mientras que en otros lugares un ingeniero de software desarrolla software para sistemas embebidos.

El desarrollador de software es lo que le dices a la gente a qué te dedicas. Podrías ser un pasante o un arquitecto de software o un probador y seguir siendo un desarrollador de software. Ingeniero de software es un título que se le otorga para que conozca su lugar en su organización.

Aquí está la diferencia:

Si estoy hablando con otros ingenieros / desarrolladores / programadores de software, creo que existe una gran posibilidad de que usemos uno de los dos últimos términos.

Si estoy en una función familiar y mi familia (tías, tíos, etc.) me pregunta qué hago, probablemente diría ingeniero de software. Suena un poco más sofisticado y hay una mayor probabilidad de que probablemente digan “¡oh wow!” En lugar de “¿qué hace un desarrollador de software?”

En realidad, la única diferencia parece ser lo que las empresas llaman a su equipo de desarrolladores. Algunas compañías los llaman ingenieros, otros los llaman analistas, etc. No creo que ninguna empresa contrate por el hecho de que tienes un ingeniero de software versus un desarrollador de software en tu currículum.

El desarrollo de software parece no ser tan bueno como la ingeniería de software. Pero más bien es solo una mierda corporativa. 🙂 Llámalo como quieras: esto es solo nombrar. Al final, lo único que importa es si el trabajo se realiza a tiempo y con una calidad aceptable.