Der Weg des Architekten: Zertifizierung und Eintauchen in Produkte

Fast jeder Entwickler fragt, wie er seine Fähigkeiten entwickeln und welche Wachstumsrichtung er wählen soll: vertikal - das heißt, Manager werden oder horizontal - Full Stack. Die langjährige Arbeit an einem Produkt ist im Gegensatz zu den Mythen keine Einschränkung, sondern eine nützliche Gelegenheit. In diesem Artikel teilen wir die Erfahrung unseres Backend-Entwicklers Alexei, der 6 Jahre lang zertifiziert war und in dieser Zeit zum Architekten gereist ist.



Wer ist Architekt?


Ein Architekt in der IT (technische Leitung) ist ein hochrangiger Entwickler, der sich mit globalen Problemen in IT-Projekten befasst. Er taucht in die Geschäftsprozesse des Kunden ein und hilft, seine Probleme mit Hilfe von Technologien zu lösen, und bestimmt auch, wie dieses oder jenes Informationssystem angeordnet wird.

Ein solcher Fachmann muss nicht nur einzelne Fachgebiete verstehen, sondern auch den gesamten Prozess sehen:

  • Festlegen einer Geschäftsaufgabe.
  • Entwicklung, einschließlich Programmierung, Aufbereitung, Speicherung und Verarbeitung von Daten.
  • Bereitstellung und Unterstützung der Infrastruktur.
  • Testen.
  • Bereitstellen.
  • Analytik und Wartung.

Dies bedeutet, dass Sie sich von innen heraus an die Stelle eines Spezialisten oder Teams im Entwicklungslebenszyklus setzen können, um den aktuellen Status der Systeme zu verstehen, die gemachten Fehler zu identifizieren und Ziele zu formulieren. Manchmal - um chirurgische Eingriffe persönlich durchzuführen.

Der Weg der beruflichen Entwicklung vom Entwickler zum Architekten dauert lange - in der Regel mehrere Jahre. Hierfür benötigt der Entwickler sowohl praktische Fähigkeiten als auch theoretische Kenntnisse, die durch eine internationale Zertifizierung bestätigt werden können.

Mehr als 5 Jahre bei einem Projekt - Routine oder Wachstumschance?


Vor einigen Jahren begannen wir mit der Arbeit an einem großen medizinischen IT-System für einen ausländischen Kunden. Bei diesem Großprojekt gab es bestimmte Probleme:

  • eingeschränkter Zugang;
  • instabiler Stoß;
  • Unglaublich gedehnte Sprints und lange Koordination.

„Es ist Zeit, die Qualifikationen zu verbessern“, entschied sich einer der führenden Entwickler, Alexei, um diese Schwierigkeiten zu überwinden und das System besser zu verstehen.

Alexey teilte seine Erfahrungen mit, wie man mit dem Training beginnt, welche Zertifikate es braucht, wie und warum man es macht.

Erster Schritt: Upgrade auf Englisch


Programmiersprachen sind ein grundlegender Bestandteil der Entwicklung, aber nicht weniger wichtig sind Sprachen für die Kommunikation. Besonders in der Kommunikation mit dem englischsprachigen Kunden!
Aus der Praxis

Eines schönen Tages rief ein Mitarbeiter des Kunden Alexey an. Dann konnte unser Entwickler noch nicht über eine Reihe von Zertifikaten verfügen - weder in der Technologie noch im Management oder in der Kommunikation. Vielleicht wären sie nicht nützlich - weil Sie ein kompetenter Spezialist ohne zusätzliche Insignien sein können. Aber das Problem trat immer noch auf.

Sie müssen verstehen, dass gesprochene Sprache sich grundlegend von geschriebener Sprache unterscheidet. Wenn Sie sich mit englischen Spezifikationen auskennen, aber nicht zuhören und sprechen, dann haben wir schlechte Nachrichten für Sie. In diesem Fall können Telefongespräche mit Partnern zu einer Sackgasse führen.

Alexey beim Telefonat hat einige vertraute Wörter aufgegriffen, aber die Rede der Kollegin war so schnell und im Gegensatz zur klassischen Aussprache aus dem Audio-Unterricht, dass das Wesentliche ihrer Fragen irgendwo vorbeiging. Aus Höflichkeit und Unwillen, die Situation zu verkomplizieren, stimmte Alex schnell allen Vorschlägen zu.

