Wie ein Ingenieur zu Techlida heranwächst

Wer ist der Teamleiter, Architekt oder QS und was sie tun, in der IT ist fast alles vorstellbar. Aber mit dem Verständnis, wer der technische Experte ist, wofür er verantwortlich ist und wie man einer wird, entstehen Schwierigkeiten. Wir haben Dutzende von Interviews mit Spezialisten aus großen Unternehmen geführt und festgestellt, dass dies ein Ingenieur ist, der Prozesse initiiert: Menschen und Werkzeuge mit den Zielen der Organisation verbindet. Er übernimmt die Initiative und Verantwortung für die technologische Entwicklung des Produkts und kümmert sich um die Qualität der technischen Lösungen. Darüber hinaus ist Qualität nicht nur ein Test, sondern Architektur, Design, technische Praktiken und Experimente arbeiten mit der technischen Verschuldung und der technischen Verbesserung des gesamten Unternehmens.



Wir haben auch herausgefunden, dass es viele Konferenzen für Techlides gibt. Fast alle konzentrieren sich jedoch auf Werkzeuge, nicht auf technische Praktiken und Prozesse. Aus diesem Grund haben wir die neue TechLead Conf 2020 Online- Konferenz gestartet - für diejenigen, die technischer Experte werden und verstehen möchten, was Qualität ist. 

Bei TechLead Conf 2020 Online lautet die zweite Frage: „Mit welchem ​​technischen Tool wurde das Problem gelöst?“. Diese Konferenz richtet sich an diejenigen, die nach der Qualität technischer Lösungen streben und Verantwortung für die technologische Entwicklung des Produkts übernehmen. Vom 8. bis 10. Juni werden wir die Erfahrungen mit der Implementierung und Anwendung von Praktiken, Technologie und Prozessmanagement im Unternehmen untersuchen. Wir werden Ihnen mehr über das Programm erzählen und worüber wir auf der Veranstaltung sprechen werden.

Kurzes Programm


Das TechLead Conf 2020 Online-Programm reicht von der Erörterung der Entwicklung von Techlide bis zur praktischen Umsetzung von DDD und besteht aus mehreren Blöcken.

  • Karte technische Entwicklung . Es gibt immer noch wenig Verständnis dafür, wer dies ist und was es tut. Und die Fragen, wie man zu Techlide heranwächst und was es kann, werden noch seltener gestellt. Deshalb werden wir im ersten Block diskutieren, wer es ist und wie man eins wird. 
  • . — , -, « ». , — : , . « ». , MVP.
  • Verzögerte Auswirkungen technischer Praktiken . Bei der Arbeit mit Code ist das Feedback schnell: geschrieben, getestet, bereitgestellt, funktioniert. In der technischen Welt macht sich das Ergebnis seiner Arbeit jedoch erst nach Monaten bemerkbar. Aus diesem Grund haben wir Berichte zu allen Phasen des Lebenszyklus von Konstruktionspraktiken hinzugefügt: die Entstehung einer Idee, MVP, die Vermeidung von Fehlern und die Messung von Ergebnissen nach einem erfolgreichen Start in realen Fällen.

Besprechen Sie auch: 


Wir werden detaillierter über jeden Block und die darin enthaltenen Berichte berichten.

Techlide-Entwicklungskarte


Tehlid ist die Rolle eines Ingenieurs, der Prozesse verwaltet. In der Regel sind dies mindestens leitende Ingenieure: Entwickler, Architekten, Automatisierung, SRE, seltener CTO. Manchmal können sie ein Teamleiter sein. Aber der Teamleiter baut Teams auf, verwaltet die Menschen und ihre Entwicklung.
Tehlid baut Prozesse auf: trifft technische Entscheidungen, die die Produktentwicklung angesichts von Unsicherheiten beeinflussen.
Daher wird die Konferenz keine Berichte über Personalmanagement und Motivation enthalten, sondern nur Themen zu Technologiemanagement, technischer Führung und dem Aufbau technischer Prozesse. Und das allererste, was man lernen muss, ist, wie man ein guter Techlide wird.

