Der Weg des Architekten: Zertifizierung und Produktimmersion

Fast jeder Entwickler stellt Fragen dazu, wie er seine Fähigkeiten entwickeln soll und welche Wachstumsrichtung er wählen soll: vertikal – also zum Manager werdend, oder horizontal – Full-Stack. Viele Jahre der Arbeit an einem Produkt werden im Gegensatz zu Mythen nicht zu einer Einschränkung, sondern zu einer nützlichen Chance. In diesem Artikel teilen wir die Erfahrungen unseres Backend-Entwicklers Alexey, der sich 6 Jahre lang mit Zertifizierungen beschäftigte und sich in dieser Zeit zum Architekten hocharbeitete.

Der Weg des Architekten: Zertifizierung und Produktimmersion

Wer ist Architekt?

Ein IT-Architekt (Tech Lead) ist ein hochrangiger Entwickler, der sich mit globalen Themen in IT-Projekten befasst. Er taucht in die Geschäftsprozesse des Kunden ein und hilft bei der Lösung seiner Probleme mithilfe von Technologie. Außerdem bestimmt er, wie dieses oder jenes Informationssystem strukturiert wird.

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

  • Ein Geschäftsproblem stellen.
  • Entwicklung, einschließlich Programmierung, Aufbereitung, Speicherung und Verarbeitung von Daten.
  • Bereitstellung und Support der Infrastruktur.
  • Testen
  • Einsetzen.
  • Analyse- und Betriebsdienstleistungen.

Dies bedeutet die Fähigkeit, sich in die Lage eines Spezialisten oder Teams im Entwicklungslebenszyklus zu versetzen, den aktuellen Zustand von Systemen von innen zu verstehen, gemachte Fehler zu erkennen und Ziele zu formulieren. Manchmal müssen Sie selbst eine Operation durchführen.

Der Weg der beruflichen Entwicklung vom Entwickler zum Architekten dauert lange – in der Regel mehrere Jahre. Dazu 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 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 Kunden. Bei diesem Großprojekt gab es gewisse Probleme:

  • beschränkter Zugang;
  • instabiles Produkt;
  • unglaublich lange Sprints und lange Genehmigungen.

„Es ist Zeit, Ihre Fähigkeiten zu verbessern“„, – einer der führenden Entwickler Alexey traf diese Entscheidung, um die aufgeführten Schwierigkeiten zu überwinden und das System besser zu verstehen.

Alexey teilte seine Erfahrungen mit, wo es besser ist, mit der Ausbildung zu beginnen, welche Zertifikate wichtig sind, wie und warum man es macht.

Schritt eins: Verbessern Sie Ihr Englisch

Programmiersprachen sind ein grundlegender Bestandteil der Entwicklung, aber ebenso wichtig sind Sprachen für die Kommunikation. Vor allem bei der Kommunikation mit einem englischsprachigen Kunden!

Aus der Praxis

Eines schönen Tages erhielt Alexey einen Anruf von einem Mitarbeiter des Kunden. Zu diesem Zeitpunkt konnte sich unser Entwickler noch nicht mit einer Reihe von Zertifikaten rühmen – weder in der Technik noch im Management noch in der Kommunikation. Vielleicht wären sie nicht nützlich – schließlich kann man ohne zusätzliche Insignien ein kompetenter Spezialist sein. Aber das Problem trat trotzdem auf.

Wir müssen verstehen, dass sich gesprochene Sprache grundlegend von geschriebener Sprache unterscheidet. Wenn Sie sich mit den englischen Spezifikationen gut auskennen, aber das Zuhören und Sprechen nicht üben, dann haben wir schlechte Nachrichten für Sie. In diesem Fall können Telefongespräche mit Partnern in eine Sackgasse führen.

Alexey fing während des Anrufs einige bekannte Wörter auf, aber die Sprache seiner Kollegin war so schnell und anders als die klassische Aussprache aus Audio-Lektionen, dass der Kern ihrer Fragen irgendwohin ging. Aus Höflichkeit und aus Unwilligkeit, die Situation zu verkomplizieren, stimmte Alexey schnell allen Vorschlägen zu.

