Che cosa definisce un architetto del software? [duplicare]

31

A che punto uno sviluppatore smette di essere semplicemente uno sviluppatore e si trasforma in un architetto di software. O in altre parole, qual è la descrizione del lavoro minima di un architetto del software?

    
posta gnat 21.10.2010 - 04:34
fonte

5 risposte

14

Penso che non ci sia una risposta migliore di:

An architect do architecture.

Quindi se fai architettura, sei un architetto. Forse hai chiesto cosa è un "bravo" architetto? O forse un elenco di attività predefinito?

Oltre alle altre eccellenti risposte, inclusa quella di Jim Leonardo, leggi questo documento:

Chi ha bisogno di un architetto - Martin Fowler

La mia opinione?

Architecture is a team sport

    
risposta data 21.10.2010 - 10:17
fonte
21

Potrei probabilmente trovare due pagine di umorismo qui, ma presumo che tu stia prendendo sul serio questo argomento. Quindi, risponderò il più seriamente possibile.

Per prima cosa devi capire: @Craig ha ragione ... le organizzazioni differnet significano cose diverse. Per alcuni, è solo una parte della loro carriera e in realtà non significa molto oltre. Per altri, è un ruolo distinto e molto spesso, vengono sovvertiti dal fare qualsiasi codice o altre mani sul lavoro e quindi perdono la loro efficienza.

Il punto in cui smetti di essere uno sviluppatore e inizia ad essere un architetto è il punto in cui spendi il 90% + del tuo tempo impegnato nel seguente

  • Scrittura di specifiche / disegno di belle foto
  • Riunioni con la direzione / Stakeholder
  • Ricerca su quali tecnologie dovresti utilizzare invece di apprendere ciò che il tuo è per il tuo team oggi.
  • Ti stai chiedendo quale sia il codice delle tue app perché non hai visto il codice in 4 mesi

In breve, un architetto è l'interfaccia tra il team di sviluppo e gli stakeholder (il BA è l'opposto). Devono essere in grado di comprendere il lato economico e i dettagli tecnici, ma la verità è che probabilmente non "sporcano le loro mani" tutto questo spesso. Le loro abilità "tecniche" primarie devono essere con UML, un word processor, altri strumenti di disegno tecnico e software di presentazione. Quindi, nella maggior parte dei casi, entro pochi anni, inizieranno a diventare sempre meno efficaci man mano che la loro conoscenza della codifica diventa obsoleta (ad esempio stanno cercando di pensare in C ++ mentre il progetto è in C # o Java). A quel punto, le persone intelligenti imparano come appoggiarsi e imparare dalle mani sulla gente. Gli altri diventano un dolore nella parte posteriore perché hanno un tempo sempre più difficile relativo allo stato dell'arte.

    
risposta data 21.10.2010 - 05:24
fonte
13

Anche se è vero che gli architetti del software "fanno architettura", penso che il ruolo di oggi abbia finito per significare molto di più. Qualcuno nel ruolo di "architetto software" tende ad essere un leader, sia in abilità che in stato.

Mi è sempre piaciuto la definizione di Ted Neward di un architetto di software :

An architect is the captain of the ship, making the decisions that cross multiple areas of concern (navigation, engineering, and so on), taking final responsibility for the overall health of the ship and its crew (project and its members), able to step into any station to perform those duties as the need arises (write code for any part of the project should they lose a member). He has to be familiar with the problem domain, the technology involved, and keep an eye out on new technologies that might make the project easier or answer new customers' feature requests.

E in seguito:

...someone whose hands [are] dirty with code, acting as technical lead, developer, sometimes-project-manager, and always focused on customer/business value as well as technical details.

Sfortunatamente, non tutti quelli che portano il titolo di "architetto software" si adattano a questa definizione. Altri corrispondono alla definizione ma non portano il titolo. Nondimeno, ritengo che questa sia una definizione più accurata del moderno architetto del software. Se non altro, è un obiettivo meritevole per raggiungere.

    
risposta data 08.07.2011 - 10:55
fonte
9

Come la maggior parte dei titoli di lavoro IT non c'è una definizione, è solo un termine inventato. Descriverei un architetto del software come qualcuno che si occupa della progettazione di applicazioni tecniche, costruendo cose come librerie di base, framework di applicazioni, ecc. Di tutti i vari lavori di 'architettura' IT questo è probabilmente il più basso della catena alimentare.

    
risposta data 21.10.2010 - 04:42
fonte
3

Un ragazzo le cui capacità di codifica sono terribilmente obsolete, ma che non è in grado di svolgere compiti manageriali.

o

Un pazzo impraticabile con un senso di autoimportanza esagerato che distrugge qualunque cosa tocchi, senza mai smettere di portare strati di complessità accidentale persino ai più semplici mezzi, ma che, per fortuna, è tenuto fuori dai guai da è stato assegnato il compito di scrivere documenti aziendali dal titolo grandioso che nessuno dovrebbe mai leggere.

    
risposta data 28.06.2011 - 15:37
fonte

Leggi altre domande sui tag