Hauptunterschied: Ein Softwareentwickler ist eine Person, die sich mit Facetten des Softwareentwicklungsprozesses befasst. Ihre Aufgabe umfasst das Entwerfen, Implementieren und Testen der Software. Ein Software-Ingenieur dagegen ist ein Praktiker des Software-Engineerings. Sie wenden die Prinzipien des Engineerings auf Design, Entwicklung, Wartung, Test und Bewertung von Software und Systemen an, mit denen Computer oder alles, was Software enthält, funktionieren.
Ein Softwareentwickler ist eine Person, die sich mit Facetten des Softwareentwicklungsprozesses beschäftigt. Ihre Aufgabe umfasst das Entwerfen, Implementieren und Testen der Software. Ein Software-Ingenieur dagegen ist ein Praktiker des Software-Engineerings. Sie wenden die Prinzipien des Engineerings auf Design, Entwicklung, Wartung, Test und Bewertung von Software und Systemen an, mit denen Computer oder alles, was Software enthält, funktionieren. Man kann also behaupten, dass die Aufgabe eines Software-Ingenieurs einen größeren Umfang hat.
Ein Softwareentwickler entwickelt eigenständige Software, die mehr als nur ein einfaches Programm ist. Er ist in alle Phasen der Entwicklung, Gestaltung und Codierung involviert. Er ist an Design, Computerprogrammierung oder Softwareprojektmanagement beteiligt. Ein Entwickler kann eher zur Übersicht des Projekts auf Anwendungsebene beitragen als auf Komponentenebene oder einzelnen Programmieraufgaben. In der 15-0000-Fachgruppe Computer- und mathematische Berufe können Softwareentwickler in einen von 3 Titeln eingeteilt werden:
- 15-1131 Computerprogrammierer
- 15-1132 Softwareentwickler, Anwendungen
- 15-1133 Softwareentwickler, Systemsoftware
Die Arbeit eines Entwicklers umfasst:
- Software-Design
- Aktuelle Kernimplementierung (Programmierung, die häufig der wichtigste Teil der Softwareentwicklung ist)
- Andere erforderliche Implementierungen (z. B. Installation, Konfiguration, Anpassung, Integration, Datenmigration)
- Teilnahme an der Definition von Softwareprodukten, einschließlich Analyse von Geschäftsfällen oder Lücken
- Spezifikation
- Anforderungsanalyse
- Entwicklung und Verfeinerung von Wegwerf-Simulationen oder Prototypen zur Bestätigung der Anforderungen
- Machbarkeits- und Kosten-Nutzen-Analyse, einschließlich Auswahl der Anwendungsarchitektur und des Frameworks, die zum Budget und Zeitplan für das Projekt führen
- Erstellung von Unterlagen, die von Benutzern und Implementierungspartnern benötigt werden usw.
- Testen, einschließlich Definieren / Unterstützen von Abnahmetests und Sammeln von Rückmeldungen von Pre-Release-Testern
- Teilnahme an Software-Release- und Post-Release-Aktivitäten, einschließlich Unterstützung bei der Produkteinführung (z. B. Entwicklung von Demonstrationen und / oder Mustern) und Wettbewerbsanalyse für nachfolgende Produktaufbau- / -freigabezyklen
- Instandhaltung