Der Weg des Architekten: Zertifizierung und Eintauchen in das Produkt

Fast jeder Entwickler fragt sich, wie er seine Fähigkeiten weiterentwickeln und in welche Wachstumsrichtung er gehen sollte: vertikal, also in eine Führungsposition, oder horizontal, als Fullstack-Entwickler. Langjährige Arbeit an einem Produkt ist, entgegen der gängigen Mythen, nicht ein Hindernis, sondern eine wertvolle Gelegenheit. In diesem Artikel teilen wir die Erfahrungen unseres Backend-Entwicklers Alexej, der 6 Jahre mit Zertifizierungen verbracht hat und in dieser Zeit den Weg bis zum Architekten gegangen ist.

Der Weg des Architekten: Zertifizierung und Eintauchen in das Produkt

Wer ist ein Architekt?

Ein Architekt in der IT (Tech-Lead) ist ein hochqualifizierter Entwickler, der sich mit globalen Fragen in IT-Projekten auseinandersetzt. Er taucht in die Geschäftsprozesse des Kunden ein und hilft, dessen Probleme mit Hilfe von Technologien zu lösen. Außerdem definiert er, wie ein bestimmtes Informationssystem aufgebaut ist.

Ein solcher Profi muss nicht nur Kenntnisse in einzelnen Fachbereichen haben, sondern auch den gesamten Prozess überblicken:

  • Festlegung der Geschäftsanforderung.
  • Entwicklung, einschließlich Programmierung, Vorbereitung, Speicherung und Verarbeitung von Daten.
  • Bereitstellung und Unterstützung der Infrastruktur.
  • Testen.
  • Deployment.
  • Analyse und Betrieb.

Das bedeutet, die Perspektive jedes Spezialisten oder Teams im Lebenszyklus der Entwicklung einzunehmen, den aktuellen Zustand der Systeme aus der Innenansicht zu verstehen, gemachte Fehler zu identifizieren und Ziele zu formulieren. Manchmal ist es erforderlich, selbstständig ein operatives Eingreifen durchzuführen.

Der Weg der professionellen Entwicklung vom Entwickler zum Architekten dauert in der Regel mehrere Jahre. Dazu benötigt ein Entwickler sowohl praktische Fähigkeiten als auch theoretisches Wissen, das durch internationale Zertifizierung belegt werden kann.

Über 5 Jahre an 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 Auftraggeber. In diesem umfangreichen Projekt gab es bestimmte Probleme:

  • eingeschränkte Zugriffe;
  • instabile Produktion;
  • unglaublich lange Sprints und langwierige Genehmigungen.

„Es ist Zeit, sich weiterzubilden“, — zu diesem Schluss kam einer der führenden Entwickler, Alexey, um die genannten Schwierigkeiten zu überwinden und das System besser zu verstehen.

Alexej teilt seine Erfahrungen darüber, wie man am besten mit dem Lernen beginnt, welche Zertifikate wichtig sind und wie und warum man das macht.

Schritt eins: Verbessern Sie Ihr Englisch

Programmiersprachen sind ein grundlegender Bestandteil der Entwicklung, aber Kommunikationssprachen sind nicht weniger wichtig. Besonders bei der Kommunikation mit einem englischsprachigen Kunden!

Aus der Praxis

Eines schönen Tages erhielt Alexej einen Anruf von einer Mitarbeiterin des Kunden. Zu diesem Zeitpunkt konnte unser Entwickler noch nicht mit einer Vielzahl von Zertifikaten glänzen — weder in Technologien noch im Management oder in der Kommunikation. Vielleicht wären sie auch nicht nötig gewesen — denn ein kompetenter Spezialist kann auch ohne zusätzliche Auszeichnungen erfolgreich sein. Aber es gab dennoch ein Problem.

Man muss verstehen, dass die gesprochene Sprache radikal von der schriftlichen abweicht. Wenn Sie sich in englischsprachigen Spezifikationen bestens auskennen, aber das Hören und Sprechen nicht üben, haben wir schlechte Nachrichten für Sie. In diesem Fall könnten Telefongespräche mit Partnern zu einem Stillstand führen.

Alexey erkannte einige vertraute Worte am Telefon, aber die schnelle und unkonventionelle Sprache seines Kollegen war so weit entfernt vom klassischen Unterrichtsenglischniveau, dass die Hauptinhalte der Fragen vollständig an ihm vorbeigingen. Aus Höflichkeit und um die Situation nicht zu komplizieren, stimmte Alexey schnell allen Vorschlägen zu.

