web-dev-qa-db-fra.com

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

Je lis l'article CNN sur les emplois les mieux payés d'Amérique. A l'architecte logiciel est répertorié comme # 1 . A ingénieur logiciel répertorié # 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.

24
Rob S.

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.

TL; version DR:

  1. L'ingénieur logiciel n'est souvent qu'un titre glorifié pour "programmeur", peut-être indiquant être quelque peu senior.
  2. L'architecte logiciel s'intègre probablement à peu près à un chef d'équipe de haut niveau chargé de concevoir 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 $

24
Bobby Tables

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, mise en œuvre, 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.
7
Osukaa

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 quelque chose comme 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.

6
Jim In Texas