He visto los 3 títulos (y algunos más) usados de manera intercambiable. Muchas compañías asumen que son lo mismo, muchas diferencian los títulos en gran medida. En general, todos implicarían algún aspecto del desarrollo de un sistema de software. Históricamente, creo que también ha habido cierta influencia académica en los títulos de trabajo. En mi experiencia he visto:
Programador:
No he visto muchas ofertas de trabajo solo para “programador”, pero generalmente asocio ese rol / título estrictamente a la programación de computadoras (codificación). Esta persona estaría específicamente escribiendo código, en un idioma específico, para un proyecto específico. Muchos colegios imparten cursos de “Programación aplicada” que les permiten a los graduados ingresar rápidamente a la fuerza laboral con una habilidad lingüística específica. Los cursos de videojuegos en la universidad, por ejemplo, enseñan un conjunto de herramientas específico para una plataforma específica, lo que permite a sus estudiantes hacer una transición a la industria como “programadores”. El estereotipado “código mono” es a menudo un “programador de computadoras”.
Desarrollador:
Por lo general, tiene algunos prefijos: desarrollador web, desarrollador de aplicaciones, desarrollador de software. Creo que ha habido cierta confusión con este rol de “desarrollador” específicamente en el desarrollo web porque a menudo incluye todo, desde el desarrollo de frontend desarrollador / backend y, a veces, incluso el diseño gráfico. Algunos diseñadores gráficos convertidos en programadores se llaman a sí mismos “desarrolladores web” sobre “programadores web” para evitar confusiones. Un “desarrollador de aplicaciones” podría trabajar en el diseño y la creación de software en una plataforma propietaria específica, en un entorno propietario específico. He experimentado “desarrolladores” que incluyen cualquier aspecto del diseño / arquitectura / desarrollo de un proyecto de software. Tiendo a pensar en un “desarrollador” como alguien que está involucrado en muchos aspectos de la fase de desarrollo de software, no solo en la codificación.
Ingeniero de software:
Este se pone complicado. Muchos empleadores y programadores de computadoras han comenzado a abusar de este título. * Formalmente *, Ingeniería de Software es una rama acreditada de la ingeniería. Puede obtener su P.Eng (en Canadá) o la Certificación de Ingeniería Profesional (en los estados), no sé cómo funciona en otras partes del mundo. Los sistemas de misión / vida crítica, como el software de guía de aviones, los reguladores de instrumentos médicos (con suerte) son administrados estrictamente y requieren este tipo de certificación (aunque esto no siempre es así).
- ¿Está bien dejar mi primer trabajo de TI después de 6 meses?
- ¿Cuál es el primer paso para ser un IT?
- ¿Cuál es la diferencia entre CS e IS?
- ¿Por qué los SSD necesitan el comando TRIM, a diferencia de USB y SO?
- ¿Cuáles son las diferencias entre las estructuras de los cursos de informática y de informática?
En la práctica, Software Engineering se ha utilizado como un término más general que describe el desarrollo de software por alguien que tiene un M.Sc / B.Sc en Ciencias de la Computación o equivalente. Esto incluye experiencias o capacitación en prácticas de ingeniería de software como pruebas, diseño, desarrollo, proceso, etc. Desde la perspectiva de los empleadores, este es un título más flexible y más atractivo para los empleados internacionales porque se incluye la parte de “Ingeniería” del “Ingeniero de software” en la lista del NAFTA de profesiones permitidas. Una computadora “Programador” o “Desarrollador” no podrá obtener fácilmente una VISA de trabajo. Un “ingeniero de software” tendrá muchas más posibilidades.
Una vez más, algunas personas tratan estos títulos como sinónimos, yo personalmente no. Si usted es un empleador que está tratando de establecer un título de trabajo, trate de describir qué hará esta persona. Personalmente, he ocupado puestos de trabajo con los 3 títulos enumerados en algún momento, y tenía diferentes funciones (como se describe anteriormente) mientras mantenía cada título. Desde mi experiencia, y un poco de navegación rápida en glassdoor.com mostrará las expectativas de salario como: $ Soft Eng. > $ Developer> $ Programmer pero obviamente siempre hay excepciones.
Espero que esto dé una idea, por favor comente si no está de acuerdo, esta es solo mi perspectiva. Puedes llamarte a ti mismo como quieras, he visto a un “Ingeniero de Arquitectos de Software Sr.” escribiendo código html todo el día …