Muss ich erwähnen, dass bei der Arbeit unangenehme Entdeckungen gemacht wurden? Unser Entwickler hat sich für etwas angemeldet, was er ganz bewusst abgelehnt hätte, wenn das Angebot in verständlicher Sprache gekommen wäre.

In diesem Moment wurde klar, dass es einfach notwendig war, die Hör- und Sprechfähigkeiten zu verbessern. Der beste Weg, dies zu erreichen, waren Zertifizierungen.

Zertifizierung der englischen Sprache

Um die Kommunikation im Rahmen unseres medizinischen Projekts zu verbessern, studierte Alexey in mehreren Programmen gleichzeitig. Als Ergebnis bestand er die Zertifizierung FCE – First Certificate in English. Dies hat mir geholfen, dem Kunden zuzuhören und ihm meine Gedanken mitzuteilen.

LifeFac:

Vermeiden Sie einfache Englischprogramme. Die Fähigkeit muss gezielt eingesetzt werden. Wenn Sie Englisch für die Geschäftskommunikation benötigen, sollten Sie es belegen. Gehen Sie einfach nicht ins Extreme und machen Sie das CAE (Certificate in Advanced English). Seine Besonderheit sind anspruchsvolle Wörter, spezifische Ausdrücke, die in der internationalen Kommunikation fast nie verwendet werden.

Der Weg des Architekten: Zertifizierung und Produktimmersion

Schritt zwei: Zertifizierung des gesamten Technologie-Stacks

Ursprünglich basierte das Projekt auf der objektrelationalen Mapping-Technologie ORM. Das Entwicklungsteam auf Kundenseite war stolz auf seine Idee, denn alles war mit fortschrittlichen Konzepten umgesetzt, komplex und cool.

Allerdings waren Probleme in der Produktion – insbesondere ein ständig einfrierender SQL-Server – keine Seltenheit. Es kam zu dem Punkt, an dem 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 Leistungsfähigkeit des Systems ermitteln – dazu war es notwendig, Profiling einzuführen und regelmäßig Optimierungen durchzuführen. Damals, etwa im Jahr 2015, wurde Ants Profiler als Profilierungstool ausgewählt, die Leistung war jedoch schlecht. Bei geringer Detailgenauigkeit war es schwierig, Informationen über einen kritischen Codeblock zu erhalten. Bei maximaler Detaillierung begann Ants Profiler, den Code so zu ändern, dass die Funktionalität der Systeme gefährdet war – dort, wo Profiling konfiguriert war, stürzte einfach alles ab. Also haben wir unseren Ansatz geändert.

Wir begannen mit der Analyse von Statistiken

Bei der Analyse der Verkaufsstatistiken wurde deutlich, dass 95 % der Arbeit auf dem Server eine primitive Geschäftslogik von 4 Zeilen aufweist. Für sie reichte eine SQL-Abfrage aus und nicht ein vollständiger Satz von Abfragen, die von einem Geschäftslogikblock mit einem ORM generiert wurden.

Alexey hat eine gespeicherte Prozedur zum Verschieben von Arbeiten ohne ORM vorgeschlagen und implementiert. Die Idee widersprach dem üblichen Projektparadigma, der Teamleiter betrachtete sie mit Vorsicht, doch der Kunde akzeptierte alles und forderte die Umsetzung. Dies war nicht überraschend, da die neue Methode es ermöglichte, Verzögerungen in der Produktion von vier Stunden auf mehrere Minuten zu reduzieren – im Durchschnitt 98 Mal.

Dennoch hatten wir Zweifel: Ist das die richtige Entscheidung oder eine Frage der persönlichen Präferenz? Der Glaube an das allmächtige C# und ORM wurde durch einen Unfall erschüttert, der die volle Kraft einfacher Lösungen zeigte.

Fall zwei

