¿La tecnología de la información es realmente ingeniería? [cerrado]

13

Mientras viajaba, conocí a un matemático que estaba sentado cerca de mí. En una discusión dijo: "... no hay nada como la ingeniería en TI o más bien la programación ". Una verdadera ingeniería es lo que es la arquitectura, lo que es eléctrico y mecánico.

Me hizo pensar y quedé perplejo. Un porcentaje de mi cerebro también estuvo de acuerdo porque en el Ejército de la India, no hay un tema como Ingeniería Informática en el Cuerpo de Ingeniería. No consideran la programación como ingeniería. Esto es lo que escuché hace unos años, no sé qué piensa el ejército indio ahora.

¿Cuáles son tus puntos de vista?

RPK
fuente
55
Mi opinión: está celoso de que le paguen más: P
Simon
44
En mi opinión, la arquitectura no es ingeniería
hiena
@hiena: de hecho, legalmente hablando, son profesiones diferentes, y la ley (dependiendo de su jurisdicción) legisla qué es Arquitectura y qué es Ingeniería.
Scott Whitlock

Respuestas:

17

Si seguimos esta descripción , somos 75% ingenieros, o 75% de nosotros somos ingenieros :)

A diferencia de otras disciplinas de ingeniería:

  • los desarrolladores de software no necesitan educación formal y / o licencias
  • es una disciplina relativamente joven y no tiene mejores prácticas comprobadas (como la construcción, por ejemplo)

Creo que esto va a cambiar en el futuro. Algún día seremos 100% ingenieros.


Ingeniero

fuente: http://en.wikipedia.org/wiki/Engineer

Un ingeniero es un profesional de la ingeniería, preocupado por la aplicación de los conocimientos científicos, las matemáticas y el ingenio para desarrollar soluciones a problemas técnicos.

La palabra ingeniero se deriva de la raíz latina ingenium, que significa "inteligencia".

Ocupación

  • Ingeniero de Nombres
  • Profesión tipo
  • Sectores de actividad Ciencias aplicadas

Descripción

  • Competencias Matemáticas, conocimiento científico, habilidades de gestión.
  • Se requiere educación Educación en ingeniería
  • Campos de empleo Investigación y desarrollo, industria, negocios.
  • Trabajos relacionados Científico, arquitecto, gerente de proyectos
Branimir
fuente
15

La ingeniería de software es ingeniería, pero TI o programación no lo son. Eso es muy parecido a la ingeniería mecánica es la ingeniería y la física o la soldadura no lo son.

La ingeniería de software es un campo increíblemente joven (en comparación con otras ramas de ingeniería), que en realidad es difícil de enseñar a la gente, porque no hay mucha experiencia para enseñar. Solo en los últimos 20-25 años el software se ha vuelto tan grande y complejo que la mera programación no funcionará.

Debido a esta deficiencia del conocimiento establecido, la ingeniería de software real rara vez se enseña. La única forma en que puede convertirse en un ingeniero de software decente es siguiendo el camino de un artesano: ser asesorado en el campo. Entonces, si bien la ingeniería de software es una disciplina existente, muy pocos están realmente en este campo. La mayoría de las personas están haciendo ajustes de software o sobreingeniería de software.

back2dos
fuente
¿Quieres decir que la ingeniería de software no incluye programación?
RPK
1
@RPK: difícil de decir, ya que soy más experto en software :) Pero básicamente creo que la programación es para la ingeniería de software lo que el edificio es para la ingeniería civil. El primero termina en caos sin el segundo y el último no tiene sentido sin el primero, pero los dos son relativamente distintos.
back2dos
@ back2dos: tendería a estar de acuerdo. Sin embargo, creo que los ingenieros de software casi tienen que saber codificar, mientras que los ingenieros civiles no necesariamente tienen que saber cómo soldar.
Michael K
1
Dígale a un ingeniero metalúrgico o de materiales que la soldadura no es ingeniería y que le cerrará la boca :)
Vitor Py
@Vitor Braga: ¿Cuál es tu punto? Realmente esperaría que un buen ingeniero entendiera la diferencia entre ingeniería y oficio. Y también me pregunto cuántos ingenieros metalúrgicos realmente sueldan en su trabajo.
back2dos
14

Los ingenieros de software en una empresa de ingeniería son ingenieros. Estoy hablando de lugares como contratistas de defensa, fabricantes de equipos, etc. Seguimos procesos rigurosos para: crear requisitos y documentación de diseño, hacer un análisis detallado de que el diseño cumplirá con los requisitos antes de escribir cualquier código, realizar revisiones de código y pruebas unitarias, planificar y realizar pruebas de integración y calificación. Los documentos son revisados ​​por juntas de pares y partes interesadas, las pruebas son presenciadas por la organización de control de calidad y los resultados se presentan al cliente para su aceptación formal. La ingeniería de software como se practica en estos lugares es un proceso riguroso y científico.