Es versteht sich von selbst, dass während der Arbeit unangenehme Entdeckungen gemacht wurden. Unser Entwickler hätte freiwillig auf das verzichtet, was er in vollem Bewusstsein unterzeichnet hat, hätte das Angebot in einer verständlichen Sprache vorgelegen.

In diesem Moment wurde klar, dass es dringend notwendig ist, die Fähigkeiten im Hör- und Sprechverstehen auszubauen. Die besten Möglichkeiten dazu waren Zertifizierungen.

Zertifizierung in Englisch

Um die Kommunikation in unserem medizinischen Projekt zu verbessern, hat Alexey an mehreren Programmen gleichzeitig teilgenommen. Dadurch bestand er die FCE-Zertifizierung – First Certificate in English. Das half ihm, den Kunden besser zu verstehen und seine Gedanken klar zu vermitteln.

Life Hack:

Vermeiden Sie Schulungen im Grundlagenenglischniveau. Die Sprache sollte gezielt erlernt werden. Wenn Sie Englisch für geschäftliche Kommunikation benötigen, sollten Sie sich darauf konzentrieren. Vermeiden Sie es jedoch, ins Extrem zu gehen und das CAE (Certificate in Advanced English) abzulegen. Es zeichnet sich durch ausgeklügelte Wörter und spezifische Ausdrücke aus, die in der internationalen Kommunikation kaum Verwendung finden.

Der Weg des Architekten: Zertifizierung und Eintauchen in das Produkt

Schritt zwei: Zertifizierung über den gesamten Technologie-Stack

Ursprünglich basierte das Projekt auf der Technologie der objekt-relationale Abbildung (ORM). Das Entwicklerteam des Auftraggebers war stolz auf ihr Produkt, da alles mit modernsten Konzepten, komplex und beeindruckend, umgesetzt wurde.

Dennoch waren Probleme in der Produktion, insbesondere mit dem ständig hängenden SQL-Server, nichts Ungewöhnliches. Es kam so weit, dass das typische Problembeheben darin bestand, den Dienst neu zu starten. Der Auftraggeber rief den Teamleiter an und teilte mit, dass es an der Zeit sei, neu zu starten. Schließlich beschlossen wir, diesem Problem ein Ende zu setzen.

Der Kunde wollte die Systemleistung optimieren – dafür musste ein Profiling-Tool implementiert und regelmäßige Optimierungen durchgeführt werden. Zu diesem Zeitpunkt, etwa 2015, entschieden wir uns für den Ants Profiler als Profiling-Werkzeug, doch dessen Leistung war unzureichend. Bei geringer Detailtiefe war es schwierig, Informationen über kritische Codeabschnitte zu erhalten. Bei maximaler Detailtiefe begann der Ants Profiler, den Code so zu verändern, dass die Funktionsfähigkeit der Systeme gefährdet war – überall dort, wo das Profiling eingerichtet war, kam es zu Abstürzen. Daher änderten wir unseren Ansatz.

Wir begannen mit einer Analyse der Statistiken

Bei der Analyse der Verkaufsstatistiken wurde deutlich, dass 95 % der Vorgänge auf dem Server eine primitive Geschäftslogik von nur 4 Zeilen aufwiesen. Für diese genügte ein einziger SQL-Befehl, anstatt des vollständigen Satzes an Anfragen, der von der Geschäftslogik mit ORM generiert wurde.

Aleksey hat ein gespeichertes Verfahren zur Migration von Jobs ohne ORM vorgeschlagen und umgesetzt. Die Idee widersprach der gewohnten Projektparadigmen, der Teamleiter begegnete ihr skeptisch, doch der Kunde akzeptierte alles und forderte die Implementierung. Das war wenig überraschend, denn die neue Methode ermöglichte, die Verarbeitungszeiten in der Produktion von vier Stunden auf nur wenige Minuten zu reduzieren - im Durchschnitt um das 98-fache.

Dennoch blieben Zweifel: Ist das die richtige Entscheidung oder lediglich eine Frage der persönlichen Vorlieben? Der Glaube an die Allmacht von C# und ORM wurde durch einen Zufall ins Wanken geraten, der die ganze Stärke einfacher Lösungen offenbarte.

Zweiter Fall

