Software Architect: Warum wird es benötigt und was ist sein Fluch

Gast der neuen Ausgabe des Dry Oars-Podcasts ist der Softwarearchitekt Yegor Taflanidi. Wir diskutieren, welche Art von metaphysischer Rolle dies ist, welche Schwierigkeiten es in der Arbeit gibt und was die dunkle Kraft damit zu tun hat.

Bild

Artyom Kulakov und Roma Choryev sind die Entwickler von Redmadrobot. Sie nehmen Röhren-Podcasts auf, in denen sie gemeinsam mit den Gästen verschiedene Aspekte der Erstellung von IT-Produkten diskutieren. Unten finden Sie einen Link zur neuen Ausgabe und Antworten auf einige dringende Fragen.


Timing
01:40 Egor erzählt, wie er Architekt wurde
12:40 Populäre Mythen: Ein Architekt ist die höchste Entwicklungsstufe eines Entwicklers; der Architekt weiß alles Gute und am meisten; der Architekt schreibt den Code nicht (weil er vergessen hat, wie man es macht); Ein Architekt sitzt und zeichnet einige Pläne
31:20 Diskussionen über moderne Programmiersprachen
39:10 System / Lösung / etc Architekt. Was bedeutet das alles?
47:50 Diskussion desselben "Fluches"
50:24 Wie man Architekt wird (Warnung: einige Witze)
55:16 Zeitmanagement: ein Arbeitstag eines Architekten - was macht er?
01:03:39 Was sind die Schwierigkeiten bei der Arbeit und wie können sie überwunden werden?
01:13:49 Und was kommt als nächstes? Was sind die Entwicklungsvektoren?
01:26:59 Die Antwort auf die Frage: Was ist der wahre Weg für den Architekten?

Wer ist ein Softwarearchitekt?


Ein Architekt ist ein Spezialist, der IT-Systeme zur Lösung geschäftlicher Probleme erstellt. Er ist mit allen Nuancen des Systemdesigns bestens vertraut.

Wenn Sie zum Beispiel eine Anwendung entwickeln müssen, zeigt Ihnen der Architekt, wie Sie vorgehen müssen, ohne auf einen Rechen zu treten. Er erklärt, welche Technologien verwendet werden sollen, auf welche Probleme man stoßen kann und legt den Grundstein für die Entwicklung des Projekts. Der Flugzeugkonstrukteur entscheidet, woraus das Flugzeug gebaut werden soll, und der Architekt entscheidet, mit welchen Technologien ein IT-System entwickelt werden soll, das das Problem löst.

Sollte ein Architekt alles verstehen?


Im Gespräch stellte sich heraus, dass dies von selbst herauskommt. Der Architekt ist in verschiedene Situationen involviert: Er kommuniziert mit dem Kunden, löst technische Probleme und beteiligt sich sogar an der Projektplanung. Wenn Sie möchten oder nicht, gehen Sie tiefer in das Geschäft ein und laden Sie die Managerfähigkeiten herunter. Egor erklärt:

- Das Ganze läuft auf zwei Dinge hinaus: Der Architekt muss die geschäftlichen Probleme lösen und das System von den Beschränkungen befreien. Wenn Sie wissen, dass das System nicht über die physische Fähigkeit verfügt, diese oder andere Dinge zu implementieren, aber ein geschäftlicher Bedarf besteht, müssen Sie herausfinden, wie und alles zusammensetzen. Wir können sagen: Stellen Sie sicher, dass die Schafe ganz und die Wölfe voll sind.

Tagsüber gibt ein Architekt eine Vielzahl von Informationen von Managern, Entwicklern und Kunden weiter. Am Ende des Tages stellt sich daher heraus, dass er die Situation aus verschiedenen Blickwinkeln kennt. Artyom fasste zusammen:

- Bei einem Architekten geht es mehr um Breite als um Tiefe. Sie müssen beispielsweise nicht in der Lage sein, mit Reflektion und einigen einfachen Dingen in Android zu arbeiten, aber es ist wichtig zu verstehen, wie das alles im Allgemeinen funktioniert.

