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" ?

1voto

Jeff Kotula Points 1737

Les certifications légales mises à part...

Pour moi, la différence réside dans l'attitude à l'égard de l'exécution du travail : Je pense que les ingénieurs (quel que soit leur type) s'intéressent à la construction de systèmes fonctionnels et fiables, conformes aux spécifications et respectant les contraintes environnementales et budgétaires. Les programmeurs s'intéressent à l'écriture du code.

Je n'ai pas de problème avec l'un ou l'autre - la programmation est certainement plus amusante que l'ingénierie parce que (dans ma nomenclature en tout cas) elle exige moins de discipline.

Mais encore une fois, il s'agit de mon point de vue personnel et votre expérience variera...

0voto

nikie Points 7479

De la manière dont je comprends le terme, l'ingénierie consiste à appliquer les résultats de la science et la méthode scientifique elle-même à un problème concret. Certains programmeurs le font, d'autres non. Prenez le débogage, par exemple : L'approche scientifique/ingénierie serait de collecter des données, de former des hypothèses, de tester/essayer de falsifier les hypothèses, de former de nouvelles hypothèses et ainsi de suite. Mais je suis sûr que vous avez vu des programmeurs qui se contentent de modifier un code bogué sur la base d'hypothèses non testées jusqu'à ce qu'il fonctionne (une fois).

Dans une offre d'emploi, je supposerais qu'un programmeur ne fait qu'écrire du code, alors qu'un développeur/ingénieur logiciel est censé mener à bien l'ensemble du processus de développement d'un logiciel. C'est-à-dire qu'il doit parler aux utilisateurs (potentiels) d'un produit, comprendre leurs besoins et concevoir le logiciel de manière à ce qu'il aide les utilisateurs à résoudre leurs problèmes. Elle doit également concevoir le logiciel de manière à ce qu'il puisse être maintenu et étendu à l'avenir. L'écriture du programme ne représente qu'une petite partie de ce processus. Pour les équipes plus importantes, il peut être judicieux d'avoir quelques développeurs et davantage de programmeurs pour les aider à effectuer le "travail de base".

0voto

jdizzle Points 1784

Historiquement, un "programmeur" était simplement la personne qui tapait les bits dans l'ordinateur. Étant donné que les bits étaient écrits par quelqu'un d'autre (un ingénieur), et que le processus de leur introduction dans l'ordinateur était ennuyeux et prenait du temps, le programmeur et l'ingénieur étaient des personnes distinctes. Maintenant qu'il est environ un milliard de fois plus facile de programmer soi-même un ordinateur, l'ingénieur et le programmeur sont toujours la même personne.

0voto

dorian Points 19

Personnellement, je pense qu'un ingénieur logiciel est plus un gestionnaire de projet, sa principale préoccupation est le résultat final, le coût, le temps et l'efficacité, et donc les compétences humaines sont primordiales, alors que la principale préoccupation du programmeur est de créer des œuvres d'art, le produit réel.

Par exemple, un manager de groupe fait la promotion de l'artiste, mais c'est l'artiste qui crée les chefs-d'œuvre intemporels.

0voto

Dave Points 9

Considérez la limite supérieure de la complexité maximale du problème qu'on peut résoudre...

Programmeur : peut-être 10 000 à 50 000 lignes de code

Ingénieur logiciel : décomposition des problèmes, planification, tests, coordination, etc. Des millions de lignes de code...

Un "programmeur" n'a pas conçu et mis en œuvre un moteur de base de données composé d'un million de lignes de code. Une équipe, dont au moins une partie était constituée d'ingénieurs logiciels, s'est chargée de cette tâche... Les programmeurs ont participé au processus de codage...

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