Das Team hat eine Anfrage zur Bearbeitung von Daten im Rahmen der ORM-Paradigmen geschrieben, die nach allen Regeln und ohne Fehler formuliert wurde. Die Verarbeitung dauerte 2-3 Minuten, und diese Parameter schienen akzeptabel. Allerdings lieferte eine alternative Implementierung mit einfachen SELECT- und VIEW-Abfragen das Ergebnis schneller - in 2 Sekunden.

Es wurde offensichtlich, dass es an der Zeit war, einen Spezialisten auszuwählen, der die gesamte Projekt-Stack-Zertifizierung durchläuft, um alle Feinheiten zu verstehen und die optimale Methode auszuwählen. Diese Aufgabe übernahm Aleksey.

Die ersten Zertifikate

Um das Wesentliche zu verstehen, hat Aleksey die... mehrere Microsoft-Zertifizierungen, die den gesamten technologischen Stack des Projekts abdecken:

  • TS: Entwicklung von Windows-Anwendungen mit dem Microsoft .NET Framework 4
  • TS: Datenzugriff mit Microsoft .NET Framework 4 Programmierung in C#
  • TS: Entwicklung von Windows Forms-Anwendungen mit Microsoft .NET Framework 3.5
  • PRO: Entwurf und Entwicklung von Windows-Anwendungen mit dem Microsoft .NET Framework 3.5
  • PRO: Entwurf und Entwicklung von Windows-basierten Anwendungen mit dem Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 — Entwicklung von Windows-basierten Clients

Um die Arbeit an dem neuen Projekt zu optimieren, gelangte das Team zu folgenden Erkenntnissen:

  • Für die Funktionsfähigkeit der Systeme müssen die Codierungsregeln eingehalten werden: nicht nur Einrückungen und Kommentare, sondern auch technische Spezifikationen — Anzahl der Datenbankzugriffe, Serverlast und vieles mehr.
  • Der Einsatz widersprüchlicher Konzepte kann problematisch sein. Das Datenbankkonzept basiert auf der Mengenlehre, während ORM ein Konzept für Operationen ist.
  • Ideen, die den gewohnten Ablauf stören, können auf Widerstand im Team stoßen. Entwicklung ist auch Beziehungspflege und die Fähigkeit, die eigene Sichtweise zu argumentieren.
  • Zertifizierung erweitert den Horizont und hilft zu verstehen, was man nutzen kann und was nicht.

Der Weg des Architekten: Zertifizierung und Eintauchen in das Produkt

Schritt drei: Lernen Sie nicht nur den Code kennen

Bei der Arbeit an umfassenden IT-Lösungen sind viele Faktoren wichtig. Zum Beispiel achten nicht alle Entwickler auf die Netzwerkparameter – aber sogar die Bandbreite kann die Lösung einer Geschäftsaufgabe beeinflussen.

Das Verständnis dafür vermittelt die Zertifizierungen der Reihe 98:

Sie ermöglichen einen ganzheitlicheren Blick auf die Dinge und helfen, aus der eingeschränkten Sichtweise von "nur Code" auszubrechen. Das sind Grundlagen, aber sie sind wichtig, um alles auf einer tieferen Ebene zu verstehen.

Die Zertifizierungen der Reihe 98 bestehen aus kurzen Tests – 30 Fragen in 45 Minuten.

Schritt vier: Prozessmanagement

Die Arbeit mit Kliniken ist ein verantwortungsvolleres Unterfangen als zum Beispiel die Entwicklung eines mobilen Spiels. Hier kann man keine Funktionen einfach hinzufügen und live schalten – es ist wichtig, den Genehmigungsprozess zu beachten und zahlreiche Änderungen vom Auftraggeber umzusetzen, da schließlich die Gesundheit und das Leben von Menschen auf dem Spiel stehen.

Typisches Agile hat in diesem Projekt nicht die gewünschten Ergebnisse geliefert, und jeder Sprint dauerte recht lange. Zwischen den Deployments vergingen 6 Monate bis zu einem Jahr.

Technisch gesehen war es zudem unmöglich, die Prozesse von zehn betreuten Kliniken auf einen gemeinsamen Nenner zu bringen.

Um in diesen Bedingungen schneller Ergebnisse zu erzielen, benötigten die Entwickler persönliche Verantwortung und ein umfassendes Verständnis der Prozesse — was ständige Konzentration und hohe Qualifikationen erfordert.

Wenn ein Spezialist in den Prozess eintaucht, sieht er die Ergebnisse, Ursachen und Folgen sowie das Gesamtbild klar. Dies ist gleichzeitig ein zusätzlicher Motivationsfaktor und verbessert die Fähigkeit, Aufgaben und Probleme zu lösen.

