A quel point un développeur cessent d'être simplement un développeur et se transforme en architecte logiciel. Ou en d'autres termes, quelle est la description du travail minimum d'un architecte logiciel?
Je pense qu'il n'y a pas de meilleure réponse que:
Un architecte do architectural.
Donc, si vous faites l'architecture, vous êtes un architecte. Peut-être que vous avez demandé quel est un "bon" architecte? Ou peut-être une liste de tâches prédéfinie?
En plus des autres excellentes réponses, y compris celle de Jim Leonardo, veuillez lire ce document:
qui a besoin d'un architecte - Martin Fowler
Mon avis ?
L'architecture est un sport d'équipe
Je pourrais probablement proposer 2 pages d'humour ici, mais je suppose que vous prenez cela sérieusement. Donc, je vais répondre aussi au sérieux que possible.
La première chose que vous devez comprendre: @CRAIG a raison ... les différentes organisations signifient différentes choses. Pour certains, cela fait partie de leur piste d'avancement et ne signifie pas vraiment beaucoup au-delà de cela. Pour les autres, c'est un rôle distinct et très souvent, ils sont subversés de tout code ou d'autres mains sur le travail et perdent ainsi leur efficacité.
Le point auquel vous arrêtez d'être un développeur et de commencer à être un architecte est le point sur lequel vous consacrez 90% + de votre temps engagé dans ce qui suit
Il est difficile d'être qu'un architecte est l'interface entre l'équipe Dev et les parties prenantes (le BA est le contraire). Ils doivent être capables de comprendre le côté métier et les détails techniques, mais la vérité est susceptible de ne pas "mettre les mains sales" tout cela souvent. Leurs principales compétences "techniques" doivent être avec UML, un traitement de texte, d'autres outils de dessin technique et un logiciel de présentation. Donc, dans la plupart des cas, dans quelques années, ils commenceront à devenir moins et moins efficaces car leur connaissance du codage devient datée (par exemple, ils essaient de penser en C++ pendant que le projet est en C # ou Java). À ce moment-là, les gens intelligents apprennent à s'appuyer sur et à apprendre des mains sur les gens. Les autres deviennent une douleur à l'arrière parce qu'ils ont un temps plus difficile et plus difficile relatif à l'état de la technique.
Bien qu'il soit vrai que les architectes logiciels "do architecture", je pense que le rôle aujourd'hui est devenu beaucoup plus. Quelqu'un dans le rôle "Architecte logiciel" a tendance à être un chef de file, tant dans les compétences que dans le statut.
J'ai toujours aimé Définition d'un architecte logiciel de Neward :
Un architecte est le capitaine du navire, en faisant les décisions qui croient plusieurs domaines de préoccupation (navigation, ingénierie, etc.), prenant la responsabilité finale de la santé globale du navire et de son équipage (projet et ses membres), capable de Entrez dans n'importe quelle station pour effectuer ces tâches que le besoin se pose (le code d'écriture de toute partie du projet devrait-il perdre un membre). Il doit être familiarisé avec le domaine problématique, la technologie impliquée et surveiller les nouvelles technologies qui pourraient faciliter le projet ou répondre aux demandes de fonctionnalités des nouveaux clients.
Et plus tard sur:
... Quelqu'un dont les mains sont sales avec le code, agissant en tant que responsable technique, développeur, parfois-projet-gestionnaire et toujours axées sur la valeur client/entreprise ainsi que des détails techniques.
Malheureusement, tout le monde qui porte le titre "architecte logiciel" convient à cette définition. D'autres correspondent à la définition mais ne portent pas le titre. Néanmoins, je pense que c'est une définition plus précise de l'architecte logiciel moderne. Si rien d'autre, c'est un but digne de s'efforcer de s'efforcer.
Comme la plupart des titres de travail, il n'y a pas de définition, c'est juste un terme maquillé. Je décrirais un architecte logiciel comme une personne chargée de la conception d'applications techniques, de construire des éléments tels que les bibliothèques de base, les cadres d'application, etc. de toutes les tâches "architecturaines", c'est probablement le plus bas de la chaîne alimentaire.