Unnötig zu erwähnen, dass bei der Arbeit unangenehme Entdeckungen gemacht wurden? Unser Entwickler hat etwas abonniert, das er absolut bewusst ablehnen würde, wenn der Vorschlag in einer klaren Sprache verfasst würde.

In diesem Moment wurde klar, dass es einfach notwendig ist, zuzuhören und zu sprechen. Der beste Weg, dies zu erreichen, war die Zertifizierung.

Englisch Zertifizierung


Um die Kommunikation im Rahmen unseres medizinischen Projekts zu verbessern, studierte Alex gleichzeitig in mehreren Programmen. Als Ergebnis bestand er die FCE-Zertifizierung - First Certificate in English. Dies half, den Kunden zu hören und ihm seine Gedanken mitzuteilen.
Lifehack:

Vermeiden Sie grundlegende Englisch-Trainingsprogramme. Geschicklichkeit muss ins Visier genommen werden. Wenn Sie Englisch für die Geschäftskommunikation benötigen, müssen Sie es mitnehmen. Gehen Sie einfach nicht ins Extreme und nehmen Sie CAE (Certificate in Advanced English). Seine Besonderheit sind raffinierte Wörter, spezifische Ausdrücke, die in der internationalen Kommunikation so gut wie nie verwendet werden.



Schritt zwei: Zertifizierung über den gesamten Technologie-Stack


Ursprünglich basierte das Projekt auf der Technologie des objektrelationalen Mappings ORM. Das Kundenentwicklungsteam war stolz auf seine Idee, denn alles wurde mit fortschrittlichen Konzepten durchgeführt. Es ist schwierig und cool.

Trotzdem waren Probleme auf dem Produkt - insbesondere auf dem ständig einfrierenden SQL-Server - keine Seltenheit. Es kam zu dem Punkt, dass die typische Lösung des Problems darin bestand, den Dienst neu zu starten. Der Kunde rief den Teamleiter an und sagte, es sei Zeit für einen Neustart. Schließlich beschlossen wir, es zu beenden.

Der Kunde wollte die Leistung des Systems ermitteln - dazu war es notwendig, ein Profiling durchzuführen und regelmäßig zu optimieren. Zu diesem Zeitpunkt, ungefähr im Jahr 2015, wurde Ants Profiler als Profilerstellungswerkzeug ausgewählt, zeigte sich jedoch schlecht. Mit wenigen Details war es schwierig, Informationen über einen kritischen Codeblock abzurufen. Am detailliertesten änderte Ants Profiler den Code, sodass die Leistung der Systeme gefährdet war - wo die Profilerstellung konfiguriert war, fiel alles einfach weg. Deshalb haben wir den Ansatz geändert.

Wir haben mit der Analyse von Statistiken begonnen

Bei der Analyse der Verkaufsstatistik wurde deutlich, dass 95% der Arbeit auf dem Server eine primitive 4-Zeilen-Geschäftslogik aufweist. Für sie war eine SQL-Abfrage ausreichend und nicht der gesamte Satz von Abfragen, die vom Geschäftslogikblock mit ORM generiert wurden.

Alex hat eine gespeicherte Prozedur zum Verschieben von Jobs ohne ORM vorgeschlagen und implementiert. Die Idee widersprach dem üblichen Paradigma des Projekts, die Teamleiterin traf sie vorsichtig, aber der Kunde akzeptierte alles und verlangte die Umsetzung. Dies war nicht überraschend, da mit der neuen Methode die Verarbeitungsverzögerungen am Produkt von vier Stunden auf mehrere Minuten reduziert werden konnten - durchschnittlich 98 Mal.

Trotzdem hatten wir immer noch Zweifel: Ist das die richtige Entscheidung oder eine Frage der persönlichen Vorlieben? Der Glaube an allmächtiges C # und ORM wurde durch Zufall erschüttert, was die volle Kraft einfacher Lösungen zeigte.
Zweiter Fall

Das Team schrieb eine Anfrage für die Arbeit mit Daten im Rahmen des ORM-Paradigmas, die nach allen Regeln fehlerfrei zusammengestellt wurde. Die Verarbeitung dauerte 2-3 Minuten und diese Parameter schienen akzeptabel. Eine alternative Implementierung unter Verwendung der einfachsten Auswahl und Ansicht lieferte jedoch das Ergebnis schneller - in 2 Sekunden.