Bei gut funktionierender Infrastruktur, durchdachter Architektur und optimalem Code kann eine Person viele Prozesse übernehmen. Doch das bedeutet nicht, dass man universelle Soldaten heranziehen sollte, die ein Projekt allein führen können. Kommunikation und Teamarbeit sind entscheidend.

In einem Team versteht jeder Entwickler, dass seine Kollegen von seinen Handlungen abhängen. Eine Zeitersparnis von 5 Minuten in der Entwicklungsphase kann möglicherweise 5 zusätzliche Stunden für Tests bedeuten. Um dies zu verstehen, ist es wichtig, die Kommunikation zu verbessern.

In unserem Projekt wurden Alexey die Prozesse durch Zertifikate von EXIN:

  • M_o_R Foundation Certificate in Risk Management
  • Agile Scrum Foundation
  • IT Service Management Foundation
  • EXIN Business Information Management Foundation
  • PRINCE2 Foundation Certificate in Project Management
  • Test Engineer Certificate
  • Microsoft Operations Framework Foundation
  • Agile Service Projects

Auf edX wurden Kurse absolviert, die einen statistischen und Lean-Management-Blick auf das System ermöglichten und später zur Erlangung des Architektenzertifikats:

  • Lean Production
  • Six Sigma: Analyze, Improve, Control
  • Six Sigma: Define and Measure

Laut dem Prinzip der „Six Sigma“ gewährleistet statistische Kontrolle ein qualitativ hochwertiges Ergebnis mit höchster Wahrscheinlichkeit.

Durch die Steigerung ihres Levels kommen Entwickler in der Regel zu folgenden Erkenntnissen:

  • Arbeiten Sie nicht viel, sondern effizient.
  • Verkomplizieren Sie Ihr Leben nicht in der Suche nach äußeren Aspekten: Hochentwickelte Technologien lösen Probleme nicht zwangsläufig besser.
  • Pflegen Sie Beziehungen zu Fachleuten aus allen Phasen des Zyklus und ermitteln Sie deren Herausforderungen. Ein Architekt muss die Prozesse beherrschen: Problemerkennung, Aufgabenstellung, Netzwerktopologiedesign, Entwicklung, Testing, Support und Betrieb.
  • Überprüfen Sie jedes Detail von A bis Z.
  • Es kommt vor, dass IT-Prozesse nicht mit Geschäftsprozessen übereinstimmen, und damit müssen wir uns auseinandersetzen.

Der Weg des Architekten: Zertifizierung und Eintauchen in das Produkt

Schritt fünf: Die Architektur durch die Linse von Big Data verstehen

Im Projekt beschäftigten wir uns mit recht großen Datenbanken. Zumindest schien es bis zu einem bestimmten Zeitpunkt so. Als Alexey mit dem Studium großer Daten auf edX begann, stellte sich heraus, dass 1,5 TB für ein Projekt eine kleine Datenbank ist. Ernsthafte Maßstäbe beginnen bei 10 TB, und dort sind andere Methoden erforderlich.

Der nächste Schritt auf dem Weg zur Zertifizierung war ein Kurs über große Daten. Er half, die Organisation des Datenflusses zu verstehen und die Abläufe in der Produktion zu beschleunigen. Auch die Aufmerksamkeit auf kleinere Tools zu lenken, etwa Excel für die Lösung spezifischer Mikrotasks zu verwenden.

Zertifikat:
Microsoft Professional Program: Big Data Zertifikat

Der Weg des Architekten: Zertifizierung und Eintauchen in das Produkt

Schritt sechs: Vom Entwickler zum Architekten

Nachdem er alle genannten Zertifikate erhalten hatte, begann Alexey, während er noch Entwickler war, zu verstehen, dass die erworbenen Kenntnisse ein hohes Maß an Abstraktion aufwiesen, was keineswegs negativ ist.

Eine umfassende Sicht auf die Prozesse führt zum Niveau eines Architekten, einer der höchsten Stufen der Zertifizierung.

Auf der Suche nach einer Zertifizierung als Architekt kontaktierte Alexej Certified Software Architect – Microsoft Platform von Sundblad & Sundblad. Dies ist ein von Microsoft anerkanntes Programm, dessen Entwicklung vor 14 Jahren in Zusammenarbeit zwischen der Haupt- und der schwedischen Niederlassung begann. Es umfasst .NET Framework, Anforderungsanalyse, Informationsflussmanagement und viele weitere hochrangige Themen und gilt als solide Bestätigung der Fähigkeiten eines Architekten.

