it-swarm-eu.dev

Was ist der Unterschied zwischen einem Software-Architekten, einem Software-Ingenieur und einem Software-Entwickler (Programmierer)?

Ich lese den CNN-Artikel über die bestbezahlten Jobs in Amerika. A Software-Architekt ist als # 1 aufgeführt . A Softwareentwickler als # 9 aufgeführt . Und ein Softwareentwickler (Programmierer) ist unter # 35 aufgeführt . Ich denke, es ist gültig, Informatiker durch Programmierer zu ersetzen, oder?

Vorher habe ich "Software Engineers" immer als Titel für erfahrene Programmierer und Teamleiter gesehen. Aber wo passt dann ein "Software Architect" hin und was genau machen sie? Ich habe die CNN-Beschreibungen gelesen, aber sie befriedigen mich nicht wirklich, daher gehe ich davon aus, dass ich von der großartigen Benutzerbasis hier gründlichere und erfahrenere Beschreibungen erhalten kann.

Vielen Dank im Voraus für alle eingegangenen Antworten.

24
Rob S.

Warnung: Es folgen anekdotische Beweise ....

Nach meiner Erfahrung, zumindest hier auf dem australischen Markt, sind die Begriffe Programmierer, Softwareentwickler und Softwareingenieur mehr oder weniger austauschbar (ich habe alle drei gehalten, um genau die gleiche tatsächliche Arbeit zu erledigen).

Der in Ihrem CNN-Link beschriebene "Software Engineering Director" ist nicht mit "Software Engineer" identisch. Es ist wirklich eher eine hochrangige Rolle als technischer Projektmanager. Diese Art von Person würde nicht wirklich viel programmieren, wenn überhaupt. Diese Rolle hat wenig mit einem typischen "Software Engineer" zu tun - was oft nur ein verherrlichter Titel für einen fortgeschrittenen Programmierer ist.

Der im Link beschriebene "Software-Architekt" klingt im Wesentlichen wie ein hochrangiger Teamleiter, der die Gesamtstruktur eines Softwaresystems entwirft und dann wahrscheinlich einen Teil der Grunzarbeit an jüngere Programmierer weitergibt. Dies ist die Art von Person, die ein Projekt leitet und wahrscheinlich dem "Software Engineering Director" Bericht erstattet - in einem großen Unternehmen, in dem viele Teams verschiedene Produkte schreiben, insbesondere wenn eine Integration zwischen ihnen erforderlich ist.

TL; DR-Version:

  1. Software Engineer ist oft nur ein verherrlichter Titel für "Programmierer", vielleicht zeigt an, dass er etwas älter ist.
  2. Software Architect passt wahrscheinlich in etwa zu einem hochrangigen Teamleiter, der für die Gestaltung der Gesamtarchitektur des Projekts verantwortlich ist.
  3. Software Engineering Director ist ein hochrangiger Projektmanager, der möglicherweise auf höchster Ebene berichtet und den Code wahrscheinlich überhaupt nicht berührt.

$ 0,02

24
Bobby Tables

Ich habe es so gelernt:

  • Der Software Engineer ist derjenige, der alle Aspekte des Softwareentwicklungsprozesses kennt (Anforderungen, Spezifikation, Design, Architektur, Design, Implementierung usw.), damit er Managementaufgaben erfüllen oder überall im Prozess arbeiten, ihn verbessern usw.
  • Software Architect ist derjenige, der nur in der Architekturphase arbeitet, die nach dem Entwurfsschritt liegt. Dies ist die höchste technische Aufgabe, die man anstreben kann. Sie müssen noch programmieren, im Gegensatz zu Software Engineer, der Management werden kann. Es ist auch eine Art von Meisterlehrling.
  • Vergleichen Sie auch nicht mit der Informatik, ein Informatiker kann programmieren, aber auch viele andere Dinge tun, so dass sie nicht auf den Bereich der Programmierung beschränkt sind.
7
Osukaa

Hier im Bundesstaat Texas scheuen viele Unternehmen den Begriff "Software Engineer", weil wir in Texas Ingenieure lizenzieren, und es gibt tatsächlich so etwas wie "Sealed" Professional Engineer, Software ( http : //www.tbpe.state.tx.us/eng_req.htm ).

Ich habe noch nie einen getroffen und auch niemanden, den ich kenne. Natürlich möchte die Gilde der Ingenieure den Wettbewerb sehr einschränken, indem sie Lizenzen für das Schreiben von "Hallo Welt" benötigt, aber das ist noch nicht geschehen.

"Softwareentwickler" wird häufiger für Personen verwendet, deren Hauptaufgabe darin besteht, Software zu schreiben.

Unternehmen haben es auch etwas leichter, Visa-Probleme für "Software-Entwickler" zu lösen, als für "Software-Ingenieure".

Ich habe in den letzten 15 Jahren nur in Startups gearbeitet, daher bin ich nicht an eine Reihe fein differenzierter Berufsbezeichnungen gewöhnt, aber im Allgemeinen ist ein Software-Architekt ein leitender Entwickler, der gut darin ist, das Gesamtbild darzustellen 'Design eines Softwareprojekts. Jeder Architekt, den ich jemals gekannt habe, verbringt viel Zeit damit, Code zu schreiben, genau wie alle anderen, insbesondere nachdem das Hauptdesign vereinbart wurde.

6
Jim In Texas