Der Erfolg des Unternehmens hängt von der Verfügbarkeit starker Spezialisten ab. Wir haben bereits beschrieben, wie sich Techlide von anderen Berufen unterscheidet, und Vladimir Gorovoy , Data Science-Produktmanager bei Yandex.Verticals , erklärt Vladimir Gorovoy den Unterschied zwischen einem guten Techlide und anderen Berufen . Aus dem Bericht „ Wie man ein guter Techlide wird»Finden Sie heraus, wo wir mit unserer Entwicklung beginnen sollen, welche Fähigkeiten und Qualitäten zu pumpen sind. Vladimir wird seine reichen Erfahrungen bei der Teilnahme an den Projekten Yandex.Travel, Yandex.Real Estate und Yandex.Market teilen, um die These zu veranschaulichen.

Je stärker die Fähigkeiten, desto einfacher ist es, Ihre Aufgaben zu bewältigen. Aber der Schmerz geht nirgendwo hin - sie sind für alle Techlides ungefähr gleich.

  • Code schreiben oder eine Technologieentwicklungsstrategie für das Produkt und das Team entwickeln?
  • Komplexe technische Probleme selbst lösen oder delegieren?
  • Wie kann man nicht zwischen dem Schreiben von Qualitätscode und der Einführung von Funktionen hin- und hergerissen werden?

Diese und andere Konflikte werden von Evgeny Korytov gelöst . Im Bericht " Probleme der technischen Technologie und wie kann man sie lösen?" "Eugene wird Ihnen sagen, wie Sie mit den Aufgaben und Problemen von Führungskräften umgehen können, mithilfe eines Rahmens, der" Probleme löst ".

Geschäft und Entwicklung verbinden


Die Aufrechterhaltung eines qualitativ hochwertigen Codes und das Treffen der richtigen technischen Entscheidungen ist nicht die ganze Aufgabe. Sie müssen Unternehmen und Kunden auch ständig beweisen, dass sie Zeit und Energie in architektonische und technische Aufgaben investieren müssen. Alexey Deryushkin von Better Life Company weiß aus Erfahrung, wie es ist: 15 Jahre Teamführung und 5 Jahre Beratungserfahrung. In dem Bericht „ Wie man technische Aufgaben an Unternehmen verkauft “ zeigt er, wie man einen Dialog mit Unternehmen führt, um coole Funktionen zu erstellen und die Qualität anhand von Lebensbeispielen nicht zu vergessen.

Der Kampf zwischen Geschäft und Entwicklung ist ein Standardproblem in IT-Projekten. Oft hat das Unternehmen keine TK, sondern nur „Ideen“ und Anfragen. Dies führt zu falschen Entscheidungen, die monatelang korrigiert oder jahrelang auf Krücken gehalten werden müssen. Wie man ein Gleichgewicht zwischen Entwicklung und Geschäft findet, wird Arthur Dementyev in dem Bericht „ Zwischen zwei Lichtern: Entwicklung und Geschäft “ berichten. Arthur in der IT seit 2009 wird am Beispiel von Geschichten aus der Praxis verschiedene Ansätze zur Implementierung von MVP-Funktionen veranschaulichen.

Wenn sich Geschäft und Entwicklung einig sind, ist es Zeit, mit der nächsten Stufe fortzufahren. Jetzt hat techlide mehrere Monate Zeit, um ein neues Produkt vorzustellen. In solchen Situationen wird meistens ein minimal funktionierendes Hypothesentestprodukt (MVP) erstellt. Unmittelbar nach dem Testen wird der Prototypcode verworfen und die Anwendung wird "wie es sollte" geschrieben. Aber was tun, wenn der Teststart erfolgreich war und die echten Benutzer bereits im "Handwerk" leben? Wir lernen von Maxim Arshinov aus dem Bericht „ Wie man MVP startet und nicht in eine technische Schuld verwandelt “.