Im Rahmen des Programms wurden Kurse zum Lernen angeboten. Die Zertifizierung hat das Wissen systematisiert und es ermöglicht, einen neuen Entwicklungsschritt zu gehen – vom Entwickler zum Architekten.

Der Weg des Architekten: Zertifizierung und Eintauchen in das Produkt

Zusammenfassend

Wie Alexej hervorhebt, ist es wichtig, bei der Arbeit mit einem großen IT-System zu beachten, dass Programmierung kein kostspieliges Vergnügen ist, sondern ein Werkzeug zur Lösung von Geschäftsfragen. Wenn man einem bestimmten Herausforderun begegnet, sollte man stets den geschäftlichen Nutzen festhalten, um zu verhindern, dass das Projekt in eine Sackgasse gerät.

Ein Architekt hat einen besonderen Blick auf Programmierung und deren grundlegende Bestandteile:

  • Erstellung und/oder Unterstützung von Datenströmen
  • Extraktion von Informationen aus den Datenströmen
  • Extraktion von Mehrwert aus den Informationen
  • Monetarisierung des Wertstroms

Wenn man ein Projekt aus der Perspektive eines Architekten betrachtet, sollte man am Ende beginnen: den Wert formulieren und dann über den Datenstrom darauf hinarbeiten.

Der Architekt beachtet die Entwicklungsrichtlinien mit einem globalen Blick auf das Projekt. Es ist praktisch unmöglich, durch praktische Erfahrungen und eigene Fehler zu ihm zu gelangen — genauer gesagt, es ist möglich, aber dauert sehr lange. Eine Zertifizierung erweitert den Horizont, ermöglicht einen Blick auf den gesamten Kontext jeder Fragestellung, vertraut mit den Erfahrungen Tausender Fachleute und entwickelt die Fähigkeit, Probleme effektiv zu lösen.

Heute arbeiten wir seit über fünf Jahren mit dem oben beschriebenen medizinischen System und haben bedeutende Verbesserungen erzielt. In dieser Zeit hat Alexej mehr als 20 Zertifizierungsprüfungen abgelegt:

  1. TS: Entwicklung von Windows-Anwendungen mit dem Microsoft .NET Framework 4
  2. TS: Datenzugriff mit Microsoft .NET Framework 4 Programmierung in C#
  3. TS: Entwicklung von Windows Forms-Anwendungen mit Microsoft .NET Framework 3.5
  4. PRO: Entwurf und Entwicklung von Windows-Anwendungen mit dem Microsoft .NET Framework 3.5
  5. PRO: Entwurf und Entwicklung von Windows-basierten Anwendungen mit dem Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 — Entwicklung von Windows-basierten Clients
  7. 98-361: Grundlagen der Softwareentwicklung
  8. 98-364: Grundlagen von Datenbanken
  9. M_o_R Foundation Certificate in Risk Management
  10. Agile Scrum Foundation
  11. IT Service Management Foundation
  12. EXIN Business Information Management Foundation
  13. PRINCE2 Foundation Certificate in Project Management
  14. Test Engineer Certificate
  15. Microsoft Operations Framework Foundation
  16. Agile Service Projects
  17. Lean Production
  18. Six Sigma: Analyze, Improve, Control
  19. Six Sigma: Define and Measure
  20. Microsoft Professional Program: Big Data Zertifikat
  21. Certified Software Architect – Microsoft Platform

Der Weg des Architekten: Zertifizierung und Eintauchen in das Produkt

Nachdem er alle Prüfungen bestanden hat, hat Alexej sich von einem leitenden Entwickler zu einem Projektarchitekten entwickelt. Dabei wurde die Zertifizierung zu einem kraftvollen Mittel sowohl für die berufliche Entwicklung als auch für den Aufbau eines guten Rufs in den Augen des Kunden.

Die "Zertifizierungs-Treppe" ermöglicht den Zugang zu bestimmten kritischen Prozessen, die einer Kontrolle und Ausarbeitung bedurften. Europäische Kunden von IT-Lösungen schätzen in der Regel zertifizierte Fachkräfte und sind bereit, ihnen mehr Freiraum zu gewähren.

Vielen Dank für Ihre Aufmerksamkeit! Wir hoffen, dass der Artikel für Sie hilfreich war.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster