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


24

Estoy leyendo el artículo de CNN sobre los trabajos mejor pagados en Estados Unidos. Un arquitecto de software figura en el n . ° 1 . Un ingeniero de software listado como # 9 . Y un desarrollador de software (programador) aparece en el puesto # 35 . Creo que es válido reemplazar a un informático con un programador, ¿verdad?

Antes de esto, siempre vi a "Ingenieros de software" como el título para programadores experimentados y líderes de equipo. Pero entonces, ¿dónde encaja un "Arquitecto de software" y qué hacen exactamente? Leí las descripciones de CNN, pero en realidad no me satisfacen, así que supongo que puedo obtener descripciones más completas y experimentadas de la increíble base de usuarios aquí.

Gracias de antemano por todas y cada una de las respuestas recibidas.


1
Ya hay muchas preguntas relacionadas sobre los títulos de trabajo , esto puede ser demasiado localizado o duplicado.
Josh K

1
Estos parecen relevantes como posibles duplicados: programmers.stackexchange.com/questions/13439/… , programmers.stackexchange.com/questions/22124/… . Sin embargo, no veo uno que lo reúna todo.
Adam Lear

99
Un arquitecto de software quiere que le paguen más :-)
Stephen C

44
Hmm, un corte de pelo?
Pawka

77
@Rob S, un informático NO es un desarrollador de software (programador).
systemovich

Respuestas:


24

Advertencia : la evidencia anecdótica sigue ...

En mi experiencia, al menos aquí en el mercado australiano, los términos Programador, Desarrollador de software e Ingeniero de software son más o menos intercambiables (he tenido los tres por hacer exactamente el mismo trabajo real).

El "Director de Ingeniería de Software" descrito en su enlace CNN no es lo mismo que "Ingeniero de Software". Es realmente más como un rol de gerente de proyecto técnico de alto nivel. Este tipo de persona en realidad no programaría mucho, si es que lo hace. Este rol tiene poco que ver con su típico "Ingeniero de software", que a menudo es solo un título glorificado para un programador intermedio a senior.

El "Arquitecto de software" descrito en el enlace esencialmente suena como un líder de equipo de alto nivel, el tipo que diseña la estructura general de un sistema de software y luego probablemente explota parte del trabajo duro para programadores más jóvenes. Este es el tipo de persona que dirige un proyecto y probablemente informa al "Director de Ingeniería de Software", en una gran empresa donde muchos equipos escriben varios productos, especialmente donde se requiere la integración entre ellos.

TL; versión DR :

  1. El ingeniero de software a menudo es solo un título glorificado para "programador", lo que puede indicar que es un poco mayor.
  2. El arquitecto de software probablemente encaja aproximadamente con un líder de equipo de alto nivel que tiene la responsabilidad de diseñar la arquitectura general del proyecto.
  3. El Director de Ingeniería de Software es un gerente de proyecto de alto nivel, del tipo que posiblemente informa a los niveles más altos y probablemente no toca el código en absoluto.

$ 0.02


22
Qué nombre de usuario maravilloso, "Bobby Tables".
Josh K

2
¿Qué es $ 0.02?
Sarawut Positwinyu

10
@Sarawut: "Mis dos centavos". Simplemente significa "esta es mi opinión". :)
Bobby Tables

7

Lo aprendí de esta manera:

  • El ingeniero de software es el que conoce todos los aspectos del proceso de desarrollo de software (requisitos, especificación, diseño, arquitectura, diseño, implementación, etc.) para que puedan lograr trabajos de administración o trabajar en cualquier parte del proceso, mejorarlo, etc.
  • El Arquitecto de software es el que solo trabaja en la fase de Arquitectura, que es después del paso de diseño, es el trabajo técnico más alto al que uno puede aspirar. Todavía necesita programar, a diferencia del ingeniero de software que puede convertirse en administrador. También es un tipo de trabajo maestro-aprendiz.
  • Tampoco se compara con la informática, un informático puede programar, pero también puede hacer muchas otras cosas, por lo que no se limitan al campo de la programación.

¿Qué pasa con un "desarrollador de software"?
Adam Lear

Realmente no sé cómo definir ese papel. Creo que es un programador, pero no estoy seguro. Quise decir que no deberías compararlo con Computer Scientist. Lo siento: s
Osukaa

"Informático" es simplemente un título académico, ni más ni menos. La mayoría de los programadores donde trabajo son "informáticos", porque estudiaron "informática", un tema en el que te enseñan mucho sobre cómo trabajar con sistemas digitales y máquinas de estado, y las matemáticas que hay detrás. La "Ingeniería en Computación" es la profesión que tiene "más que programación", porque también te enseñan mucho sobre física y electricidad.
Yam Marcovic

6

Aquí, en el Gran Estado de Texas, muchas empresas tienden a eludir el término 'Ingeniero de Software', porque en Texas otorgamos licencias a los ingenieros, y de hecho existe un Ingeniero Profesional de Software 'Sellado' ( http: // www .tbpe.state.tx.us / eng_req.htm ).

Nunca he conocido a nadie, ni nadie que conozca Por supuesto, al gremio de ingenieros le gustaría mucho restringir la competencia al exigir licencias para escribir 'hola mundo', pero eso aún no ha sucedido.

'Desarrollador de software' se usa más comúnmente para una persona cuyo trabajo principal es escribir software.

Las empresas también tienen un poco más de tiempo para lidiar con los problemas de Visa para 'Desarrolladores de software' en lugar de 'Ingenieros de software'.

Solo he trabajado en startups durante los últimos 15 años, por lo que no estoy acostumbrado a un montón de títulos de trabajo finamente diferenciados, pero en general un 'Arquitecto' de software es un desarrollador sénior que es bueno para presentar el 'panorama general'. 'diseño de un proyecto de software. Todos los arquitectos que he conocido pasan mucho tiempo escribiendo código, al igual que todos los demás, especialmente después de acordar el diseño principal.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.