Das Team hat eine Abfrage geschrieben, um mit Daten innerhalb des ORM-Paradigmas zu arbeiten, die nach allen Regeln und ohne Fehler kompiliert wurden. Die Verarbeitung dauerte 2-3 Minuten und diese Parameter schienen akzeptabel. Eine alternative Implementierung mit einfachen Selektoren und Ansichten lieferte jedoch schnellere Ergebnisse – in 2 Sekunden.

Es wurde klar, dass es an der Zeit war, einen Spezialisten auszuwählen, der sich über den gesamten Projektstapel zertifizieren lassen würde, um alle Nuancen zu verstehen und die optimale Methode auszuwählen. Alexey übernahm diese Aufgabe.

Erste Zertifikate

Um das Wesentliche zu verstehen, ging Alexey durch mehrere Microsoft-Zertifizierungen, deckt den gesamten Technologie-Stack des Projekts ab:

  • TS: Windows-Anwendungsentwicklung mit Microsoft .NET Framework 4
  • TS: Zugriff 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 unter Verwendung des Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 – Windows-basierte Client-Entwicklung

Bei dem Versuch, die Arbeit am neuen Projekt zu optimieren, kam das Team zu folgenden Schlussfolgerungen:

  • Damit die Systeme funktionieren, müssen die Regeln zum Schreiben von Code befolgt werden: keine Einrückungen und Kommentare, sondern technische Merkmale – die Anzahl der Aufrufe der Datenbanken, die Auslastung des Servers und vieles mehr.
  • Die Anwendung widersprüchlicher Konzepte kann zu Problemen führen. Das Konzept von Datenbanken ist die Mengenlehre, während ORM ein Operationskonzept ist.
  • Ideen, die die gewohnte Ordnung der Dinge stören, können im Team auf Widerstand stoßen. Bei der Entwicklung geht es auch um Beziehungen und die Fähigkeit, seinen Standpunkt zu vertreten.
  • Die Zertifizierung erweitert Ihren Horizont und ermöglicht Ihnen zu verstehen, was verwendet werden kann und was nicht.

Der Weg des Architekten: Zertifizierung und Produktimmersion

Schritt drei: Erfahren Sie mehr als nur Code

Bei der Arbeit an großen IT-Lösungen sind viele Faktoren wichtig. Beispielsweise achtet nicht jeder Entwickler auf Netzwerkparameter, aber selbst deren Bandbreite kann die Lösung eines Geschäftsproblems beeinflussen.

Das Verständnis hierfür ist gegeben Zertifizierung der Serie 98:

Sie ermöglichen es Ihnen, einen umfassenderen Blick auf die Dinge zu werfen und aus dem eingeschränkten „Nur-Code“-Konzept auszusteigen. Dies sind Grundlagen, die Grundlagen, aber sie sind wichtig, um alles auf einer tieferen Ebene zu verstehen.

Zertifizierungen der Serie 98 sind Kurztests – 30 Fragen für 45 Minuten.

Schritt vier: Prozessmanagement

Die Zusammenarbeit mit Kliniken ist ein wichtigeres Unterfangen als beispielsweise die Entwicklung eines Handyspiels. Hier können Sie keine Funktion hinzufügen und für die Produktion ausrollen – es ist wichtig, den Genehmigungsprozess und die Durchführung zahlreicher Änderungen seitens des Kunden zu verfolgen, da die Gesundheit und das Leben von Menschen auf dem Spiel stehen.

Typische Agile-Methoden führten bei diesem Projekt nicht zu den gewünschten Ergebnissen und jeder Sprint dauerte recht lange. Zwischen den Einsätzen vergingen zwischen 6 Monaten und einem Jahr.

Zudem war es technisch unmöglich, die Prozesse der zehn betreuten Kliniken auf einen gemeinsamen Nenner zu bringen.

Um unter diesen Bedingungen schneller zu Ergebnissen zu kommen, brauchten Entwickler Eigenverantwortung und eine umfassende Vision der Prozesse – das bedeutet ständige Konzentration und hohe Qualifikation.

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