Schreibt der Architekt den Code?


Kurz gesagt, Code einiger Architekten. Mehr dazu in einem fünfminütigen Diskurs im Podcast, der um 22:25 Uhr beginnt. Spoiler: Es geht um perfekten Code, perfektionistische Probleme und geschäftliche Anforderungen.

Wie werde ich Architekt?


Aufgrund ihrer Erfahrung sagten die Jungs, dass es unmöglich ist, einfach von Entwicklern zu Architekten zu wechseln. Die Notwendigkeit für diese Position sollte zuerst angezeigt werden. Erst dann wird eine Person aus dem Team dafür ausgewählt oder ein Spezialist von außen gerufen.

- Wir hatten es so: Das Unternehmen entwickelte sich, die Anzahl der Menschen und Projekte wuchs. Qualität musste erhalten bleiben, und so entstand eine freie „Nische der Verantwortung“.

Ist der Architekt der höchste Entwicklungsstand?


Das Studio war sich einig, dass dies definitiv ein Meilenstein in der Entwicklung des Entwicklers ist. Nehmen Sie den Architekten aber nicht als eine verbesserte Version des "Senioren". Egor erklärte, dass der Architekt nicht das Finale und nicht die Decke ist. Ein solcher Spezialist verfügt über große Fähigkeiten bei der Lösung von technischen Problemen. Daher gibt es viele Optionen für die Entwicklung. Sie können beispielsweise zum IoT wechseln, Programmiersprachen entwerfen oder in einen angrenzenden Bereich wechseln.

Und was für ein "Fluch"?


Also erklärt Jegor dieses Phänomen:

„Der Fluch ist, dass, wenn ein Architekt benötigt wird und eine Person diese Position innehat, kein anderer Architekt in diesem Unternehmen werden kann.

Er sagte, dass es unwahrscheinlich sei, dass der Spezialist, der sein Amt angetreten hat, in Zukunft (innerhalb des Unternehmens) irgendetwas anderes tun kann. Dies liegt an der Tatsache, dass es schwierig ist, seinen Stellvertreter zu „erziehen“. Dies geschieht aus verschiedenen Gründen: Die Aufgaben eines Architekten sind schwer zu delegieren, es gibt nicht immer eine Person, die den Platz des Ersatzes einnehmen möchte, und es fehlt einfach die Zeit für eine Schulung.

Hören Sie den Podcast auf einer praktischen Plattform - SoundCloud , Apple , Google Podcasts .

Nützliche Links


Wichtige Artikel, Videos und Bücher für diejenigen, die sich in einen Architekten verwandeln möchten:

Viele nützliche Artikel und Videos, die nützlich sind, um vom Entwickler zum Architekten zu wechseln.

Software-Architektur in der Praxis, L. Bass - die Grundlagen eines Architekten.

Softwaresystemarchitektur: Arbeiten mit Interessengruppen unter Verwendung von Ansichten und Perspektiven ist eines der Hauptbücher, in denen die Prinzipien des Architekten am ausführlichsten beschrieben werden.

Release It!: Entwerfen und Bereitstellen von produktionsfähiger Software - Geschichten zum Entwerfen von Software und was passiert, wenn sie schief entwickelt wird.

Muster der Unternehmensanwendungsarchitektur - Erinnerungen des alten Martin Fowler an das Entwerfen von Software.

Domain-Driven Design - Komplexität im Herzen von Software angehen E. Evans - über die richtige Modellierung.

Anwenden von UML und Mustern: Eine Einführung in die objektorientierte Analyse und den Entwurf sowie die iterative Entwicklung C. Larman - project @ document,% username%.
Entwickeln von Anforderungen für Software, K. Wigers - Microsoft schreibt über das Entwickeln von Anforderungen.

Übersicht über Entwurfsmuster.

Besprechen Sie das Problem im Telegramm-Chat.

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


All Articles