Différence clé: un développeur de logiciel est une personne concernée par les facettes du processus de développement de logiciel. Leur travail comprend la conception, la mise en œuvre et le test du logiciel. Par contre, un ingénieur en logiciel est un praticien en génie logiciel. Ils appliquent les principes de l'ingénierie à la conception, au développement, à la maintenance, aux tests et à l'évaluation des logiciels et des systèmes qui font fonctionner des ordinateurs ou tout élément contenant des logiciels.

Un développeur de logiciel est une personne concernée par les facettes du processus de développement de logiciel. Leur travail comprend la conception, la mise en œuvre et le test du logiciel. Par contre, un ingénieur en logiciel est un praticien en génie logiciel. Ils appliquent les principes de l'ingénierie à la conception, au développement, à la maintenance, aux tests et à l'évaluation des logiciels et des systèmes qui font fonctionner des ordinateurs ou tout élément contenant des logiciels. On peut donc affirmer que le travail d’un ingénieur logiciel a une plus grande portée.
Un développeur de logiciel développe un logiciel autonome, qui est plus qu'un simple programme. Il s'implique dans toutes les phases du développement, de la conception et du codage. Il participe à la conception, à la programmation informatique ou à la gestion de projets logiciels. Un développeur peut contribuer à la vue d'ensemble du projet au niveau de l'application plutôt qu'à des tâches de programmation individuelles ou au niveau du composant. Sous le grand groupe 15-0000 Informatique et mathématiques, les développeurs de logiciels peuvent être classés dans l’un des trois titres suivants:
- 15-1131 Programmeurs informatiques
- 15-1132 Développeurs de logiciels, Applications
- 15-1133 Développeurs de logiciels, Logiciels de systèmes
Le travail d'un développeur comprend:
- Conception de logiciels
- Implémentation de base réelle (la programmation est souvent la partie la plus importante du développement logiciel)
- Autres implémentations requises (par exemple, installation, configuration, personnalisation, intégration, migration de données)
- Participation à la définition du logiciel, y compris analyse de rentabilisation ou analyse des écarts
- spécification
- Analyse des besoins
- Développement et mise au point de simulations ou de prototypes à jeter pour confirmer les exigences
- Analyse de faisabilité et d'analyse coûts-avantages, y compris le choix de l'architecture et du cadre d'application, conduisant au budget et au calendrier du projet
- Création de la documentation nécessaire aux utilisateurs et aux partenaires de mise en œuvre, etc.
- Tests, y compris la définition / prise en charge des tests d'acceptation et la collecte des commentaires des testeurs de pré-publication
- Participation à la publication de logiciels et aux activités postérieures à la publication, y compris le support pour l'évangélisation du lancement du produit (par exemple, le développement de démonstrations et / ou d'échantillons) et l'analyse concurrentielle pour les cycles ultérieurs de génération / publication du produit
- Entretien