Mit einer gut funktionierenden Infrastruktur, einer gut aufgebauten Architektur und optimalem Code kann eine Person viele Prozesse übernehmen. Dies bedeutet jedoch nicht, dass es notwendig ist, universelle Soldaten auszubilden, die in der Lage sind, das Projekt alleine zu leiten. Kommunikation und Teamarbeit sind entscheidend.

In einem Team versteht jeder Entwickler, dass seine Kollegen von seinem Handeln abhängig sind. Die Einsparung von 5 Minuten während der Entwicklungsphase bedeutet vielleicht 5 zusätzliche Teststunden. Um dies zu verstehen, ist es wichtig, Kommunikation aufzubauen.

In unserem Projekt erhielt Alexey Hilfe bei der Beherrschung der Prozesse Zertifikate von EXIN:

  • M_o_R Foundation-Zertifikat für Risikomanagement
  • Agile Scrum Foundation
  • IT Service Management Foundation
  • EXIN Business Information Management Foundation
  • PRINCE2 Foundation-Zertifikat in Projektmanagement
  • Zertifikat zum Testingenieur
  • Microsoft Operations Framework Foundation
  • Agile Serviceprojekte

Es wurden Kurse zu edX belegt, die dazu beitrugen, das System aus der Sicht der Statistik und der Lean-Programmierung zu betrachten und später in die Praxis umzusetzen Architektenzertifikat:

  • Lean Production
  • Six Sigma: Analysieren, Verbessern, Kontrollieren
  • Six Sigma: Definieren und messen

Nach dem Six-Sigma-Prinzip gewährleistet die statistische Kontrolle ein qualitativ hochwertiges Ergebnis mit äußerst hoher Wahrscheinlichkeit.

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

  • Arbeiten Sie nicht hart, sondern effizient.
  • Machen Sie Ihr Leben nicht komplizierter, indem Sie dem Äußeren hinterherjagen: Ausgefallene Technologie löst Probleme nicht unbedingt besser.
  • Schließen Sie Freundschaften mit Spezialisten in allen Phasen des Zyklus und finden Sie deren Schwachstellen heraus. Ein Architekt muss die Prozesse beherrschen: Identifizieren eines Problems, Festlegen eines Problems, Entwerfen einer Netzwerktopologie, Entwicklung, Testen, Support, Betrieb.
  • Überprüfen Sie jedes Merkmal von innen und außen.
  • Es kommt vor, dass IT-Prozesse nicht den Geschäftsprozessen entsprechen und dies muss behoben werden.

Der Weg des Architekten: Zertifizierung und Produktimmersion

Schritt fünf: Verstehen Sie die Architektur durch die Linse von Big Data

Während des Projekts haben wir mit recht großen Datenbanken gearbeitet. Zumindest schien es bis zu einem bestimmten Moment so. Als Alexey begann, Big Data auf edX zu studieren, stellte sich heraus, dass 1,5 TB im Projekt eine kleine Datenbank waren. Ernsthafte Skalen - ab 10 TB, und dort sind andere Methoden erforderlich.

Der nächste Schritt zur Zertifizierung war ein Kurs zum Thema Big Data. Er half dabei, die Organisation des Datenflusses zu verstehen und Produktionsabläufe zu beschleunigen. Und achten Sie auch auf kleine Tools, beginnen Sie beispielsweise mit Excel, um einzelne Mikroaufgaben zu lösen.

Zertifikat:
Microsoft Professional-Programm: Big Data-Zertifikat

Der Weg des Architekten: Zertifizierung und Produktimmersion

Schritt sechs: vom Entwickler zum Architekten

Nachdem Alexey noch als Entwickler alle aufgeführten Zertifikate erhalten hatte, begann er zu verstehen, dass die erhaltenen Informationen einen hohen Abstraktionsgrad aufwiesen, und das 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 Architektenzertifizierung kam Alexey zu Zertifizierter Software-Architekt – Microsoft-Plattform von Sundblad & Sundblad. Dabei handelt es sich um ein von Microsoft anerkanntes Programm, dessen Entwicklung vor 14 Jahren in Zusammenarbeit mit der Unternehmenszentrale und den schwedischen Niederlassungen begann. Es behandelt das .NET Framework, die Anforderungserfassung, das Informationsflussmanagement und viele andere hochrangige Themen und gilt als starker Beweis für die Fähigkeiten eines Architekten.

