¿Por qué los ingenieros de software se consideran ingenieros?

¡Porque muy a menudo alguien que trabaja como “ingeniero de software” es en realidad un ingeniero capacitado, que se especializa en software!

Debe reflexionar sobre cómo surgió la industria de la informática y el software: los programas académicos de ingeniería de software solo se han establecido en los últimos 10 años más o menos. Y, sin embargo, el software se ha producido comercialmente durante más de 60 años. Esto se debe a que la creación de software es una práctica compleja de diseño e implementación para la cual muchas de las herramientas y procedimientos se crearon desde cero, evolucionando rápidamente en respuesta al mercado de computadoras y software. ¡Y todos logran enseñarse a sí mismos!

Hay una gran diferencia entre codificar una aplicación para su teléfono y entregar un sistema de fabricación, controlar un avión o aplicar un plan de tratamiento de radiación. ¡Y esto es algo que los ingenieros han hecho desde (probablemente) los romanos! Y si comparara a un ingeniero de software de BS recién creado, después de 4 años de experiencia en la industria (mínimo para un examen / licencia de educación física) con una barba gris de 25 años como yo, se dará cuenta de que el “recién acuñado” todavía necesita otros 10 años de condimento de la industria, para ser productivo en el papel.

Ciertamente, sería ideal tener certificaciones formales, como se hace con arquitectos, ingenieros mecánicos, civiles y eléctricos. Pero aún no sabemos cómo construir un software confiable, para garantizar que un software determinado sea seguro para el uso humano o que funcione durante 10 años en una determinada pieza de hardware.

Con suerte, el impulso de vehículos autónomos (camiones y automóviles) completará algunos estándares faltantes. Todavía no espero que una certificación de ingeniería de software sea viable por algunas décadas más todavía. Demasiado en la industria está cambiando. Demasiados estándares aún no se han establecido.

Por ejemplo, aquí hay dos programas de certificación competitivos, Carnegie Mellon (SEI) e IEEE (CSDP), ambas organizaciones muy respetadas.

SEI: Certificación SEI

No puedo encontrar muchos detalles sobre estas cosas, pero aquí hay una descripción general de las pistas de certificación:

Ahora, esto es más una certificación de Coursera o EdX. Por lo tanto, debe completar los espacios en blanco en cuanto a lo que podría parecer una “Certificación profesional de ingeniería de software”, pero no es muy prometedor cuando comienza a pensar en las cosas que faltan.

Más significativamente, no parece ser muy popular, mirando la lista de titulares de certificados (1529 en total):

Por algo más evolucionado …

CSDP: Profesional certificado en desarrollo de software – Wikipedia, 4 años de experiencia laboral (en comparación con 6 años de experiencia)

  • Requisitos de software 11%
  • Diseño de software 11%
  • Construcción de software 9%
  • Prueba de software 11%
  • Mantenimiento de software 5%
  • Gestión de configuración de software 5%
  • Gestión de ingeniería de software 8%
  • Proceso de ingeniería de software 5%
  • Métodos de ingeniería de software 4%
  • Calidad de software 7%
  • Práctica profesional en ingeniería de software 5%
  • Ingeniería de software economía 5%
  • Fundamentos informáticos 5%
  • Fundamentos matemáticos 3%
  • Fundamentos de ingeniería 4%

Puede ver toda la especificación SWEBOK V3 • IEEE Computer Society a partir de 2004. En cuanto a cómo se vería realmente un examen, no tengo idea. Pero todo lo que tenga que ver con la creación de aplicaciones para la nube, JSON, Python, Docker o cualquier forma de contenedorización / virtualización, desarrollo de aplicaciones móviles, sistemas integrados críticos de seguridad, ¡un poco demasiado contemporáneo! Así que esta guía está compilada y revisada a partir de 2004. ¡No quiero que nadie con conocimiento de 2004 trabaje en mis proyectos! Quiero gente con al menos certificación 2014 … 🙂

De todos modos, esto se está volviendo un poco despotricado … En resumen, las demandas del mercado y los avances tecnológicos son simplemente demasiado para que un proceso de certificación, como un Examen de Ingeniero Profesional, tenga sentido … y por mucho tiempo.

