Desarrollo de páginas web

SOFTWARE WEB Y APPS – Somos un equipo de profesionales multidisciplinarios con una experiencia de más de 5 años creando estrategias exitosas en desarrollo y diseño de paginas web, tiendas virtuales y aplicaciones móviles android y iOS.

Diseño de páginas web

Diseño de aplicaciones móviles

Gestor de Contenidos (CMS)

Diseño de tiendas virtuales

Chatbots para facebook messenger.

Contacto


Contactanos via telefonica o via correo electrónico estamos para brindarte el mejor servicio.

55 72-59-91-69

ventas@desarrollodepaginasweb.com.mx

CDMX Lunes a Viernes de 9 a 18 hrs

ventas@desarrollodepaginasweb.com.mx

55 7259-9169

Top

DIFERENCIA ENTRE INGENIERO DE SOFTWARE Y PROGRAMADOR

En foros o grupo de programación son comunes las preguntas respecto a ciertas carreras o roles, sobre todo entre Ingenieros de Software y programadores, en este artículo hablare de estos dos conceptos.

Ingeniero de software

ingeniero de software

Primero hablemos de la ingeniería de software. Es una disciplina en donde se ven diferentes enfoques, metodologías y formas de generar software. El principal objetivo de estudiar esta carrera es el de contar con los conocimientos de las herramientas, técnicas y métodos para desarrollar software de calidad y resolver todos los problemas que se presenten durante el desarrollo del mismo.

La complejidad de esta carrera es que se tratan áreas que en algunos casos no se esperan cuando iniciamos, por ejemplo análisis de los requerimientos del sw, modelos para trabajar, arquitecturas sobre la cual se va a trabajar, calcular tiempos de desarrollo, calcular costos, diseño del software(diagramas UML) y todo el ciclo de vida del software. Muchas de esas oportunidades se presentan con diferentes variables, no todas las compañías tienen los mismos presupuestos, empleados, tiempos y conocimientos, están son las razones por las que se eleva la complejidad de abordar los problemas desde esta perspectiva.

Además el ingeniero de software está involucrado por ejemplo en la recolección de los requerimientos para poder estar empapado del proceso y tomar las decisiones correctas, también le tocaría entonces analizarlos y tomar decisiones, finalmente especificar los alcances de la aplicación y valorarlos para que se defina el proyecto y se cumplan los objetivos trazados, el ingeniero de software debe conocer sobre cada una de las etapas del ciclo de vida del software incluyendo la etapa de desarrollo(implementación o codificación) en la cual el programador se desempeña, sin embargo, también puede ejecutar esta etapa.

Programador

Programador de páginas web

Por otro lado un programador podría ser visto como el encargado de que los requerimientos, métodos, contratos y otros elementos que se deciden previamente ahora sean convertidos en código para que se puedan colocar como parte del software.

Muchas veces se piensa que el Ingeniero de software tiene mayor relevancia sobre el proyecto y esta es la clásica discusión de qué rol es mas importante para la compañía.

Podemos entonces decir que un ingeniero de software es cierto que cuenta con un panorama mucho más amplio de lo que involucra el desarrollo, aunque un programador con unos años de experiencia seguramente también lo nota y no se sorprende al conocer todos los elementos involucrados.

El programador por otro lado puede alcanzar un nivel técnico alto sobre ciertos elementos tecnológicos y además seguramente conoce y se adapta más rápido al proyecto ya que es quien planta las bases de muchas partes del proyecto. Muchas veces el programador cuenta con una gran habilidad de autodidacta, esta se desarrolla en muchos casos de manera natural con la experiencia en proyectos que se combina con el desarrollo de tecnologías.

El programador en sus inicios seguramente no entiende algunas de las decisiones tomadas dentro de los sistemas que programa ya que no cuenta con el panorama completo y no tendría porque. Su objetivo es el de codificar y no el de planear.

Muchos programadores se encuentran de manera recurrente en el punto de cuestionar las decisiones, esto no significa que las cosas no se hagan bien. Significa que existe la posibilidad de que al no conocer el sistema como un todo y sus funciones se puede pensar en soluciones erróneas.

Con lo mencionado anteriormente podemos ver que no existe rol pequeño o grande en el desarrollo de software, cada uno de los roles que hemos descrito son importantes y ambos merecen respeto, lo importante es entender que cada uno tiene su rol y que la persona que quiera asumirlo debe de conocer las propiedades del puesto para poder saber si es el que mejor le acomoda, esto debería ser algo elemental para seleccionar el rumbo profesional que queremos seguir y entender mejor como nos podemos preparar.

Algo que es importante para ambos puestos es trabajar en equipo, es muy probable que ambos puestos tengan que trabajar con otros desarrolladores, ingenieros, diseñadores y otras áreas para generar software de alta calidad.