Im Rahmen des Programms gab es Kurse zum Studieren. Die Zertifizierung systematisierte das Wissen und ermöglichte uns den Eintritt in eine neue Entwicklungsstufe – vom Entwickler zum Architekten.

Der Weg des Architekten: Zertifizierung und Produktimmersion

Zusammenfassend

Wie Alexey betont, ist es bei der Arbeit mit einem großen IT-System wichtig, sich daran zu erinnern, dass Programmieren keine teure Unterhaltung, sondern ein Werkzeug zur Lösung geschäftlicher Probleme ist. Wenn Sie vor dieser oder jener Herausforderung stehen, müssen Sie unbedingt den geschäftlichen Nutzen festhalten, damit das Projekt nicht in eine Sackgasse gerät.

Der Architekt hat eine besondere Sicht auf die Programmierung und ihre elementaren Bestandteile:

  • Erstellen und/oder Pflegen eines Datenflusses
  • Informationsfluss aus Datenfluss extrahieren
  • Wertstrom aus Informationsfluss extrahieren
  • Monetarisierung von Wertströmen

Wenn Sie ein Projekt mit den Augen eines Architekten betrachten, müssen Sie am Ende beginnen: den Wert formulieren und ihn dann durch den Datenfluss erreichen.

Der Architekt folgt den Entwicklungsregeln und hat eine globale Vision des Projekts. Es ist fast unmöglich, es durch Übung und eigene Fehler zu erreichen – oder besser gesagt, es ist möglich, aber es wird sehr lange dauern. Die Zertifizierung ermöglicht es Ihnen, Ihren Horizont zu erweitern und den gesamten Kontext jedes Problems zu betrachten, sich mit der Erfahrung Tausender Fachleute vertraut zu machen und die Fähigkeit zur effektiven Problemlösung zu entwickeln.

Mittlerweile arbeiten wir seit mehr als fünf Jahren mit dem oben beschriebenen Medizinsystem und konnten deutliche Verbesserungen erzielen. In dieser Zeit hat Alexey mehr als 20 Zertifizierungsprüfungen bestanden:

  1. TS: Windows-Anwendungsentwicklung mit Microsoft .NET Framework 4
  2. TS: Zugriff 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 unter Verwendung des 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-Zertifikat für Risikomanagement
  10. Agile Scrum Foundation
  11. IT Service Management Foundation
  12. EXIN Business Information Management Foundation
  13. PRINCE2 Foundation-Zertifikat in Projektmanagement
  14. Zertifikat zum Testingenieur
  15. Microsoft Operations Framework Foundation
  16. Agile Serviceprojekte
  17. Lean Production
  18. Six Sigma: Analysieren, Verbessern, Kontrollieren
  19. Six Sigma: Definieren und messen
  20. Microsoft Professional-Programm: Big Data-Zertifikat
  21. Zertifizierter Software-Architekt – Microsoft-Plattform

Der Weg des Architekten: Zertifizierung und Produktimmersion

Nachdem er alle Prüfungen bestanden hatte, stieg Alexey vom leitenden Entwickler zum Projektarchitekten auf. Gleichzeitig ist die Zertifizierung in den Augen der Kunden zu einem leistungsstarken Instrument für die berufliche Weiterentwicklung und den Reputationsaufbau geworden.

Der „Certification Ram“ half dabei, Zugang zu einzelnen kritischen Prozessen zu erhalten, die einer Kontrolle und Ausarbeitung bedurften. Europäische Kunden von IT-Lösungen legen in der Regel großen Wert auf zertifizierte Spezialisten und sind bereit, ihnen mehr Handlungsspielraum zu geben.

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

Source: habr.com

Kommentar hinzufügen