Wie viele Arten von Software-Ingenieuren gibt es?


Beste Antwort

Software-Engineering ist ein riesiger Spielplatz mit vielen verschiedenen Typen und Untertypen, aber die wichtigsten Arten von Software-Engineering sind Zwei: Systemsoftware und Anwendungssoftware.

Systemsoftware: Beispiele umfassen, ohne darauf beschränkt zu sein, die Programme, die für die Verwaltung des Computers vorgesehen sind oder ein Gerät, das einer bestimmten Aufgabe gewidmet ist, z. B.: Windows-Betriebssystem (Microsoft Windows 10), IOS-Betriebssystem (OS X 10.10 Yosemite., 4.13 OS X 10.11 El Capitan, 4.16 macOS 10.14 Mojave ……), Android-Betriebssystem (Android OS), Linux (Ubuntu…)

Anwendungssoftware: Endbenutzerprogramme, mit denen der Benutzer Aufgaben wie das Erstellen von Dokumenten (Microsoft Word, Pages…), das Senden von E-Mails (Google Mail-Anwendung), das Entwerfen von Grafiken (Photoshop) usw. ausführen kann.

Alle oben genannten Probleme können auftreten bis in kleinere Unterkomponenten / Kategorien, aus denen Unterbäume von Anwendungssoftware und Unterbäume von Systemsoftware bestehen.

Ein Beispiel für eine Unterkategorie von Anwendungssoftware: Photoshop ist eine Anwendung, die zu einer Reihe von Softwareanwendungen in Adobe Creative Software gehört Suite, die aus Photoshop, InDesign und anderen besteht.

Wenn ein Softwareentwickler im Software-Engineering eine Website, eine mobile App oder ein Spiel entwickelt: Alle diese Anwendungen fallen unter die Kategorie der Anwendungssoftware. Und wenn es sich um eine Software handelt Der Ingenieur entwickelt Software, die möglicherweise auf einem physischen Black-Box-Gerät ausgeführt wird, das speziell für ein bestimmtes Flugzeug entwickelt wurde: Diese spezielle Entwicklung kann sowohl unter Anwendungssoftware als auch unter Systemsoftware fallen, da sie speziell dafür ausgelegt ist, dass ein Gerät funktioniert und dieses Gerät speziell von diesem bestimmten Gerät abhängt Software zum Starten und Ausführen anderer Komponenten, die die Blackbox umfassen oder zum Funktionieren bringen: Nehmen wir nun an, dass derselbe Softwareentwickler eine zusätzliche Komponente für entwickelt hat Diese Blackbox ermöglicht es den Benutzern, auf die Black Box zuzugreifen und den aktuellen Standort des Flugzeugs anzuzeigen: Diese Komponente, ob sie in der Black Box oder auf einem mobilen Gerät ausgeführt wird, fällt unter die Anwendungssoftware.

Antwort

Es gibt schreckliche Softwareentwickler. Es gibt nur schlechte Softwareentwickler. Es gibt mittelmäßige Software-Ingenieure. Es gibt ziemlich gute Softwareentwickler. Es gibt gute Softwareentwickler. Es gibt großartige Softwareentwickler.

Und es gibt Softwareentwickler, die Software pünktlich und unter Budget liefern. Gott helfe dir, wenn du diese Software warten musst, aber sie war pünktlich und unter Budget.

Aber im Ernst …

Diese Liste ist nicht inklusive. Dieselbe SWE kann auch mehrere Rollen übernehmen, möglicherweise zu unterschiedlichen Zeiten und möglicherweise zu unterschiedlichen Zeiten. Dies sind übrigens keine Best Practices.

Es gibt SWEs, die Anforderungsdokumente schreiben. Sie wissen vielleicht nicht einmal, wie man programmiert, aber sie verstehen die Geschäftsanforderungen und übersetzen die Geschäftsanforderungen in Programmanforderungen.

Es gibt Designer, die die Anforderungen übernehmen und ein Software-Design entwickeln. Normalerweise ist ihre Ausgabe so etwas wie ein UML-Diagramm oder ein Flussdiagramm (Horror!) Oder ein Datenflussdiagramm oder eine Art Pseudocode. Sie führen auch häufig eine Analyse verschiedener wettbewerbsfähiger Designs durch, um festzustellen, welches „optimal“ ist. Sie erstellen auch einen Testplan.

Dann sind es die Software Development Engineers (SDEs), die die Anforderungen tatsächlich in Code konvertieren. Früher nannten wir diese Leute „Programmierer“, weil sie Programme geschrieben haben, aber dieses Wort wurde nicht mehr verwendet (heutzutage ist jeder Ingenieur oder Wissenschaftler. Bibliothekare sind jetzt Bibliothekswissenschaftler. Eltern, die zu Hause bleiben, sind Hausingenieure. Hausmeister sind es jetzt Bauingenieure. LKW-Fahrer sind jetzt Transportbetriebsingenieure usw.

Der Code geht an Softwareentwicklungsingenieure im Test. Sie testen die Software gemäß dem Testplan. Normalerweise gibt es zwei Testphasen: Komponententests und Systemtests.

Schließlich geht die Software an die Release-Ingenieure. Ich bin nicht genau das, was sie tun, weil ich eine Zeit lang einer war.

Es gibt auch technische Redakteure, die Kundendokumentation schreiben, und Support-Ingenieure, die Kunden helfen, wenn etwas schief geht.

Es gibt Vertriebsunterstützungsingenieure, deren Aufgabe es ist, sie entweder mit Brillanz zu blenden oder mit Bullshit zu verblüffen. Mir wurde gesagt, ich wäre gut darin. Das macht mir Sorgen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.