Quelle est la différence entre un architecte logiciel, un ingénieur logiciel et un développeur logiciel (programmeur)? [fermé]

24

Je lis l'article CNN sur les emplois les mieux payés d'Amérique. Un architecte logiciel est répertorié comme n ° 1 . Un ingénieur logiciel répertorié comme # 9 . Et un développeur de logiciels (programmeur) est répertorié au # 35 . Je pense qu'il est valable de remplacer un informaticien par un programmeur, non?

Avant cela, j'ai toujours considéré "Software Engineers" comme le titre de programmeurs expérimentés et de chefs d'équipe. Mais où se situe alors un «architecte logiciel» et que font-ils exactement? J'ai lu les descriptions CNN mais elles ne me satisfont pas vraiment, je suppose donc que je peux obtenir des descriptions plus approfondies et expérimentées de la base d'utilisateurs impressionnante ici.

Merci d'avance pour toutes les réponses reçues.

Rob S.
la source
1
Il y a déjà beaucoup de questions connexes sur les titres de poste , cela peut être soit trop localisé soit en double.
Josh K
1
Ceux-ci semblent pertinents en tant que doublons potentiels: programmers.stackexchange.com/questions/13439/… , programmers.stackexchange.com/questions/22124/… . Cependant, je n'en vois pas un qui rassemble tout cela.
Adam Lear
9
Un architecte logiciel veut être payé plus :-)
Stephen C
4
Hmm, une coupe de cheveux?
Pawka
7
@Rob S, un informaticien n'est PAS un développeur de logiciels (programmeur).
systemovich

Réponses:

24

Avertissement : des preuves anecdotiques suivent ....

D'après mon expérience, au moins ici sur le marché australien - les termes programmeur, développeur de logiciels et ingénieur logiciel sont plus ou moins interchangeables (j'ai retenu les trois pour faire exactement le même travail réel).

Le «directeur du génie logiciel» décrit dans votre lien CNN n'est pas le même que «ingénieur logiciel». Cela ressemble plus à un rôle de chef de projet technique de haut niveau. Ce genre de personne ne programme pas vraiment beaucoup, voire pas du tout. Ce rôle a peu à voir avec votre "ingénieur logiciel" typique - qui n'est souvent qu'un titre glorifié pour un programmeur intermédiaire à senior.

L '"architecte logiciel" décrit dans le lien ressemble essentiellement à un chef d'équipe de haut niveau, le type qui conçoit la structure globale d'un système logiciel, puis délivre probablement une partie du travail de grognement à des programmeurs plus juniors. C'est le genre de personne qui dirige un projet et relève probablement du «directeur de l'ingénierie logicielle» - dans une grande entreprise où de nombreuses équipes écrivent divers produits, en particulier lorsqu'une intégration entre eux est requise.

Version TL; DR :

  1. L'ingénieur logiciel n'est souvent qu'un titre glorifié de "programmeur", indiquant peut- être qu'il est quelque peu senior.
  2. L'architecte logiciel s'intègre probablement à peu près à un chef d'équipe de haut niveau qui est responsable de la conception de l'architecture globale du projet.
  3. Le directeur de l'ingénierie logicielle est un chef de projet de haut niveau, le type qui relève probablement des niveaux les plus élevés et ne touche probablement pas du tout au code.

0,02 $

Tables Bobby
la source
22
Quel merveilleux nom d'utilisateur, "Bobby Tables".
Josh K
2
qu'est-ce que 0,02 $ ???
Sarawut Positwinyu
10
@Sarawut: "Mes deux cents". Cela signifie simplement "c'est mon opinion". :)
Bobby Tables
7

Je l'ai appris de cette façon:

  • L'ingénieur logiciel est celui qui connaît tous les aspects du processus de développement logiciel (exigences, spécifications, conception, architecture, conception, implémentation, etc.) afin qu'ils puissent réaliser des tâches de gestion, ou travailler n'importe où dans le processus, l'améliorer, etc.
  • L'architecte logiciel est celui qui ne travaille que dans la phase d'architecture qui est après l'étape de conception, c'est le travail technique le plus élevé que l'on puisse viser. Vous devez encore programmer, contrairement à l'ingénieur logiciel qui peut devenir gestionnaire. C'est aussi un travail de type maître-apprenti.
  • Ne vous comparez pas non plus à l'informatique, un informaticien peut programmer mais peut aussi faire beaucoup d'autres choses, de sorte qu'ils ne se limitent pas au domaine de la programmation.
Osukaa
la source
Et un "développeur de logiciels"?
Adam Lear
Je ne sais vraiment pas comment définir ce rôle. Je pense que c'est un programmeur, mais je ne suis pas sûr. Je voulais dire que vous ne devriez pas le comparer à l'informaticien. Désolé à ce sujet: s
Osukaa
"Informaticien" n'est qu'un titre académique, ni plus ni moins. La plupart des programmeurs où je travaille sont des "informaticiens", car ils ont étudié "l'informatique" - un sujet où ils vous apprennent beaucoup sur la façon de travailler avec des systèmes numériques et des machines d'état, et les mathématiques derrière. Le "génie informatique" est la profession qui a "plus que de la programmation", car ils vous apprennent aussi beaucoup sur la physique et l'électricité.
Yam Marcovic
6

Ici, dans le Grand État du Texas, de nombreuses entreprises ont tendance à se détourner du terme «ingénieur logiciel», car au Texas, nous accordons des licences aux ingénieurs, et il existe en fait une chose telle que l'ingénieur professionnel «scellé», Logiciel ( http: // www .tbpe.state.tx.us / eng_req.htm ).

Je n'en ai jamais rencontré, ni personne que je connaisse. Bien sûr, la guilde des ingénieurs aimerait beaucoup restreindre la concurrence en exigeant des licences pour écrire «bonjour le monde», mais cela ne s'est pas encore produit.

«Développeur de logiciels» est plus couramment utilisé pour une personne dont le travail principal est l'écriture de logiciels.

Les entreprises ont également un peu plus de facilité à traiter les problèmes de visa pour les «développeurs de logiciels» plutôt que pour les «ingénieurs logiciels».

Je ne travaille dans des startups que depuis 15 ans, donc je ne suis pas habitué à un tas de titres de poste finement différenciés, mais en général, un logiciel «Architect» est un développeur senior qui sait bien définir la «vue d'ensemble» 'conception d'un projet logiciel. Chaque architecte que j'ai connu passe beaucoup de temps à écrire du code, comme tout le monde, surtout après que la conception principale ait été convenue.

Jim au Texas
la source