Architecte logiciel: pourquoi est-il nécessaire et quelle est sa malédiction

L'invité du nouveau numéro du podcast Dry Oars est l'architecte logiciel Yegor Taflanidi. Nous discutons de quel genre de rôle métaphysique il s'agit, quelles difficultés il y a dans le travail et qu'est-ce que la force obscure a à voir avec cela.

image

Artyom Kulakov et Roma Choryev sont les développeurs de Redmadrobot. Ils enregistrent des podcasts de tubes où, avec des invités, ils discutent des différents aspects de la création de produits informatiques. Vous trouverez ci-dessous un lien vers le nouveau numéro et des réponses à plusieurs questions urgentes.


Timing
01:40 Egor raconte comment il est devenu architecte
12:40 Mythes populaires: un architecte est le stade de développement le plus élevé d'un développeur; l'architecte en sait le meilleur et le plus; l'architecte n'écrit pas le code (car il a oublié comment le faire); un architecte s'assoit et dessine des schémas
31:20 Discussions sur les langages de programmation modernes
39:10 Architecte système / solution / etc. Qu'est-ce que tout cela signifie?
47:50 Discussion de la même "malédiction"
50:24 Comment devenir architecte (avertissement: quelques blagues)
55:16 Gestion du temps: une journée de travail d'un architecte - que fait-il?
01:03:39 Quelles sont les difficultés du travail et comment les surmonter
01:13:49 Et quelle est la prochaine: quels sont les vecteurs de développement
01:26:59 La réponse à la question: quelle est la vraie voie pour l'architecte?

Qui est architecte logiciel?


Un architecte est un spécialiste qui construit des systèmes informatiques pour résoudre des problèmes commerciaux. Il connaît bien toutes les nuances de la conception d'un système.

Si vous avez besoin de développer, par exemple, une application, l'architecte vous dira comment le faire sans marcher sur un râteau. Il expliquera quelles technologies utiliser, quels problèmes peuvent être rencontrés et jettera les bases du développement du projet. Le concepteur d'aéronef décide de quoi construire l'avion, et l'architecte décide avec quelles technologies développer un système informatique qui résoudra le problème.

Un architecte doit-il tout comprendre?


Au cours de la conversation, il s'est avéré que cela ressortait tout seul. L'architecte est impliqué dans différentes situations: il communique avec le client, résout les problèmes d'ingénierie et participe même à la planification du projet. Si vous le souhaitez ou non, vous allez plus loin dans l'entreprise et téléchargez la compétence de gestion. Egor explique:

- L'essence se résume à deux choses: l'architecte doit résoudre les problèmes de l'entreprise et il doit éloigner le système des restrictions. Si vous savez que le système n'a pas la capacité physique de mettre en œuvre ces éléments ou d'autres, mais qu'il existe un besoin métier, votre tâche consiste à comprendre comment et à tout assembler. Nous pouvons dire: assurez-vous que les moutons sont entiers et que les loups sont pleins.

Au cours de la journée, un architecte transmet une énorme quantité d'informations provenant des gestionnaires, des développeurs et des clients. Par conséquent, à la fin de la journée, il s'avère qu'il connaît la situation sous différents angles. Artyom a résumé:

- Un architecte est plus une question de largeur que de profondeur. Par exemple, vous n'avez pas besoin de pouvoir travailler avec la réflexion et certaines choses de bas niveau dans Android, mais il est important de comprendre comment tout cela fonctionne en général.

L'architecte Ă©crit-il le code?


Bref, certains architectes codent. Plus d'informations à ce sujet dans un discours de cinq minutes dans le podcast, à partir de 22h25. Spoiler: Il s'agit de code parfait, de problèmes perfectionnistes et d'exigences métier.

Comment devenir architecte?


Sur la base de leur expérience, les gars ont dit qu'il était impossible de simplement passer des développeurs aux architectes. Premièrement, ce poste doit être nécessaire. Ce n'est qu'ensuite qu'une personne de l'équipe est sélectionnée ou qu'un spécialiste de l'extérieur est appelé.

- Nous l'avons fait de cette façon: l'entreprise se développait, le nombre de personnes et de projets augmentait. La qualité devait être maintenue, alors le moment est venu où une «niche de responsabilité» libre est apparue.

L'architecte est-il le niveau de développement le plus élevé?


Le studio a convenu qu'il s'agissait définitivement d'une étape importante dans le développement du développeur. Mais ne prenez pas l'architecte comme une version améliorée du "senior". Egor a expliqué que l'architecte n'est pas le final et non le plafond. Un tel spécialiste a une forte compétence dans la résolution de problèmes d'ingénierie, il existe donc de nombreuses options de développement. Par exemple, vous pouvez accéder à l'IoT, concevoir des langages de programmation ou aller dans une zone adjacente.

Et quel genre de "malédiction"?


Yegor explique donc ce phénomène:

«La malédiction est que lorsqu'il y a un besoin d'architecte et qu'une personne occupe ce poste, personne d'autre ne peut devenir architecte dans cette entreprise.

Il a déclaré que le spécialiste qui a pris ses fonctions ne sera probablement pas en mesure de faire autre chose à l'avenir (au sein de l'entreprise). Cela est dû au fait qu’il est difficile d’éduquer son adjoint. Cela se produit pour diverses raisons: les tâches d'un architecte sont difficiles à déléguer, il n'y a pas toujours une personne qui veut se substituer et il n'y a tout simplement pas assez de temps pour la formation.

Écoutez le podcast sur une plateforme pratique - SoundCloud , Apple , Google Podcasts .

Liens utiles


Articles, vidéos et livres importants pour ceux qui veulent se transformer en architecte:

De nombreux articles et vidéos utiles pour passer des développeurs aux architectes.

L'architecture logicielle en pratique, L. Bass - les bases d'un architecte.

L'architecture des systèmes logiciels: travailler avec les parties prenantes à l'aide de points de vue et de perspectives est l'un des principaux ouvrages décrivant le mieux les principes de l'architecte.

Release It!: Concevez et déployez un logiciel prêt pour la production - des histoires sur la façon de concevoir un logiciel et ce qui se passe quand il est conçu de manière tordue.

Patterns of Enterprise Application Architecture - mémoires du vieux Martin Fowler sur la conception de logiciels.

Conception pilotée par domaine - S'attaquer à la complexité au cœur du logiciel E. Evans - sur la bonne modélisation.

Application d'UML et de modèles: une introduction à l'analyse et à la conception orientées objet et au développement itératif C. Larman - project @ document,% username%.
Développement des exigences pour les logiciels, K. Wigers - Microsoft écrit sur le développement des exigences.

Aperçu des modèles de conception.

Venez discuter de la question dans le chat Telegram.

Source: https://habr.com/ru/post/fr482094/


All Articles