AShelly
fuente
1
100% de acuerdo. Trabajo en una empresa de infraestructura crítica. Nosotros diseñamos aquí.
Paul Nathan
8

Como un P.Eng real, diría, en general, no. Sin embargo, creo que los programadores y los ingenieros hacen un diseño significativo . Si la pregunta era "¿Son los programadores diseñadores?" Definitivamente diría que sí.

Sin embargo, la ingeniería profesional tiene que ver con ser legalmente responsable de sus errores, o al menos arriesgar el derecho legal de ejercer su profesión si comete un error. No importa qué tan malo sea un programador, puede salir mañana y poner legalmente "programador" en su currículum. Con un P.Eng. Si pierde su licencia, no puede llamarse un P.Eng.

La Ingeniería Profesional se crea para ser una profesión autorregulada, donde la profesión y el gobierno acuerdan ciertas tareas que solo pueden ser realizadas por personas con licencia. Hacen esto debido a un entendimiento mutuo de que el trabajo plantea un riesgo significativo para la seguridad del público.

Hay ciertos dispositivos controlados por software que deben ser sellados por un ingeniero antes de que puedan venderse (estoy hablando de dispositivos de seguridad industrial aquí). La persona que revisa y aprueba estos diseños es un ingeniero.

Scott Whitlock
fuente
¿Crees que la razón por la cual el desarrollo de software no está regulado de la misma manera que los campos de ingeniería es porque el riesgo es diferente o la relativa juventud de la programación como profesión? En aplicaciones como los sistemas de control para dispositivos médicos, sistemas militares y sistemas de simulación, parece que podría haber daños en el mundo real causados ​​por errores de programación. ¿O es que no hay una distinción fácil entre un desarrollador de sistemas de guía de misiles y un desarrollador de sistemas de cuentas desde un punto de vista amplio del gobierno / industria?
aubreyrhodes
@aubreyrhodes: me imagino que en ese caso hay un organismo regulador diferente para los dispositivos médicos, por lo que pueden quedar fuera del ámbito de la Ingeniería. Hay una línea muy estricta, por ejemplo, entre lo que es Ingeniería y lo que es Arquitectura. Si bien hay programación involucrada en muchas tareas, eso no significa que no necesite Ingeniería también. La ingeniería no es diseñar; Engineering dice: "Certifico que este diseño cumple con las pautas regulatorias, utiliza el conocimiento más actualizado de la industria, no representa un riesgo excesivo para el público y pondré mi carrera en eso".
Scott Whitlock
2

Yo diría que la mayoría de los programadores son en realidad software mechanics. Quiero decir, la mayoría de los programadores en la industria del software no hacen más que el mantenimiento del software y la corrección de errores.

mhitza
fuente
Creo que estás confundiendo la mecánica con el mantenimiento.
Torre
@Rook: ¿Pero qué hace principalmente un mecánico de automóviles?
Michael K
@Michael: me refería más a mech. engs. quienes hacen el desarrollo, en comparación con el mantenimiento.
Torre
3
@mhitza Su implicación es que la mecánica del software no construye componentes de software originales, sino que solo mantiene sistemas heredados. Dudo que la mayoría de los programadores solo hagan este tipo de trabajo. Diría que la mayoría de los programadores construyen nuevos componentes y sistemas de forma regular.
Morgan Herlocker
@Prof Plum: Mhitza es correcto. La mayor parte del trabajo de software radica en el mantenimiento porque la mayoría de los sistemas exitosos tienen una vida bastante larga. Conozco personas que han estado en este campo durante treinta años y que nunca han desarrollado nada significativo desde cero. Simplemente arreglan y modifican las bases de código existentes.
bit-twiddler
2

Hay algunas similitudes en términos de aplicación de habilidades, pero estoy firmemente en el campo del "no". La distinción no es difícil de hacer: las profesiones de ingeniería tienen juntas que gobiernan a quienes pueden llamarse ingenieros en base a su calificación y experiencia. La "Ingeniería de software" no tiene tal cosa (existen esfuerzos incipientes, pero no he oído hablar de ninguna repercusión por no pertenecer a uno). Cualquiera puede llamarse a sí mismo ingeniero de software y, por lo tanto, el título no le dice a un empleador nada sobre sus capacidades. Lo mismo ocurre con alguien que se describe a sí mismo como un "ingeniero de audio": no quiero comentar sobre el ingeniero de "vuelo" o "locomotora" porque no estoy seguro acerca de los tableros para ellos.

Personalmente, soy un informático que trabaja en un entorno académico; investigo, no solo construyo. También pasé algunos años en la industria, y me refiero a mi trabajo allí como "Desarrollo de software". No necesito pretender ser algo que no soy.

Antecedentes: estoy en Sudáfrica, donde afortunadamente el término ingeniero de software no se ha generalizado. Si los consejos de ingeniería en otras partes del mundo han desaparecido, tal vez la distinción no sea relevante allí. Si es así, es una lástima: prefiero vivir en un mundo con una junta de ingeniería de software profesional que una sin cuerpos para ninguna profesión.