Es wurde deutlich, dass es an der Zeit war, einen Spezialisten zu wählen, der während des gesamten Projektstapels zertifiziert wird, um alle Nuancen zu verstehen und die beste Methode zu wählen. Diese Aufgabe wurde von Alexey übernommen.

Erste Zertifikate

Um das Wesentliche zu verstehen, hat Alex mehrere Microsoft-Zertifizierungen durchlaufen, die den gesamten technologischen Stapel des Projekts abdeckten:

  • TS: Windows-Anwendungsentwicklung mit Microsoft .NET Framework 4
  • TS: Zugreifen auf Daten mit Microsoft .NET Framework 4-Programmierung in C #
  • TS: Microsoft .NET Framework 3.5 Windows Forms-Anwendungsentwicklung
  • PRO: Entwerfen und Entwickeln von Windows-Anwendungen mit Microsoft .NET Framework 3.5
  • PRO: Entwerfen und Entwickeln von Windows-basierten Anwendungen mithilfe von Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 - Windows-basierte Client-Entwicklung

Bei dem Versuch, die Arbeit an einem neuen Projekt zu optimieren, gelangte das Team zu den folgenden Schlussfolgerungen:

  • Damit die Systeme funktionieren, müssen Sie die Regeln für das Schreiben von Code befolgen: keine Einrückungen und Kommentare, sondern technische Spezifikationen - die Anzahl der Aufrufe der Datenbanken, die Auslastung des Servers und vieles mehr.
  • Die Verwendung widersprüchlicher Konzepte ist problematisch. Das Konzept der Datenbanken ist eine Mengenlehre, während ORM das Konzept der Operationen ist.
  • Ideen, die die übliche Reihenfolge stören, können im Team auf Widerstand stoßen. Entwicklung ist auch eine Beziehung und die Fähigkeit, den eigenen Standpunkt zu vertreten.
  • Durch die Zertifizierung wird der Geist erweitert und Sie können verstehen, was Sie verwenden können und was Sie nicht verwenden können.



Schritt drei: Erfahren Sie mehr als nur Code


Bei der Arbeit an umfangreichen IT-Lösungen sind viele Faktoren wichtig. Zum Beispiel achtet nicht jeder Entwickler auf die Netzwerkparameter - aber selbst die Bandbreite kann die Lösung eines Geschäftsproblems beeinflussen.

Ein Verständnis davon wird durch die Zertifizierung der 98er Serie gegeben :


Sie ermöglichen es Ihnen, die Dinge genauer zu betrachten und das eingeschränkte Konzept von „nur Code“ zu verlassen. Dies sind die Grundlagen, aber sie sind wichtig, um alles auf einer tieferen Ebene zu verstehen.

Zertifizierungen der Serie 98 sind kleine Tests - 30 Fragen für 45 Minuten.

Vierter Schritt: Prozessmanagement


Die Zusammenarbeit mit Kliniken ist verantwortungsbewusster als beispielsweise die Erstellung eines Handyspiels. Hier können Sie keine Funktion hinzufügen und in das Produkt einführen - es ist wichtig, den Prozess der Koordination und der Vornahme zahlreicher Änderungen durch den Kunden zu verfolgen, da die Gesundheit und das Leben der Menschen auf dem Spiel stehen.

Typisch agil lieferte bei diesem Projekt nicht die gewünschten Ergebnisse, und jeder Sprint dauerte lange genug. Zwischen den Einsätzen lagen sechs Monate bis ein Jahr.

Darüber hinaus war es technisch unmöglich, die Prozesse von zehn betreuten Kliniken auf einen Nenner zu bringen.

Um unter diesen Bedingungen schneller zum Ergebnis zu kommen, benötigten die Entwickler Eigenverantwortung und eine umfassende Prozessvision - was eine konstante Konzentration der Aufmerksamkeit und eine hohe Qualifikation bedeutet.

Wenn ein Fachmann in den Prozess eintaucht, sieht er klar die Ergebnisse, Ursachen und Auswirkungen, das ganze Bild. Dies ist gleichzeitig ein Faktor der zusätzlichen Motivation und des Bewusstseins, wodurch die Fähigkeit zur Lösung von Problemen und Problemen verbessert wird.

Mit einer gut ausgebauten Infrastruktur, einer gut ausgebauten Architektur und einem optimalen Code kann eine Person viele Prozesse übernehmen. Dies bedeutet jedoch nicht, dass Universalsoldaten herangezogen werden müssen, die in der Lage sind, das Projekt allein zu leiten. Kommunikation und Teamarbeit sind entscheidend.

Im Team versteht jeder Entwickler, dass Kollegen von seinen Handlungen abhängen. Das Einsparen von 5 Minuten in der Entwicklungsphase bedeutet wahrscheinlich 5 zusätzliche Teststunden. Um dies zu verstehen, ist es wichtig, eine Kommunikation herzustellen.

In unserem Projekt halfen die Zertifikate von EXIN bei der Beherrschung der Prozesse von Alexey:

  • M_o_R Foundation Certificate in Risikomanagement
  • Agile Scrum Foundation
  • IT Service Management Foundation
  • EXIN Business Information Management-Stiftung
  • PRINCE2 Foundation Certificate in Projektmanagement
  • Prüfingenieur-Zertifikat
  • Microsoft Operations Framework Foundation
  • Agile Serviceprojekte

Bei edX wurden Kurse besucht, die dazu beitrugen, das System aus Sicht der Statistik und der Lean-Programmierung zu betrachten, und später aufgefordert wurden, ein Architektenzertifikat zu erhalten :

  • Schlanke Produktion
  • Six Sigma: Analysieren, Verbessern, Kontrollieren
  • Six Sigma: Definieren und messen

Nach dem Six Sigma-Prinzip liefert die statistische Kontrolle ein qualitatives Ergebnis mit extrem hoher Wahrscheinlichkeit.

Wenn der Entwickler sein Niveau erhöht, kommt er in der Regel zu folgenden Schlussfolgerungen:

  • Arbeiten Sie nicht viel, aber effizient.
  • Machen Sie das Leben nicht komplizierter, wenn Sie nach außen streben: Ausgereifte Technologien lösen Probleme nicht unbedingt besser.
  • Schließen Sie sich in allen Phasen des Zyklus mit Spezialisten an und finden Sie ihre Schmerzen heraus. Der Architekt muss Eigentümer der Prozesse sein: Problemidentifikation, Problemstellung, Entwurf der Netzwerktopologie, Entwicklung, Test, Support, Betrieb.
  • Überprüfen Sie alle Funktionen von und bis.
  • Es kommt vor, dass IT-Prozesse nicht mit Geschäftsprozessen korrespondieren, und dies muss bekämpft werden.



Fünfter Schritt: Architektur durch das Prisma von Big Data verstehen


Bei dem Projekt handelten wir mit ziemlich großen Datenbanken. Zumindest schien es zu einem bestimmten Punkt. Als Alex anfing, große Datenmengen in edX zu studieren, stellte sich heraus, dass es sich bei 1,5 TB des Projekts um eine kleine Datenbank handelt. Ernsthafte Skalen - ab 10 Tb und andere Methoden sind dort erforderlich.

Der nächste Schritt zur Zertifizierung war der Big-Data-Kurs. Er half dabei, die Organisation des Datenflusses zu verstehen und den Betrieb des Produkts zu beschleunigen. Und achten Sie auch auf kleine Werkzeuge, zum Beispiel Excel, um einzelne Mikrotasks zu lösen.

Zertifikat:
Microsoft Professional-Programm: Big Data-Zertifikat



Schritt sechs: Vom Entwickler zum Architekten


Nachdem Alexei alle diese Zertifikate erhalten hatte, als er noch Entwickler war, wurde ihm klar, dass die erhaltenen Informationen einen hohen Abstraktionsgrad aufwiesen, und dies war alles andere als schlecht.

Eine umfassende Vision von Prozessen führt zum Niveau eines Architekten, einer der höchsten Zertifizierungsstufen.

Auf der Suche nach einer Zertifizierung als Architekt ging Alex zu Certified Software Architect - Microsoft Platform von Sundblad & Sundblad. Dies ist ein von Microsoft anerkanntes Programm, dessen Entwicklung vor 14 Jahren in Zusammenarbeit mit dem Hauptsitz und der schwedischen Niederlassung des Unternehmens begann. Es deckt das .NET Framework, die Anforderungserfassung, das Informationsflussmanagement und viele andere Themen auf hoher Ebene ab und gilt als starke Bestätigung der Fähigkeiten des Architekten.

Das Programm umfasste Studiengänge. Die Zertifizierung systematisierte das Wissen und ermöglichte den Eintritt in eine neue Entwicklungsrunde - vom Entwickler bis zum Architekten.



Um es zusammenzufassen


Wie Alexey bemerkt, ist es bei der Arbeit mit einem großen IT-System wichtig, sich daran zu erinnern, dass Programmierung keine teure Unterhaltung ist, sondern ein Werkzeug zur Lösung geschäftlicher Probleme. Vor einer besonderen Herausforderung muss auf jeden Fall ein Unternehmenswert vorgegeben werden, damit das Projekt nicht zum Erliegen kommt.

Der Architekt hat einen besonderen Blick auf die Programmierung und ihre elementaren Bestandteile:

  • Datenfluss erstellen und / oder unterstützen
  • Abrufen eines Informationsstroms basierend auf einem Datenstrom
  • Abrufen eines Wertestroms basierend auf einem Informationsstrom
  • Monetarisierung des Wertstroms

Wenn Sie das Projekt mit den Augen eines Architekten betrachten, müssen Sie am Ende beginnen: Formulieren Sie den Wert und gehen Sie dann durch den Datenstrom zu ihm.

Ein Architekt folgt den Gestaltungsregeln mit einer globalen Vision für das Projekt. Es ist fast unmöglich, durch Übung und eigene Fehler dazu zu kommen - genauer gesagt, es ist möglich, aber für eine sehr lange Zeit. Mit der Zertifizierung können Sie Ihren Horizont erweitern und den vollständigen Kontext jeder Frage betrachten, die Erfahrung von Tausenden von Fachleuten kennenlernen und die Fähigkeiten entwickeln, um Probleme effektiv zu lösen.

Heute arbeiten wir seit mehr als fünf Jahren mit dem oben genannten medizinischen System und haben wesentliche Verbesserungen vorgenommen. In dieser Zeit hat Alex mehr als 20 Zertifizierungsprüfungen bestanden:

  1. TS: Windows-Anwendungsentwicklung mit Microsoft .NET Framework 4
  2. TS: Zugreifen auf Daten mit Microsoft .NET Framework 4-Programmierung in C #
  3. TS: Microsoft .NET Framework 3.5 Windows Forms-Anwendungsentwicklung
  4. PRO: Entwerfen und Entwickeln von Windows-Anwendungen mit Microsoft .NET Framework 3.5
  5. PRO: Entwerfen und Entwickeln von Windows-basierten Anwendungen mithilfe von Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 - Windows-basierte Client-Entwicklung
  7. 98-361: Grundlagen der Softwareentwicklung
  8. 98-364: Datenbankgrundlagen
  9. M_o_R Foundation Certificate in Risikomanagement
  10. Agile Scrum Foundation
  11. IT Service Management Foundation
  12. EXIN Business Information Management-Stiftung
  13. PRINCE2 Foundation Certificate in Projektmanagement
  14. Prüfingenieur-Zertifikat
  15. Microsoft Operations Framework Foundation
  16. Agile Serviceprojekte
  17. Schlanke Produktion
  18. Six Sigma: Analysieren, Verbessern, Kontrollieren
  19. Six Sigma: Definieren und messen
  20. Microsoft Professional-Programm: Big Data-Zertifikat
  21. Zertifizierter Software-Architekt - Microsoft Platform



Alex hat alle Prüfungen bestanden und ist von einem führenden Entwickler zu einem Projektarchitekten herangewachsen. Darüber hinaus hat sich die Zertifizierung zu einem wirksamen Instrument für die berufliche Entwicklung und den Ruf des Kunden entwickelt.

Der „Zertifizierungs-Widder“ half dabei, Zugang zu einzelnen kritischen Prozessen zu erhalten, die überwacht und entwickelt werden mussten. Europäische Kunden von IT-Lösungen schätzen in der Regel zertifizierte Spezialisten und sind bereit, ihnen mehr Handlungsspielraum zu geben.

Vielen Dank für Ihre Aufmerksamkeit! Wir hoffen, Sie finden diesen Artikel hilfreich.

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


All Articles