Wir wählen und implementieren Engineering-Praktiken


Es ist immer schwierig, etwas Neues zu implementieren, dasselbe MVP, PL oder Framework. Die Neuheit kann sich als „roh“ herausstellen und nicht den Erwartungen entsprechen. Wie man die richtige Wahl trifft und „ eine neue Technologie einführt und nicht alle Polymere verschwendet “, sagt Pavel Mineev , Teamleiter von Rocketbank.

Für die Einführung neuer Produkte ist es optimal, die Governance als Code-Ansatz zu verwenden. Bei diesem Ansatz haben alle Regeln ihren eigenen Lebenszyklus, sie werden getestet und unterscheiden sich nicht von einem normalen Softwareprodukt. Aus dem Bericht von Alexander TokarevGovernance als Kodex: Wie man Entwicklungsstandards einhält und die Bereitstellung von Funktionen nicht verlangsamt»Wir lernen, wie Sie diesen Ansatz anwenden: Wie und was Sie während des Softwareentwicklungsprozesses überprüfen müssen, wie Sie mit diesem Ansatz sicherere und qualitativ hochwertigere Anwendungen entwickeln können. 

Wenn die Standards implementiert sind, ist es Zeit, sie beispielsweise in großem Maßstab zu testen - um eine Technologieplattform zu schaffen. MTS ist ein großes IT-Unternehmen, das Projekte von der Telemedizin bis zum Internet der Dinge umsetzt. Jedes neue Projekt stimuliert die Nachfrage nach Folgendem und senkt die Kosten für dessen Erstellung. Dies ist nur durch die Implementierung von Best Engineering Practices möglich. Aber es gibt Schwierigkeiten: Hunderte von Teams mit unterschiedlichen Ebenen und Prozessen, Vermächtnis, die Notwendigkeit, Ideen an Unternehmen zu "verkaufen". Wie Unternehmen mit diesen Aufgaben umgehen, erfahren wir aus dem Bericht „ Was sollen wir eine Technologieplattform schaffen?“. Eine Schritt-für-Schritt-Anleitung von der Idee bis zur Umsetzung . “ Erzählt Geheimnisse Philipp Bocharov- Projektmanager für Entwicklung bei MTS IT.

Nach der Auswahl und Implementierung der Engineering-Praktiken beginnt die Arbeit erst - Sie müssen das Ergebnis bewerten. Dies hilft Metriken: Es ist wichtig, nicht nur zu verstehen, was mit der Infrastruktur und der Hardware geschieht, sondern auch, wie die einzelnen Funktionen funktionieren, um Engpässe zu finden und diese rechtzeitig zu beseitigen. Der Bericht „ Überwachung einrichten und wie geht es weiter?“ » Mikhail Mazein wird Kennzahlen am Beispiel von ManyChat teilen - einer Plattform, auf der eine Million aktiver Unternehmen mit 800 Millionen ihrer Kunden kommunizieren. Was zu beachten ist:

  • wie man mit Metriken unter hoher Last und mit regulären Releases arbeitet;
  • welche zuerst überwacht werden sollen;
  • Wie man einen schnellen Reaktionsprozess aufbaut und sich vor den Benutzern über Probleme im Dienst informiert.

Plattformteams


Zurück zu den Plattformen. Mehrere verschiedene Teams arbeiten an ihrer Entwicklung und Unterstützung. Sie sind für ihre Zonen verantwortlich, aber es gibt niemanden, der für alles verantwortlich ist - es gibt „Durch“ -Schmerzen. Diese Probleme werden von Plattformteams gelöst: Sie schaffen die Infrastruktur für die Entwicklung von Anwendungen und ihre Arbeit an der Produktion, helfen, schneller und besser zu arbeiten, sind für alles verantwortlich. Wie man ein solches Team zusammenstellt und Produktdenken anwendet, sagt Dmitry Vishin , Leiter der Plattformentwicklungsgruppe von goods.ru, in seinem Bericht „ Plattformteams sind wichtig. Warum? ""

Das Erstellen eines Plattformteams reicht nicht aus. Sie müssen in der Lage sein, es nicht zu zerstören, bevor jemand die Plattform nutzt. Auf diesem Weg können böse Waschbären gefunden werden. Ja, es sind Waschbären. Woher kommen die Waschbären und wie hängen sie mit der Stabilisierung des Plattformteams zusammen ? Wir lernen von der Hauptentwicklerin bei MTS, Elizabeth Golenok, aus dem Bericht „ Plattformteam und 4 böse Waschbären “.

Die Berichte werden durch eine Diskussionsrunde „ Plattformteams: Nutzen oder Schaden “ ergänzt. Während des Runden Tisches werden Philip Uvarov (Spotify) und Andrei Alexandrov (Mafin) verschiedene Themen diskutieren.

  • Warum werden diese Befehle benötigt und werden sie überhaupt benötigt?
  • Warum ist es Mode geworden, sie zu kreieren?
  • Gibt es eine Verwendung für sie oder ist es ein Hype?
  • « », ?


Trotz aller Konstruktionspraktiken und der Hilfe der Teams schreibt der Techlide den Code. Wie kann man so schreiben, dass der Code lesbar und unterstützt ist und nicht alles in einem Jahr neu schreibt? Zwei Berichte werden diese Frage beantworten.

Das erste ist „ Wie man lesbaren Code schreibt “ von Grigory Petrov , Leiter Developer Relations bei Evrone. Gregory organisiert Entwicklung, Konferenzen ( Moscow Python Conf ++ ), Hackathons, Generalisten und Amateur-Neurophysiologen. Infolgedessen wird der Bericht viel Neurophysiologie, kognitive und soziale Intuition enthalten. Aber die Hauptsache ist, dass Gregory Ihnen sagt, woher die Codekomplexität kommt, warum sie nicht entfernt werden kann und wie man damit lebt.

Der zweite ist der Bericht „ Gleichgewicht der Widersprüche. Auswahl der Best Practices im Code und im Team » Gleb Lobastov. Gleb ist technischer Berater und Leiter des Entwicklungsteams bei OneTwoTrip mit 10 Jahren Erfahrung. Der Bericht wird Ansätze zum Schreiben von "gutem" Code teilen - verständlich und bequem zu unterstützen - und mehrere Fragen beantworten:

  • Was ist bei der Implementierung von Best Practices aus Sicht des Projekts und des Teams zu beachten?
  • der Hauptfeind des guten Codes und wie man damit umgeht;
  • Widersprüche in der Praxis, guten Code zu schreiben.

All dies mit Beispielen, mit einer Reihe von Prinzipien und Praktiken zum Schreiben von Code, auf die Sie stolz sein können.

Vermächtnis und Refactoring


Das Codethema oder vielmehr der alte Code wird im Block für Legacy und Refactoring fortgesetzt. Viele kennen die statische Analyse als praktisches Werkzeug. Manchmal treten jedoch Schwierigkeiten auf, beispielsweise wenn das Projekt über eine riesige Datenbank mit Legacy-Code verfügt. Was tun, wenn bei der statistischen Analyse Fehler festgestellt werden? Wie kann man die Korrekturen alter Fehler ausgleichen und neue erkennen? Wir lernen aus dem Bericht „ Wie man Hunderte von Fehlern im Legacy-Code behebt und nicht stirbt (zum Beispiel Unreal Engine 4) “ von George Gribkov .
Sie können nicht nur den Code, sondern auch die Architektur, Infrastruktur und Prozesse umgestalten.
Jedes langlebige IT-Unternehmen ist mit einer Verlangsamung der Produktionsprozesse konfrontiert. Es wird durch viele Faktoren provoziert, zum Beispiel die Komplexität der Technologie und eine Zunahme der Anzahl der Mitarbeiter. Dies führt dazu, dass sich die Koordination verzögert, niemand die Verantwortung trägt und Systeme zerbrechlich werden. Lev Goncharov (T-Systems) wird in seinem Bericht „ Vereinbarungen als Code: Wie man Prozesse umgestaltet und nicht zusammenbricht “ Geschichten aus 14 Jahren Erfahrung erzählen, die dazu beitragen, Infrastrukturprozesse zu beschleunigen und explizit zu machen.

Nach dem Refactoring der Infrastrukturprozesse können Sie mit der Standardisierung fortfahren. Zum Beispiel den "Zoo" der Technologie loswerden. Wie dies am Beispiel der Erfahrung mit der Standardisierung der Infrastruktur einer bestimmten großen Anwendung zu tun ist, wird Ilya Mitrukov erläutern- Infrastrukturmanager (Technical Information Security Officer) des Technologiezentrums der Deutschen Bank. 

Der Bericht „ Nicht die Götter verbrennen Töpfe. Standardisierung der Infrastruktur “Es wird nichts über die Aktualisierung von Technologien, innovativen Lösungen, technologischen„ Cosmos “- oder CI / CD-Pipelines geben. Es wird nur ein paar Jahre dauernde Projekte geben, die die Kosten minimieren und die Geschäftsentwicklung unterstützen.

Lassen Sie uns von Code, Prozessen und Infrastruktur zum Technologie-Refactoring übergehen. Wie übersetze ich ein Projekt, bei dem täglich 70 Personen zu React and TypeScript verpflichtet werden, damit niemand es bemerkt? Wir werden Yandex oder besser Evgeny Dashkevich , den Leiter der Yandex-Gruppe, fragen . In dem Bericht „ Wie man auf eine neue Technologie umsteigt, damit 70 Entwickler nichts bemerken"Eugene wird den Übersetzungsverlauf und die Gründe für die Aktualisierung des technischen Stapels im Projekt mitteilen, wodurch täglich Millionen verschiedener Kombinationen von Suchergebnissen angezeigt werden.

DDD, Event Storming und Wissensmanagement


In diesem Abschnitt der Konferenz werden wir über Design sprechen und dabei die Ansätze und Praktiken von DDD - Domain Driven Design (domänenspezifisches Design) verwenden. Oft wird es aufgegeben, weil dies eine Methodik ohne klare Hinweise darauf ist, was und wie zu tun ist. Die Raiffeisenbank verwendet jedoch seit 5 Jahren DDD-Verfahren in verschiedenen Projekten, um das System in Microservices zu zerlegen, mit Kunden und innerhalb von Teams zu kommunizieren und Anwendungen zu erstellen, die neuen Anforderungen nicht widerstehen. Wie man den Ansatz anwendet, welche Praktiken angewendet werden, um Fehler zu verwenden und zu vermeiden, lernen wir aus dem Bericht von Konstantin Gustov " Wie man DDD zähmt ".

Es gibt viele Praktiken in DDD. Eines davon ist Event Storming. Es erleichtert die weitere Arbeit im Bereich DDD und Microservice Design. Wenn Sie ein System auf Microservices erstellen, können Sie problemlos einen verteilten Monolithen erstellen. Event Storming schützt nicht zu 100% davor, kann aber das Risiko erheblich reduzieren. Wie mit praktischen Beispielen im Bericht von Sergey Baranov (ScrumTrek) " Modellierung von Mikrodiensten mit Event Storming ".

Als wir herausfanden, was der Techlide tut, wie Engineering-Praktiken entwickelt und implementiert werden, fahren wir mit der Speicherung, Verwaltung, dem Wissensaustausch und der Verfolgung technischer Lösungen in einem Team fort. Zum Beispiel ist Wissensmanagement erforderlich, wenn Entwickler ähnliche Funktionen in verschiedenen Teilen eines großen Projekts ausführen. Sie verbringen viel mehr Zeit und Ressourcen damit, als wenn sie ihre Anstrengungen kombinieren würden.

Ilya Kashlakov leitet die Front-End-Entwicklungsabteilung von 50 Mitarbeitern in Yandex.Money. Bei so vielen Entwicklern ist es wichtig, Wissen zu teilen und die Architektur im Auge zu behalten. Der Bericht „ Logic Review - als Werkzeug für komplexe technische Entscheidungen"Ilya wird über dieses Tool sprechen: wie sie auf die Logiküberprüfung gekommen sind, welche Metriken sie gesammelt haben und wie sie den Erfolg dieses Prozesses bestimmt haben. All dies mit Beispielen für Probleme, einer Beschreibung der Änderungen, die von Anfang an bis heute im Prozess aufgetreten sind.

Für die Umsetzung von Projekten benötigen wir viel Dokumentation. Verwenden Sie zum Speichern beispielsweise einfache Markup-Sprachen: Markdown, reStructuredText, Asciidoc. Sie sind einfach zu schreiben und Dateien werden bequem im Repository gespeichert. Auf dem Workshop „ Wie veröffentliche ich Markdown und RST? Überprüfung moderner Dokumentationswerkzeuge “Wir werden darüber sprechen, wie sie auf Techlides angewendet werden können:

  • Konstantin Valeev (Rostelecom IT) wird eine Möglichkeit zum Erstellen von benutzerdefinierten PDF- und HTML-Dateien aus Markdown-Quellen vorstellen.
  • Semen Faktorovich (documentat.io) wird über das „Schweizer Messer“ von Pandoc sprechen und wie man die DOCX-Generation damit besiegen kann;
  • Nikolai Volynkin (Plesk) - wie man mit Sphinx-doc riesige HTML-Portale generiert.

Drei Redner teilen ihre Erfahrungen und jeder kann ihnen seine eigene Frage zum Thema stellen.

TechLead Conf 2020 Online für diejenigen, die zu Techlida heranwachsen möchten


Konferenz TechLead Conf 2020 Online für Tehlidov und diejenigen, die Ingenieure, Entwickler, Teamleiter, QS, Entwicklungsmanager werden möchten. Auch wenn Sie noch kein Techlide sind, kommen Sie zur Konferenz und sammeln Sie Anweisungen, wie Sie einer werden können - eine Karte der technischen Kompetenzen. 

Die gesamte Konferenz wird in einem neuen Format abgehalten - online. Dank dessen haben wir an drei Veranstaltungstagen mehr Inhalte hinzugefügt als offline: mehr als 30 Berichte, Blitzgespräche (Kurzberichte mit Antworten auf Fragen), OST für den Erfahrungsaustausch, einen runden Tisch und verschiedene Netzwerkformate. Wir haben einen Zeitplan für das Programm vorbereitet - schauen Sie, markieren Sie Ihre Lieblingsberichte oder Meisterklassen im Kalender, um sie nicht zu verpassen.

Ein neues Format - neue Preise, damit Sie auch in diesen seltsamen Zeiten weiterhin Kontakte zu Kollegen anderer Unternehmen aufbauen und pflegen können. Tickets buchen - der Preis von 5900 für Einzelpersonen hilft dabei, sich über neue Produkte in der Branche auf dem Laufenden zu halten oder einen neuen Beruf zu finden.

Alle Teilnehmer der Online-Konferenz im persönlichen Konto können ihre Frage zur Diskussion stellen, Hilfe bei einer Arbeitsaufgabe anfordern oder eine interessante und relevante Diskussion beginnen. Dort können Sie sofort über spannende Themen abstimmen. Autoren der besten Ideen erhalten eine kostenlose Eintrittskarte für die ausgewählte Konferenz, auf der die vorgeschlagene Diskussion organisiert wird.

29 18:00 -. , maturity model.

. . live-, Spring Cloud Contract Pact. , .

All Articles