iftheshoefritz
fuente
¡Concurrir! Yo también trabajo como informático en un entorno académico, pero pasé más de veinte años trabajando en investigación y desarrollo de software industrial antes de unirme a mi organización actual. Absolutamente odio que me llamen programador. Un programador es un artesano al igual que un maquinista es un artesano. La única diferencia es que los maquinistas son lo suficientemente inteligentes como para que se les pague por las horas extra.
bit-twiddler
Un ingeniero sin licencia todavía está haciendo ingeniería, al igual que un médico sin licencia todavía está practicando medicina.
DougM
1

Depende del país, de su definición, de su sistema académico, etc. Algunos, por ejemplo, no cuentan la arquitectura como ingeniería: a diferencia de la ingeniería civil, se considera más como una mezcla entre ingeniería y arte.

Todo depende de cómo lo mires.

Pero por qué es importante. Después de todo, ¿qué hay en un nombre?

Torre
fuente
3
Lamentablemente mucho. Un nombre como identificador no significa mucho, pero si le digo 'friki' a mi padre, él piensa 'asqueroso', mientras que si le digo a mis amigos, ellos piensan 'genio de la computadora'. Un nombre evoca una imagen en la mente del oyente y desea que esa imagen sea precisa.
Michael K
@ Michael - Uhmm, ese no era exactamente mi punto.
Torre
1

La próxima vez que alguien intente molestarte con el tema, pregúntale sobre los siguientes trabajos:

  • Ingeniero de locomotoras
  • Ingeniero de vuelo
  • Ingeniero de audio

Ninguna de esas posiciones tiene mucho que ver con la ingeniería eléctrica / mecánica / civil tampoco.

desaparecido en combate
fuente
1
Pero en realidad esas personas no son ingenieros profesionales (PE) y, por lo tanto, no son realmente ingenieros.
Vitor Py
@Vitor Exactamente el punto, ya que solo algunos programadores son ingenieros reales (certificados).
Brian Knoblauch
1

Personalmente, creo que somos ingenieros, quiero decir ... Puede que solo sea un programador, pero sigo creando e diseñando software a medida que modifico el código para que se ajuste, etc.

De todos modos, para mí es solo un nombre, me llamaron ingeniero en mi trabajo y me llamaron solo codificador, pero de cualquier manera es básicamente lo mismo.


fuente
1

La ingeniería de software es ingeniería.

Sin embargo, la mayoría de las personas que se hacen llamar ingenieros de software no son ingenieros. Muchos de los que no lo son son programadores y codificadores que no necesariamente siguen un proceso de ingeniería. No tiene nada de malo, ya que a) la codificación es fundamental para la ingeniería de software, y 2) es una ciencia en sí misma. Pero tener un proceso de ingeniería es fundamental para ser y trabajar como ingeniero. Ese es un grupo.

El otro grupo, desafortunadamente bastante grande, no son programadores / codificadores. Son solo hacks, monos codificadores que arrojan mierda a sus monitores y venden cualquier cosa (citada desde algún lugar, no recuerdo dónde). Un colectivo de tontos.

La influencia del grupo posterior es nefasta, venenosa e hilarante (en cierto sentido del humor negro), razón por la cual los ingenieros en otras disciplinas (erróneamente) se burlan de la noción de ingeniería de software, o piensan que la ingeniería de software y la informática son todo menos codificación (y por codificación, codificación de espagueti).

En resumen: hay una percepción negativa de la ingeniería de software entre muchas otras disciplinas establecidas más antiguas. Esa es una suposición equivocada.

Pero esa suposición errónea proviene de la observación real de que muchas personas que se hacen llamar ingenieros de software son nada menos que tristes caricaturas de monos lobotomizados que golpean los teclados con la esperanza de que, por casualidad, terminen escribiendo el TAOCP de Knuth.

PD ... Supongo que el matemático en tu historia está lastimado. Tenía esa mierda en el pecho porque Dios sabe cuánto tiempo, y tú fuiste simplemente la primera salida en dejar que eso salga a la luz.

luis.espinal
fuente
-1

Dado que el desarrollo de software es relativamente muy joven y evoluciona muy rápido, las fronteras entre técnico de software , ingeniero y científico no están bien determinadas / muy borrosas.

Rey gitano
fuente
1
El desarrollo de software no es TI. TI es una disciplina que se enfoca en configurar y mantener la propiedad intelectual (IP) existente. El desarrollo de software es una disciplina que se centra en crear una nueva IP en respuesta a una necesidad. El acrónimo IT no entró en nuestro léxico hasta que la convergencia de los sistemas informáticos y de comunicación creó la necesidad de un paraguas bajo el cual agrupar múltiples tipos de personal operativo técnicamente capacitado. Si uno trabaja en infraestructura, uno trabaja en TI. Si uno trabaja en desarrollo de software realizando trabajos orientados a proyectos, uno no está en TI.
bit-twiddler
Solucionado, mi error.
Gipsy King