Diferencias entre un Ingeniero Informático y un Programador.


Un tema muy común que hay en la actualidad y que atañe bastante en el país es que la gente no sabe diferenciar un Programador de un Ingeniero Informático / Sistemas / Software. Para muchas personas, compañías y organizaciones no existe tal diferencia, pero realmente si existe y es la siguiente:


La Ingeniería informática / Software es una disciplina que lidia con el diseño, desarrollo, operación y mantenimiento de software. La gran diferencia entre un Ingeniero informático / Software y un Programador, es que el Programador generalmente solo se preocupa por depurar errores, implementar nuevas funcionalidades, y darle mantenimiento general a la aplicación. El programador realmente no tiene noción de presupuesto, planeación o requerimientos del proyecto.


Cuando un Programador (o Ingeniero) sin experiencia en las áreas descritas anteriormente decide tomar el rol de Ingeniero de Software; generalmente los proyectos se entregan tarde, no cumple con todos los requerimientos o se excede el presupuesto inicial del proyecto y el proyecto entra en una crisis del software.

El trabajo de Ingeniero de Software / Informático es precisamente el de evitar la crisis del software.

Por ejemplo:

Se encarga de recolectar los requerimientos.
Analizar los requerimientos.
Crear la especificación de la aplicación.
Validar los requerimientos.
El proceso anterior se le conoce como Ingeniería de Requerimientos:

El resultado de la Ingeniería de Requerimientos es un conjunto de modelos de comportamiento, modelos contextuales y modelos de procesos de negocio que el Ingeniero de Software analiza para entender el problema, diseñar una solución y crear un plan de trabajo/calendario de hitos.

Los Ingenieros de Software / Informáticos típicamente tienen un plan que les permite controlar y monitorear el progreso del proyecto. Esto permite a Ingenieros Informáticos /de Software entregar proyectos a tiempo, con el presupuesto inicialmente acordado y que cumple los requerimientos iniciales.

Es hasta el final de la "cadena" donde entra el papel del programador: la implementación del proyecto (programar).

El gran problema de la Ingeniería Informática / de software es que dado a que es un campo que relativamente apenas emerge (o al menos no tiene cientos de años de existencia como, por ejemplo, Matemáticos) muchos programadores se auto denominan "Ingenieros de Software" cuando realmente son solamente programadores.

¿Qué carrera es mejor?

Ninguna de las dos!

Ambas carreras son igualmente interesantes y se enfocan en diferentes áreas del desarrollo de Software.

Como Ingeniero Informático / de Software vas a pasar la mayor parte de tu día de trabajo en junta con equipos de marketing y negocios. Posteriormente, vas a pasar otra buena parte de tu día administrando proyectos, diseñando diagramas, haciendo gráficas de Gantt, etc.

El Ingeniero de software / Informático tiene que ser una persona multidisciplinaria que sirva como "interprete" entre los empleados técnicos y los no técnicos en una compañía.

Por otra parte, el programador invierte la mayor parte del día, válgase la redundancia, programando. Así que si prefieres estar la mayor parte del día programando, experimentando lenguajes, aprendiendo nuevas tecnologías, entre otras cosas; Entonces la carrera de programador es mucho mejor opción para ti.

Sin embargo, el mundo real es muy diferente al mundo académico.

Es muy probable que, independientemente de la carrera que escojas, inicies trabajando como programador y eventualmente transiciones como Ingeniero de Software / Informático.

Comentarios

  1. Es verdad hay que diferenciar los roles y especificaciones de cada profesional. Para eso se especializan los profesionales.

    ResponderBorrar
  2. y que diferencia hay entre el Ing. de Sistema, Software & Informatica...??

    ResponderBorrar
  3. Y tu como te defines? les dejo este video bastante interesante https://youtu.be/9LfmrkyP81M
    Creo que somos muy pretenciosos para aceptar que como ingeniería aun estamos muy inmaduros

    ResponderBorrar
    Respuestas
    1. Yo soy de la epoca que habla este tio... mi primer ordenador fue un ZX Spectrum, contemporáneo del Commodore 64 que enseña en el vídeos... no me llegaba para el Commodore XD

      Borrar
  4. Ingenieria de requerimientos, gráficas de Gantt.... acaso aun estamos en la edad de piedra :)

    ResponderBorrar
  5. Yo llevo desarrollando software hace unos 30 años, y no coincido mucho con lo que tu indicas... Requerimientos y analitica dependen sobre todo de un analista funcional, mientras que arquitectura de software y programación de un programador.

    El error más común es que la gente entiende que cuando un programador "evoluciona" se convierte en analista y se encarga de gestionar proyectos y eso es un error garrafal. Más bien son dos ramas paralelas: Jefe de Proyecto/Analista funcional por un lado y Arquitecto de Software/Lead developer/Desarrollador senior y desarrollador.

    Un desarrollador o programador normalmente evoluciona en cuanto a arquitectura de software, y es MUY diferente su labor que la que tiene el analista funcional o el gestor / jefe de proyectos. Ya que mientras estos se ocupan de tomar conocimiento del cliente y de plasmar qué tiene que hacer la aplicación, el arquitecto de software es quien decide a partir de ese planteamiento cómo se va a hacer, va a organizar los componentes técnicos, librería, metodologia de implementación, etc... que requiere el proyecto.

    Saludos!

    ResponderBorrar
  6. Gracias por esclarecer las diferencias entre Arq. de Software y Jefe de Proy. Joan Vilariño, pero en los años como Desarrollador he visto que en algun punto el Desarrollador Senior si quiere ser Jefe de Proyectos debe de volver a inicar el estudio de como ser un Lider,Jefe etc., Hago una comparación, no por discriminar a las mujeres y encasillarlas en un rol. "Si una mujer quiere ser una buena ama de casa, debe tene ya un conocimiento claro de como planchar, hacer la comida, bañar a los niños etc.," asi sucede con los jefes de proyectos informáticos debe de primero pasar por un entrenamiento previo (programando) y no esperar a la evoluión del cargo. Por eso no esperar 20 años programando y despues aspirar a ser Jefe, esta decisión se la debe de tomar en menos de 5 años a mi modo de ver.

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

DE LA INTELIGENCIA REAL A LA INTELIGENCIA VIRTUAL

Actualización de Firefox OS 1.0 y 1.1 a Firefox OS 1.3 , 1.4 Y 2.0