☕ Desarrollador de Software vs Programador

Publicado por Ewaldosoft en

Por: JNZ Blog

El punto de partida:  De nada sirve un software que nadie utiliza; aun así sea el mejor
programado, de nada sirven las lineas de código
. (mi opinión)

Introducción:
Es importante resaltar que el software se crea para cumplir alguna función, si no fuera así… para que se desarrolla? en este punto donde se hace necesario comprender los roles y actividades que realizan los programadores y los analistas, ya que en conjunto entregan al cliente o usuario final algo que le representa valor y utilidad.

Otra aspecto importante de resaltar para poder entender el proceso de desarrollo de software y el papel que juega tanto el programador como el analista, es como el software se ha convertido en una herramienta muy importante para el manejo de las empresas, pero hasta que punto los programas informáticos se adaptan al negocio, y no ha sido el negocio que se ha visto alterado para funcionar con ellos?

Con la interrogante anterior, puede analizarse el software desde varias perspectivas:

  • Su funcionamiento como tal, basado en los procesos computacionales.
  • La funcionalidad que provee al negocio, es decir, la medida en que ofrece soluciones a procesos de información en las organizaciones.

Con estos puntos de vista, puede diferenciarse “el objetivo” del software, y “como funciona”.

Como puede observarse en la figura, ambos roles no son necesariamente excluyentes (me remito a las capacidades de las personas), por lo que puede existir un area de conocimiento que es compartida (programadores que piensan en requerimientos, o analistas que piensan en el código).

Por que estudiar la diferencia entre programador e ingeniero de software?

Esta diferencia se hace notable en un proyecto de desarrollo  en la medida en que el resultado(software) se apega a lo que debe hacer como lo hace.

Para entender mejor lo anterior, describo en la siguiente figura como es visto el software por cada uno.


Enfoques:  Programador (funcionamiento)    vs.    Ing. de software (funcionalidad)

Un ingeniero de software no se enfoca en entender como funciona el programa dentro de un sistema operativo, o por asi decirlo, dentro de la computadora.  Le importa que el producto (software) entregado cumpla con los requerimientos definidos, de forma que le entregue “valor” al cliente.
Su solución va centrada y orientada a cliente y sus requerimientos. (no tanto en el código), es decir, se enfoca en dar soluciones a los problemas planteados.
En resumen, un ingeniero de software esta enfocado en la funcion que proveera el software (uso que se le dara dentro de un negocio especifico), de forma que cumpla especificaciones.

El programador sabe como funciona el software, es decir, que algoritmos utiliza, como maneja la memoria, manejo de recursos del computador para poder realizar alguna tarea o procedimiento computacional.
Esta centrado en la tecnología utilizada, que involucra tanto el lenguaje utilizado, frameworks, APIs, cosa que el cliente no sabe y no quiere saber, pero es la estructura que sostiene todo el funcionamiento del software que maneja su información.

El cliente estará estara satisfecho en la medida que el software le sea “útil”, pero para lograr eso también debe existir código que pueda ejecutarse y entregar los resultados deseados.

Por lo anterior, resumo en que el ingeniero de software debe obtener los requerimientos del cliente(entender el negocio), para así trasladarlos a un esquema en el que el programador sabe que es lo que debe hacer para que se logre producir el “software”.

En otras palabras.

Por: Rosario Sanmartin Barrios

Ingeniero de software
No se enfoca en entender como funciona el programa dentro de un sistema operativo, o por asi decirlo, dentro de la computadora. Le importa que el producto (software) entregado cumpla con los requerimientos definidos de forma que le entregue “valor” al cliente.

Su solucion va centrada y orientada a clientes y sus requerimientos (no tanto en el código), es decir, se enfoca en dar soluciones a los problemas plantados.

En resumen, un ingeniero de software esta enfocad en la función que proveerá el software (uso que se le dara dentro de un negocio especifico), de forma que cumpla especificaciones.

Programador
Sabe cómo funciona el software, es decir, que algoritmos utiliza, como maneja a memoria, manejo de recursos del computador para poder realizar alguna tarea o procedimiento computacional.

Está centrado en la tecnología utiliza, que involucra tanto el lenguaje utilizado, frameworks, apis, cosa que el cliente no sabe y no quiere saber, pero es la estructura que sostiene todo el funcionamiento del software que maneja su formación.

Por lo anterior resumo en que el ingeniero de software debe obtener los requerimientos del cliente (entender el negocio) para así trasladarlos a un esquema en el que el programador sabe que es lo que debe hacer para que se logre producir el software.

Lo cual me lleva a concluir que uno hace o recoge todos los requisitos (ingeniero de software) y otro lo diseña de acuerdo al esquema (programador) son un poco parecidos al arquitecto y el ingeniero civil, bueno así los comparo yo no sé ustedes.

¿quién es mejor? ¿con cuál te identificas?, ¿cuál quieres ser en un futuro? Todas estas respuestas las responderás tú mismo cuando comprendas la labor de cada uno.

 


Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.