151 votes

Quelle est la différence entre un programmeur et un ingénieur logiciel ?

En parcourant certaines offres d'emploi, j'ai vu que beaucoup d'entre elles requièrent un ingénieur en logiciel, d'autres un programmeur et d'autres encore un développeur.

Y a-t-il une différence entre un programmeur et un ingénieur logiciel ? Ou bien cherchent-ils tous le même gars qui peut "écrire du code" ?

148voto

Portman Points 15878

D'après ce que j'ai vu aux États-Unis, le titre est un indicateur approximatif de l'importance des logiciels pour l'entreprise.

programmeur \= nous n'avons pas beaucoup d'employés techniques et avons besoin de quelqu'un pour "programmer" quelque chose ; par exemple un cabinet d'avocats.

développeur \= nous sommes une entreprise de produits ou de services à la pointe de la technologie et nous avons besoin de quelqu'un pour travailler sur des outils internes ou back-end, par exemple une banque ou une société de conseil.

ingénieur \= nous sommes une société de logiciels et nous avons besoin de quelqu'un pour travailler sur l'un de nos produits, par exemple Adobe ou Microsoft.

Il existe des milliers de contre-exemples, mais en général, je serais sceptique à l'égard d'une entreprise qui cherche à embaucher des "programmeurs", alors que je verrais d'un bon œil une entreprise qui embauche des "ingénieurs logiciels". "Développeur" n'a pas vraiment de connotation.

87voto

LKM Points 2306

Dans certains pays et états (pays européens, Canada, selon le commentaire de Kena, et Texas, selon le commentaire de Tony BenBrahim, voir les commentaires pour d'autres exemples), le titre "ingénieur" est réservé aux personnes ayant un diplôme d'ingénieur. Selon l'endroit où vous avez trouvé la description du poste, "ingénieur logiciel" peut signifier "une personne qui a étudié le génie logiciel ou l'informatique", tandis que "programmeur" signifie probablement "une personne qui sait écrire du code".

Wikipédia en dit plus sur la réglementation du titre d'"ingénieur".

62voto

John Kraft Points 4559

Mon point de vue personnel sur le sujet est le suivant :

  • Programmeur : Coder. Code Monkey. Clickity-Clack, Clickity-Clack.
    Usually 0-5 years experience

  • Développeur/Analyste : Recueillir les besoins, concevoir et mettre en œuvre des applications, faire des recherches sur les technologies, etc.
    Usually > 5 years experience

  • Ingénieur : Concevoir et mettre en œuvre des composants et des cadres pour les développeurs et les programmeurs à utiliser.

  • Architecte : Conçoit et supervise la mise en œuvre et l'intégration d'initiatives à l'échelle du système.

43voto

Paul Sonier Points 25528

Les termes sont différents, et ils font référence à des attentes différentes.

Généralement, "Ingénieur logiciel" est un sur-ensemble de "Programmeur".

La programmation d'ordinateurs fait partie du génie logiciel, mais ce n'est pas tout, loin de là.

Si la programmation exige une connaissance des langages informatiques, des algorithmes et des structures de données, qui sont tous très importants, le génie logiciel implique également une connaissance des projets, des exigences de maintenance, des normes de documentation, de la conception des logiciels, etc. Tout ce qui est nécessaire à la réussite d'un projet logiciel qui n'est PAS de la programmation proprement dite.

Pour moi, une distinction essentielle a toujours été faite avec les modèles logiciels. Je n'ai jamais rencontré quelqu'un qui était "juste" un programmeur qui avait une compréhension de ce qu'ils sont, et pourquoi ils sont bons. Inversement, la plupart (mais pas tous) des ingénieurs logiciels que j'ai connus et respectés avaient une bonne connaissance des modèles logiciels et comprenaient pourquoi ils sont une si bonne idée.

En général, j'ai tendance à penser que les programmeurs programment des solutions. Les ingénieurs logiciels prennent un problème et utilisent (généralement) la programmation pour le résoudre. La différence est qu'une partie au moins de la responsabilité de déterminer ce que sera la solution incombe aux ingénieurs logiciels.

31voto

Mark Glorie Points 2300

Officiellement, je pense qu'un ingénieur logiciel est plus qualifié dans le cycle de vie du développement logiciel dans son ensemble (exigences, analyse, conception, tests, gestion d'équipe, etc.), alors qu'un programmeur/développeur est plus orienté vers l'informatique.

Officieusement, les responsables des ressources humaines de nombreuses entreprises n'ont aucune idée de ce dont ils parlent et vous devez vous fier aux exigences du poste ou même à l'entretien !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X