Un ingeniero es alguien que puede construir y arreglar cosas. Bueno, esa es la idea básica. Un ingeniero de software crea un software o lo actualiza. Supongamos que un software es un motor. Entonces, un ingeniero de software está desarrollando un motor, arreglándolo, actualizándolo. Entonces el ingeniero de software es un ingeniero. Ahora la pregunta es ¿por qué debemos considerar un software como motor? Hoy en día, cada sector tecnológico necesita un sistema informático. Todo el mundo se basa en el sistema informático. Incluso usted hace esta pregunta desde un dispositivo informático. Básicamente, el mundo gira en este motor: el dispositivo informático. Cuando la civilización descubrió por primera vez el motor, el mundo dependió de él. En ese momento, esas personas geniales que fueron pioneras en los motores se llamaron ingeniero. Ahora tenemos que todo el mundo dependía del sistema informático. Entonces, los ingenieros de software están usando sus méritos para actualizar este mundo de computación binaria. Entonces se llaman ingenieros. Recuerde, cuando descubrieron la rueda por primera vez, los descubridores también eran ingenieros. No importa lo que estudies o cuál sea nuestro campo ocupacional. Si estás desarrollando el avance de tu civilización, eres un ingeniero.

Los ingenieros son técnicamente los que diseñan y construyen algo, ya sea un automóvil o una presa, o incluso una botella de agua (para asegurarse de que la botella sea atractiva, tenga buen agarre, buen flujo de agua, etc.)

Hay algunas personas que se hacen llamar ingenieros aunque, técnicamente hablando, no lo son. A menos que uno diseñe algo, no puede llamarse a sí mismo, en mi humilde opinión, como ingeniero.

Hablando de ingenieros de software, confía en mí, hay softwares bastante complicados en cada producto. Ahora estoy hablando de productos como un enrutador inalámbrico, un teléfono móvil o un software que mantiene sus registros médicos en un hospital. Al diseñar y desarrollar un producto, los ingenieros (buenos) intentan hacer que el producto sea lo más eficiente posible. Para que eso sea eficiente, se debe usar el algoritmo correcto (o, a veces, se necesita desarrollar un nuevo algoritmo).

¿Alguna vez has pensado qué sucede debajo de tus aplicaciones de navegación, o un motor de búsqueda, o asistentes personales virtuales como Apple Siri o Google Okay Google?

More Interesting

¿Puedes trabajar como ingeniero aeroespacial o de software con una licenciatura en informática?

¿Hasta qué punto de tu carrera te llevó sentirte como un ingeniero de software profesional?

¿Debo cambiarme de una empresa multinacional a una startup de Big Data (totalmente rentable) en el mercado indio actual de TI si obtengo el mismo salario?

¿Qué problemas legales enfrentan los bancos cuando implementan la tecnología blockchain en sus sistemas?

¿Puede un ingeniero de software convertirse en un oficial de IAS sin dejar su trabajo?

¿Un nuevo grad SDE en Amazon codifica 8 horas al día en el trabajo? Si no es así, ¿cuánto se codifica realmente a diario?

¿Desde dónde y cómo empiezo a estudiar para ser ingeniero de software de robótica? ¿Qué asignaturas se necesitan?

Un interno de Amazon Seattle SDE gana $ 40 / h, mientras que un interno de Amazon India SDE gana $ 3 / h. ¿Cómo se justifica?

¿Cómo sugiere la Free Software Foundation que compañías como Microsoft generen ganancias? ¿Cómo deberían ganarse la vida los ingenieros de software independientes?

¿Qué tan fuerte es la industria de software de Israel y las calificaciones profesionales de sus ingenieros de software?

¿Cuáles son algunos buenos cursos de certificación para ingenieros de software con 1 año de experiencia?

Trabajo: ¿Realmente los ingenieros de Facebook, Google, Dropbox, etc. utilizan su conocimiento algorítmico en su trabajo diario o solo se usa como una forma de eliminar a los candidatos inadecuados?

¿Cómo nos preparamos (como ingenieros) para la singularidad?

¿Cómo es ser ingeniero de software en Austin?

¿Cuáles son las aplicaciones de la ingeniería de software en nuestro entorno diario?