Was ist der Unterschied zwischen einem Software-Architekten und einem Software-Ingenieur?

Beste Antwort

Ich denke, dass der Titel des Software-Architekten etwas überstrapaziert und oft mit dem Software-Designer verwechselt wird ( Dies ist ein weiterer verwirrender Begriff, da er nichts mit Design als künstlerischem Unterfangen zu tun hat.)

Meine Definitionen wären:

Software-Architekt – Diese Person befasst sich mit den Blöcken auf hoher Ebene. Konnektivität zwischen Systemen, Auswahl der besten Technologien für die Systeme selbst und Zuordnung der Geschäftsanforderungen zu den technischen Anforderungen. Er hat genug Erfahrung, um zu verstehen, wann Push / Pull zum Beispiel gegen Pub / Sub verwendet werden sollte oder wann eine NoSQL-Datenbank anstelle einer SQL-Datenbank akzeptabel ist. Er versteht auch die Kosten der resultierenden Technologie (in Bezug auf Leistung und tatsächliche Betriebskosten). Schließlich muss ein Architekt das Geschäft verstehen, nicht nur die Technologie.

Software-Designer – Sobald die Architektur eingerichtet ist, ist ein Designer für die Erstellung des eigentlichen Software-Designs verantwortlich. Er kann einen Entwurf für jeden Architekturblock erstellen, indem er die entsprechenden Klassen oder Datenbankbeziehungen modelliert. Er kann auch Kabelprotokolle, Dateiformate usw. definieren.

Softwareprogrammierer – Sobald ein Design erstellt ist, implementiert der Softwareentwickler das Design

In der Reihenfolge ihrer Wichtigkeit sind die auf architektonischer Ebene getroffenen Entscheidungen kritisch und oft sehr schwer und kostspielig zu ändern, wenn ein Fehler gemacht wird. Ein Architekturfehler kann in komplexen Systemen Jahre kosten. Ein Konstruktionsfehler kann einige Sprints kosten. Ein Programmierfehler kann behoben werden, sobald er erkannt wird.

Beachten Sie außerdem, dass nicht erforderlich ist, dass eine Person nicht mehr als eine Rolle erfüllen kann. In formellen Organisationen haben Sie möglicherweise den Softwarearchitekten als leitende Person (oder sogar als Führungskraft), wobei der Designer eine Art Teamleiter und der Programmierer ein einzelner Mitarbeiter in diesem Team ist. In der Praxis verlässt der Softwarearchitekt ein Projekt jedoch normalerweise nicht, sobald die Architekturarbeiten abgeschlossen sind, und wenn die Architekturarbeiten langsamer werden, wird er normalerweise in das Design und die Programmierung einbezogen.

Die Einschränkung ist Der Architekt ist jedoch dafür verantwortlich, Technologieblöcke nach ihren Vorzügen und nicht nach seiner Vertrautheit auszuwählen. In diesem Fall hat er möglicherweise die Wahl, in der er auf Codeebene wenig beitragen kann. In diesen Fällen sollte er es am besten wissen und gehen die Implementierung für die Domain-Experten.

Das ist nur meine Meinung, aber ich bin sicher, dass es viele andere Interpretationen gibt. Je einfacher die Anwendung ist, desto überflüssiger werden einige Rollen. Für eine einfache Anwendung benötigen Sie keinen Architekten. Wenn die Anwendung einfach genug ist, haben Sie möglicherweise nicht einmal einen Designer. Sie benötigen jedoch immer jemanden, der sie implementiert.

Antwort

Ich weiß, dass es unhöflich ist, und es tut mir leid, aber ich kann nicht glauben, dass Leute (außer Edward Guy Capriolo) lange Antworten geschrieben haben, die den Unterschied zwischen zwei Titeln erklären. „Softwarearchitekten“ gibt es nur in Science-Fiction-Filmen wie Matrix.

Der Titel wurde von Unternehmensbürokraten erfunden, um die neue Nicht-Management-Gehaltsklasse festzulegen, in der jemand ohne MBA sechsstellige Beträge verdienen kann. Er war praktisch beim „Outsourcing“, da die wenigen nicht „Offshore“ oder H1B / L1-Entwickler könnten zu „Architekten“ befördert werden, um ihr Gehalt zu behalten, da alle „regulären“ Ingenieure als „Discount-Ressourcen“ beauftragt wurden.

Noch etwas zu beachten: solche nutzlosen Beraterpositionen sind von Verwandten und Freunden besetzt, daher gibt es keine offiziellen Fähigkeiten zum Lernen. Der Wert des „Architekten“ ist vage und subjektiv gelinde gesagt. TOGAF ist vielleicht die ultimative Beschreibung der Verantwortlichkeiten des „Architekten“. Ich habe diesen Mist gut studiert, um ihn in „architektonischen“ Interviews zu demonstrieren. Im normalen Leben startet meine Spezialität jedoch mehrere Millionen Projekte. Und Wiederbelebung von mehreren Millionen Fehlern. Macht es mich zu einem „Architekten“? Es beinhaltet viel Codierung, wissen Sie. Und keine „Frameworks“ für „Unternehmensarchitektur“.

Bearbeiten Sie einfach Ihren Lebenslauf und ersetzen Sie alle vorherigen Berufsbezeichnungen, um die „jahrelange Erfahrung“ anzuzeigen. Streuen Sie dann großzügig den Jargon „Unternehmensarchitektur“ über den gesamten Lebenslauf. Lassen Sie mich die Architekturversion meines (ansonsten Entwickler-) Lebenslaufs betrachten. Hier. Kopieren Sie es wörtlich:

„Entwickelte fortschrittliche Technologievision und robuste Funktionen für die Unternehmensarchitektur innerhalb der IT. Definierter allgemeiner Roadmap-Inhalt. Entwicklung und Implementierung der Strategie für die Unternehmensarchitektur, die aus Prinzipien, Referenzarchitekturen, Glossaren und Taxonomien besteht. Fortlaufende Analyse der Branchen-, Technologie- und Markttrends, um mögliche Auswirkungen auf das Unternehmen zu ermitteln. “

Herzlichen Glückwunsch! Sie wurden offiziell zum „Enterprise Architect“ befördert.Das einzige, was Sie noch tun müssen, ist, Ihren neu würdigen Lebenslauf an Arbeitgeber zu senden, die die Great IT Consulting Food Chain bilden – um alles, was sie verkaufen, nach dem Verkauf zu verkaufen: Oracle, IBM, Microsoft usw. über „Architekturdiagramme“: farbige Blöcke von die Anbieterpakete, die durch imaginäre „Integration“ verbunden sind. Mach dir keine Sorgen über das „technische Hokuspokus“. Sie sind ein hochrangiger Architekt, der die strategische Vision ebenso würdigen wie hochtechnischen „C-Level-Stakeholdern“ vorstellt.

Schreibe einen Kommentar

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