Beste antwoord
Ik denk dat de titel van software-architect een beetje te veel wordt gebruikt en vaak wordt verward met software-ontwerper ( wat weer een verwarrende term is, omdat het niets te maken heeft met design als een artistieke onderneming.)
Mijn definities zouden zijn:
Software architect – deze persoon behandelt de blokken op hoog niveau. Connectiviteit tussen systemen, het kiezen van de beste technologieën voor de systemen zelf en het in kaart brengen van zakelijke vereisten in technische vereisten. Hij heeft voldoende ervaring om te begrijpen wanneer bijvoorbeeld push / pull moet worden gebruikt versus pub / sub, of wanneer een NoSQL-database acceptabel is in plaats van een SQL-database. Hij begrijpt ook de kosten van de resulterende technologie (in termen van prestaties en werkelijke operationele kosten). Ten slotte moet een architect het bedrijf begrijpen, niet alleen de technologie.
Softwareontwerper – zodra de architectuur is vastgesteld, is een ontwerper verantwoordelijk voor het maken van het daadwerkelijke softwareontwerp. Hij kan een ontwerp maken voor elk architectonisch blok door de juiste klassen of databaserelaties te modelleren. Hij kan ook draadprotocollen, bestandsindelingen, enz. Definiëren.
Softwareprogrammeur – zodra een ontwerp is vastgesteld, implementeert de softwareontwikkelaar het ontwerp .
In volgorde van belangrijkheid, de beslissingen die op architectonisch niveau worden genomen, zijn kritisch en zijn vaak erg moeilijk en kostbaar om te veranderen als er een fout wordt gemaakt. Een architectuurfout kan in complexe systemen jaren kosten. Een ontwerpfout kan een paar sprints kosten. Een programmeerfout kan worden hersteld zodra deze is vastgesteld.
Houd er ook rekening mee dat er geen vereiste is dat één persoon niet meer dan één rol kan vervullen. In formele organisaties kan de softwarearchitect een senior persoon zijn (of zelfs een leidinggevende), waarbij de ontwerper een soort teamleider is en de programmeur een individuele medewerker van dat team. In de praktijk verlaat de softwarearchitect echter een project meestal niet als het architectuurwerk eenmaal is voltooid, en als het architectuurwerk eenmaal vertraagt, raakt hij gewoonlijk betrokken bij het ontwerp en bij het programmeren.
Het voorbehoud is maar dat de architect verantwoordelijk is voor het kiezen van technologieblokken op basis van hun verdiensten, en niet op basis van zijn bekendheid, in welk geval hij een keuze kan krijgen waarin hij weinig kan bijdragen op codeniveau. In die gevallen zou hij het beste moeten weten en vertrekken de implementatie aan de domeinexperts.
Dat is slechts mijn mening, maar ik weet zeker dat er veel andere interpretaties zijn. En hoe eenvoudiger de applicatie, des te overbodiger worden sommige rollen. Voor een eenvoudige applicatie heb je geen architect nodig. Als de applicatie eenvoudig genoeg is, heb je misschien niet eens een ontwerper. Maar je hebt altijd iemand nodig om het te implementeren.
Antwoord
Ik weet dat het onbeleefd is, en het spijt me, maar ik kan niet geloven dat mensen (behalve Edward Guy Capriolo) lange antwoorden schreven waarin het verschil tussen twee titels werd uitgelegd. “Softwarearchitecten” bestaan alleen in sciencefictionfilms zoals Matrix.
De titel is uitgevonden door bedrijfsbureaucraten om de nieuwe salarisgroep voor niet-management vast te stellen, waar iemand zonder een MBA zes cijfers zou kunnen verdienen. Het kwam goed van pas tijdens outsourcing omdat de weinige overgebleven niet offshore of H1B / L1-ontwikkelaars zouden kunnen worden gepromoveerd tot “architecten” om hun salaris te behouden, aangezien alle “gewone” ingenieurs het mandaat hadden gekregen om “kortingmiddelen” te zijn.
Nog iets om in gedachten te houden: dergelijke nutteloze adviseursfuncties worden gevuld door familieleden en vrienden, dus er zijn geen officiële vaardigheden om te leren. De waarde van architect is vaag en subjectief voor zeg het minst. TOGAF is misschien wel de ultieme beschrijving van de verantwoordelijkheden van de “architect”. Ik heb die rotzooi goed bestudeerd om ermee te pronken tijdens architectonische interviews. In het normale leven is mijn specialiteit echter het starten van miljoenen projecten. En miljoenen mislukkingen doen herleven. Maakt het mij een “architect”? Er komt veel codering bij kijken, weet je. En nul “enterprise architectuur” “frameworks”.
Bewerk gewoon je cv en vervang alle vorige functietitels om de “jarenlange ervaring” te tonen. Bestrooi vervolgens royaal het jargon van “enterprise-architectuur” door het cv. Laat me eens kijken naar de architectversie van mijn (anders ontwikkelaars) cv. Hier. Kopieer het woordelijk:
“Ontwikkelde geavanceerde technologische visie en robuuste enterprise-architectuurmogelijkheden binnen IT. Gedefinieerde gemeenschappelijke roadmap-inhoud. De strategie voor bedrijfsarchitectuur ontwikkeld en geïmplementeerd, bestaande uit principes, referentiearchitecturen, woordenlijsten en taxonomieën. Doorlopende analyse van de industrie, technologie en markttrends bijgehouden om de potentiële impact op de onderneming te bepalen. ”
Gefeliciteerd! U bent officieel gepromoveerd tot de “Enterprise Architect”.Het enige dat u hoeft te doen, is uw nieuwe waardige cv naar werkgevers te sturen die de Great IT Consulting Food Chain vormen – om na te verkopen wat ze verkopen: Oracle, IBM, Microsoft, enz. Via architectuurdiagrammen: gekleurde blokken van de leverancierspakketten verbonden door denkbeeldige “integratie”. Maak je geen zorgen over de “technische mumbo-jumbo”. Je bent een architect van hoog niveau die de strategische visie presenteert aan even waardige en zeer niet-technische “C-level stakeholders”.