¿Cuál es la diferencia entre un desarrollador de software, un programador de software y un ingeniero de software? [cerrado]

He estado trabajando en el sector de TI como "desarrollador de software asociado" durante los últimos dos años. Al solicitar nuevos trabajos, he visto títulos de trabajo como "desarrollador de software", "programador de software" e "ingeniero de software", pero los requisitos a menudo parecen ser casi idénticos. ¿Hay alguna diferencia entre los roles asociados con estos títulos de trabajo?

En mi experiencia, los términos significan lo mismo y se usan indistintamente.
A veces, un programador tiene un salario un poco más bajo que un desarrollador/ingeniero, pero probablemente tenga más que ver con la empresa que con cualquier práctica común. Tal vez para hacer con menos responsabilidades, o que el trabajo sea más puramente de codificación, sin reuniones con clientes, recopilación de requisitos, etc., mientras que un desarrollador/ingeniero podría realizar esas actividades además de la codificación.
Además de las implicaciones legales, por lo general revela cómo la empresa ve a las personas. Por extensión, es algo que podría usar para tener una idea de cuál es la cultura de la empresa. Por supuesto, esto es solo un indicador entre muchos otros.
Esta pregunta parece estar fuera de tema porque se trata de terminología. La distinción entre estos términos es subjetiva y arbitraria.
Eche un vistazo a estas respuestas: english.stackexchange.com/a/27299/14671

Respuestas (2)

Es posible que una empresa en particular pueda usar esos títulos para significar cosas diferentes y para describir diferentes puestos dentro de esa empresa.

Pero no creo que haya una distinción clara entre ellos que sea común en diferentes empresas.

Personalmente, he tenido los tres títulos de "desarrollador", "programador" e "ingeniero" en diferentes trabajos relacionados con la programación de software. No hubo relación entre los diferentes títulos y el trabajo diferente que hice en esos trabajos.

No insista demasiado en los títulos, solo mire los requisitos reales y las descripciones de trabajo reales.

Editar: como se ha señalado en los comentarios, el título "Ingeniero" tiene importancia en algunos países, por ejemplo, Finlandia (gracias Juha) y Canadá (gracias Dogbert). No es el caso donde estoy (Australia) ni parece ser el caso en los EE. UU. o el Reino Unido, donde puede haber una implicación de una mayor educación o experiencia, pero creo que no es más que una implicación.

Ingeniero generalmente se refiere a un título legal que requiere algún tipo de examen después de obtener un título (al menos en algunos países), por lo que, legalmente, un ingeniero de software es un desarrollador de software, pero lo contrario no tiene por qué ser cierto. No tengo idea de si los EE. UU. Tienen tal distinción o si se toma en consideración.
@Bakuriu En el Reino Unido, no creo que tengas que tener ningún tipo de calificación para etiquetarte como ingeniero. Es una manzana de la discordia para aquellos de nosotros que hicimos títulos de ingeniería...
En Finlandia, un diploma de ingeniería establece específicamente (traducido) "Al recibir este diploma, tiene derecho a usar el título de ______ Ingeniero". Énfasis mío.
En EE. UU., mi puesto fue una vez "Programador de sistemas", mientras que lo que hacía era desarrollador de aplicaciones web. Los títulos tienen poco significado, a menos que una sola empresa utilice más de uno. Entonces, tiene una buena pregunta para hacer en la entrevista: "En su empresa, ¿cuál es la diferencia entre X e Y?"
@JuhaUntinen: ¿Qué se pone en lugar de _______? ¿Algo así como el grado académico?
@ORMapper: "Electrical", "IT", "Mechanical", "Químico", etc., según su programa de estudios.
Mientras que en los EE. UU. "Ingeniero" tiende a implicar una formación académica más formal, la única vez que existe un requisito escrito real es si usted es un "Ingeniero profesional certificado", lo que implica que ha aprobado un examen como el mencionado por @Bakuriu
@Liath Sí, creo que British Gas envía ingenieros para revisar su caldera, y si tienen problemas, llaman a un técnico (obviamente, un título más prestigioso). Escuché que cuando tienes un doctorado en ingeniería, este título solo agrava la miseria de dicha caldera rota. Me gustaría agregar mi título sin sentido (pero bastante agradable) de "consultor de software" a la refriega.
Aunque la distinción puede haberse vuelto borrosa con el tiempo, cuando fui a la universidad, estudié "Ingeniería de software", lo que significaba que uno tenía que tomar clases de estructuración formal de software, sistemas de software complejos (sistemas operativos, etc.) y tomar laboratorios relacionados con el desarrollo de software. en equipos y utilizando módulos de otros equipos. Para ser Ingeniero de Software, tenías que tener el título. Ser un "programador" podría significar simplemente que aprendiste a escribir scripts de Excel VB, o podría significar más que eso. Es un término más general pero de alcance más limitado en cuanto a las credenciales requeridas.
Es ilegal usar "ingeniero" en el título de su trabajo o "ingeniería" en el nombre de su empresa en Canadá, a menos que su ingeniero de más alto nivel o quienes firmen el producto sean ingenieros profesionales registrados (P.Eng.). apeg.bc.ca/For-Members/Professional-Practice/…
Saludos de @Dogbert, he editado para mencionar a Canadá junto con Finlandia como un país donde "ingeniero" tiene un significado real

En teoría, el desarrollo sería todo el proceso desde la toma de requisitos sobre la planificación del proyecto hasta su ejecución, mientras que la ingeniería es la planificación del diseño técnico del software y la programación es la ejecución de estos diseños.

Pero en la práctica, hay poca diferencia entre estos títulos. En el mundo real, se puede esperar que una persona que tenga cualquiera de estos títulos de trabajo cubra todo el alcance de un desarrollo de software o se reduzca a ser solo un mono del código. El "desarrollador de software sénior" de la empresa A podría tener incluso menos responsabilidad que el "programador junior" de la empresa B.

Para saber qué tipo de trabajo implica realmente un puesto, lea entre líneas la descripción real del puesto y qué habilidades establece como requeridas. O mejor aún: pregúntales.

+1: Estoy de acuerdo. De hecho, el término "programador de software", tal como se aplica a estos roles, en la mayoría de los casos no es más que una prueba de que la alta dirección no tiene idea de lo que realmente implica el desarrollo de software.