Wie man technischer Direktor wird, was in Notsituationen zu tun ist, wie man höhere Gehälter und ein höheres Karrierewachstum erzielt und wie die Am.ru-Entwicklung funktioniert - darüber sprechen wir in der vierzehnten Ausgabe der Talkshows für Programmierer „Oh, My Code“.
Gastgeber des Programms ist Pavel Shcherbinin, technischer Direktor für Medienprojekte, Gast - Alexander Melnichuk, technischer Direktor von Am.ru.
Erzähl ein wenig über dich.Ich habe mein Studium an der ITMO abgeschlossen. Er versuchte in der Graduiertenschule zu studieren, beschäftigte sich mit Kleinwinkel-Röntgenbeugung. Dann begann die Ära des Internets, jeder begann Portale zu bauen. 2009 rief ein Freund von mir an und sagte, sein Freund Oleg wolle sein Projekt starten und ein Team in St. Petersburg zusammenstellen. Wir haben uns in der U-Bahn getroffen. Seitdem arbeite ich bei am.ru. Während des ersten Treffens stellte Oleg sofort zwei Personen ein: mich, dann den Entwicklungsmanager, und Sergey, den Hauptentwickler. Das heißt, wir haben die ersten Codezeilen geschrieben.
"Kommen Sie zu unserem technischen Direktor?" - "Und wie viele Leute werden wir unterwerfen?" "Bisher nur du."Damals sprach niemand über den technischen Direktor. "Technischer Direktor" ist im Allgemeinen eine sehr seltsame Position. Dies ist einerseits eine Art Management, andererseits ein technischer Spezialist. Es gibt verschiedene Variationen. Zum Beispiel, wenn ein CTO viel Code schreibt. In der Tat ist dies ein Hauptentwickler. Dann hat er normalerweise ernsthafte Unzufriedenheit über verschiedene Führungsaufgaben. In meinem Fall ist das Gegenteil der Fall. Ich leite Teams zu 100% meiner Zeit. Ich habe ab ungefähr 2009 aufgehört, Code zu schreiben, weil dafür einfach keine Zeit ist. Ich kann es schreiben, aber dann muss ich mich zum feindlichen Team schicken.
Trotzdem sind Sie der technische Direktor. Sie sollten sich der Entwicklung der Technologie bewusst sein und wissen, wie sich das Frontend und das Backend entwickeln.Ich lese, schaue und kommuniziere ständig mit Entwicklern. Ich verstehe, was gemacht wird und wie. Und dann, vorher 8 Jahre lang, habe ich selbst etwas geschrieben. Natürlich war dies keine Raketenwissenschaft. Aber ich kann den Code jetzt lesen.
Wie werde ich technischer Direktor?Zuallererst müssen Sie einer werden wollen. Das soll nicht heißen, dass ein CTO etwas supercooles ist, besser als alles andere. Alle Berufe sind gut. Sie können ein glücklicher Entwickler sein und es genießen. Du musst ein Regisseur sein. Das Harken von Managementaufgaben ist eine bestimmte Fähigkeit. Sie müssen verstehen, dass Sie in den meisten Fällen keinen Code schreiben. In offenen Stellen wird manchmal darauf hingewiesen, dass Sie einen technischen Direktor mit Symfony-Kenntnissen und sogar aus der Ferne benötigen. Im Allgemeinen eine Art Hölle. Diese Leute täuschen sich. Und manchmal wird ein Architekt als „technischer Direktor“ verstanden, und dies ist auch häufig genug.
Wie viele Personen sind jetzt in Ihrem Team und wie ist es aufgebaut?43 Personen. Die Struktur ist flach, das heißt, alle diese Leute sind mir administrativ untergeordnet. Wir haben keine Projektmanager und Teamleiter. Aber eine ausreichend entwickelte logische Struktur von 5 getrennten Teams, sowohl eng als auch breit, die in mehreren Bereichen gleichzeitig tätig sind. Alle Teams sind völlig unabhängig und arbeiten an ihren Projektstandorten. Sie haben Selbstverwaltung, und das ist sehr gut.
Gehen Aufgaben durch Sie oder direkt an das Team?Natürlich direkt an das Team. Wenn sie mich passiert hätten, wäre ich wahrscheinlich schon vor langer Zeit gestorben, weil der Strom der Aufgaben riesig ist. Meine Aufgabe ist es, die Kommunikation auf das notwendige Minimum zu reduzieren. Wenn eine Person etwas braucht, muss sie wissen, woher sie dieses Wissen bezieht und mit wem sie direkt sprechen kann.
Sicherlich werden viele unserer Leser eine Frage haben: Warum brauchen Sie Sie? Aufgaben gehen direkt an das Team, die Teams sind cool, selbst organisiert. Es scheint, dass der technische Direktor nicht einmal existiert.Ein Freund von mir sagte einmal, dass die Aufgabe des Regisseurs darin besteht, Teamarbeit aufzubauen, damit er leicht entlassen werden kann. Wir streben dies an, haben es aber noch nicht erreicht.
Ein interessanter Drang, gefeuert zu werden.Träume, Träume ...
Denken Sie nicht, dass viele die Positionen von Leads und Direktoren anstreben, um weniger zu arbeiten?Gestern habe ich die Arbeit ungefähr 22 Stunden verlassen. Als CTO beneide ich Entwickler oft. Das ist so wunderbar: Es ist gekommen, Sie haben eine Aufgabe, die Sie mögen, Sie haben sie selbst ausgewählt, haben es getan, haben den Effekt gesehen. Alles super. Müde - Kaffee getrunken, gespielt, ausgeruht. Wenn Sie irgendwelche Schwierigkeiten haben, sprechen Sie mit Ihren Kollegen und erledigen Sie die Aufgabe. Sie können Ihre Kopfhörer aufsetzen, Ihre Lieblingsmusik hören und Ihre Arbeit erledigen. Wenn Sie sich schlecht fühlen, können Sie zu Hause arbeiten und sich nachts etwas einfallen lassen.
Der technische Direktor ist völlig falsch. Mein üblicher Tag beginnt mit einem Blatt A4-Papier, auf dem ich aufschreibe, was ich heute tun möchte. Ich habe es aufgeschrieben. Dann noch das, das, dann nehme ich das zweite Blatt, dann das dritte. Ich lösche die Aufgaben tagsüber. Es gibt viele von ihnen, sie sind klein, sie verändern sich ständig. Wenn Sie eine Sache tun, entstehen die folgenden und die folgenden.
Manchmal stellt sich heraus, dass Sie am Abend etwas beenden müssen, und eine Stunde zuvor erscheinen neue Einführungsbotschaften. Und Sie müssen alles wiederholen. Dies ist eine Welt, die sich ständig verändert. Dies ist das Hauptproblem. Ich habe keine große Aufgabe, ich habe eine große Anzahl kleiner Aufgaben, für die ich ständig Entscheidungen treffen muss. Das ist schwer.
Können Sie über die am häufigsten wiederholten Aufgaben oder zum Beispiel über etwas Interessantes von gestern sprechen? Was ist in Ihren Hauptaufgaben enthalten?Die Hauptaufgabe besteht darin, dass alles funktioniert, dass wir unverzüglich und termingerecht freigegeben werden, um die vom Produktmanagement festgelegten Aufgaben zu erfüllen, damit die Projekte pünktlich geliefert werden. Wie ich es machen werde, sind meine Schwierigkeiten. Die Schwierigkeiten sind sehr unterschiedlich. Zum Beispiel kamen Leute zum Rechenzentrum, um die Server zu entladen, und der Lader durfte nicht hinein, weil er einen verdächtigen Pass hatte. Oder Sicherheitsbeamte fragen nach Informationen, und Sie müssen jemanden finden, der diese Informationen gibt. Oder das Produkt ändert sich bzw. es erscheinen neue Aufgaben und Fristen. Sie müssen diese Aufgaben irgendwie in den Plan integrieren und lösen.
Wie passt Agile in Ihr Entwicklungssystem?Wir leben ganz auf Agile. Wir haben Teams, die an Scrum arbeiten, und es gibt Teams, die an Kanban arbeiten. Ich weiß nicht einmal, wie wir ohne sie hätten auskommen können. Es war einmal, als ich diesen Begriff noch nicht kannte, wir haben versucht, ein ähnliches System aufzubauen, aber es ist uns nicht gelungen, weil es eine Initiative ohne Lehrbuch mit Flair war. Zum Beispiel gibt es seit langem eine „Allergie“ gegen Projektmanager und Menschen, die Aufgaben verteilen und Quadrate übermalen müssen. Ich hatte noch nie Projektmanager.
Wie arbeitet das Team?Wir haben einen gemeinsamen CPO (Chief Product Owner. - Ca. Ed.), Der angibt, wie sich das Produkt entwickeln wird. Darüber hinaus gibt es eine Reihe von APO (Area Product Owner - ca. Ed.), Die für ihre Bereiche verantwortlich sind. Tatsächlich ist die Organisationsstruktur etwas komplizierter, aber ich beschreibe die Logik. Jede Richtung hat ein eigenes Team. Teams übernehmen Aufgaben von APO und stellen sich manchmal selbst ein. Aufgaben werden dem allgemeinen Rückstand hinzugefügt, dann wird der Sprint-Rückstand gebildet und dann werden sie abgeschlossen.
Zu Beginn jedes Sprints erfolgt die Planung. Separat in allen Teams. Es stellt sich die Frage: "Was ist mit der Koordination gemeinsamer Ziele?" Es gibt eine allgemeine Planung auf der Ebene der Produktbesitzer. Hier kommen Aufgaben, die zuvor zwischen den Richtungen koordiniert wurden. Darüber hinaus benötigen wir eine technische Koordination, die auf verschiedene Weise durchgeführt wird.
Wenn ein Mitarbeiter eine Koordination mit einem anderen Team benötigt, kommt er zum Stand-up und sagt, dass er das eine oder andere Problem hat, und bittet um Hilfe. Wir nennen solche Mitarbeiter „Pfadfinder“.
Darüber hinaus haben wir ein allgemeines technisches Meeting Master Sync, bei dem Entwickler und Vertreter aller Teams ohne Produktbesitzer zusammenkommen. Darauf lösen wir nur technische Probleme, diskutieren, wie man sie richtig löst, wie man gemeinsame Technologien synchronisiert. Aufgaben zwischen Teams. Manchmal werden bei Master Sync Aufgaben formuliert, die von Mitarbeitern von zwei oder mehr Teams ausgeführt werden oder zur weiteren gemeinsamen Lösung in einem gemeinsamen Rückstand abgelegt werden.
Um einen Plan zu erstellen, wird eine PBR (Product Backlog Refinement. - Ca.) durchgeführt. Entwickler bewerten Aufgaben und helfen Produktbesitzern, Pläne zu erstellen und Prioritäten zu setzen. PBR kann sowohl in einem Team als auch zwischen mehreren Teams stattfinden. Manchmal wird die Planung mit einem externen Team durchgeführt, wenn das Produkt eine Integration beinhaltet.
Es endet mit einer wöchentlichen Produktdemonstration. Wer will, kann kommen. Wir senden online. Produktbesitzer beobachten, beobachten CPO, manchmal Marketing, Verkäufer, Support. Die Teams sprechen über implementierte Funktionen, APIs, Dokumentation, Tests und alles, was getan wurde. Die an Architektur oder Verwaltung Beteiligten können über ihre Entscheidungen und Pläne sprechen. Das heißt, die Demo ist eine Art gemeinsamer Meilenstein, der die Ergebnisse der Arbeit des gesamten Teams in ein oder zwei Wochen zeigt, abhängig von der Dauer des Teamzyklus.
Darüber hinaus führt jedes Team eine eigene Retrospektive durch, in der organisatorische Fragen erörtert werden. Wenn das Team nichts in sich selbst entscheiden kann, werden die Fragen an das Team zwischen den Retro gesendet. Wir führen es alle zwei Wochen durch und entscheiden, was für alle Teams, das gesamte Büro und das gesamte Produkt gilt. Nach den Ergebnissen von retro wird jeder Aufgabe eine verantwortliche Person zugewiesen, die sie lösen oder ihrer Entscheidung folgen kann, wenn dies von externen Diensten abhängt. Bei der nächsten Retro- oder Master-Synchronisierung teilen die Verantwortlichen mit, was sie getan haben oder nicht, aus welchen Gründen, welche Vor- und Nachteile aufgedeckt wurden.
Erzählen Sie mir von einer unerwarteten, abnormalen Situation.Abnormale Situationen passieren, aber immer weniger. Zum Beispiel funktionierten auf unserer Website alle JS auf dem Desktop nicht mehr. Das Wichtigste war, die Ursache des Problems zu finden und zu lösen. In wissenschaftlicher Hinsicht haben wir auf die Andon-Methodik zurückgegriffen: Wir haben alle Prozesse gestoppt, das gesamte Team hat nach einem Grund gesucht. Schnell genug gefunden. Es war mehr Zeit erforderlich, um das Problem zu lösen.
Was war der Grund?Gib etwas mehr Öl ins Feuer. Im Frontend haben wir nichts aktualisiert. Und warum alles zusammenbrach, verstand niemand. Aber es brach überall sofort. Es stellte sich heraus, dass wir ein kleines Hilfsprogramm veröffentlicht hatten, das eine JS-Bibliothek eines Drittanbieters aufrief, die einen Fehler aufwies. Diese Bibliothek wurde sofort im gesamten Code ersetzt. Infolgedessen regnete JS. Niemand hatte erwartet, dass ein völlig fremdes Tool im Admin-Bereich des Steuerungssystems alles kaputt machen könnte.
Sie haben die Andon-Methodik erwähnt. Was ist das?Jeder hat eine Spezialisierung. Ich bin der technische Direktor, es gibt Front-End-Entwickler, mobile Entwickler, Systemadministratoren, DevOps usw. Es scheint, dass ich als C ++ - Programmierer in C ++ schreiben werde. Aber wenn das Frontend JS kaputt gemacht hat? "
Was ist JS? Etwas Unverständliches aus den Geisteswissenschaften werde ich nicht tun. - Aber ich bin im Allgemeinen ein Systemadministrator oder DevOps. Ich habe nichts damit zu tun, zieh dein eigenes JS . “
Andon wurde entwickelt, um solche Situationen zu verhindern. Unser Projekt ist gescheitert, es ist unser gemeinsames. Wir fangen alle an zu suchen, wo es kaputt gegangen ist. In dem von mir beschriebenen Fall wurde der Grund vom üblichen Backend-Entwickler gefunden, der sich einfach hinsetzte und zu suchen begann, ohne zu sagen, dass er nicht in JS schrieb, dass er etwas nicht wusste. Das heißt, Andon liegt in der Tatsache, dass jeder aufgibt und beginnt, das Problem so weit wie möglich zu lösen.
Sie sagten, das Problem sei auf ein internes Systemdienstprogramm zurückzuführen. Sie haben keine Containerisierung verwendet, die jetzt sehr beliebt ist?Nein.
Haben Sie jetzt einen Docker in Produktion?Ja
Das heißt, Sie sind aktiv zu Docker gewechselt und haben es verwendet?Dies ist eine der Hauptrichtungen unserer Arbeit.
Was sind deine Eindrücke?Gut. Ich weiß nicht einmal, wie wir ohne sie leben würden. Zuvor hatten wir PHP - lassen Sie uns Skripte loswerden, und es begann. Und jetzt können Sie in keiner Weise ohne Container leben.
Sie als technischer Direktor engagieren sich für die "Gesundheit" des Teams. Erzähl ein wenig darüber.Eine meiner Hauptqualitäten: Ich höre gerne Menschen zu. Ich versuche mich an ihre Stelle zu setzen, dies ermöglicht es, ihre Stimmung, Probleme, warum sie bestimmte Entscheidungen treffen, warum sie sich so fühlen, zu verstehen. Und das hilft mir, den richtigen Ausweg aus der Situation zu finden und die richtige Entscheidung zu treffen. Für mich ist die „Gesundheit“ des Teams, das „Wohlbefinden“ jedes Menschen äußerst wichtig: Ist es gut für ihn, fühlt er sich im Team wohl, auf welche Ziele bewegt er sich hin, was möchte er erreichen?
Einmal sagte ein Entwickler in einem persönlichen Gespräch: „
Früher habe ich davon geträumt, Techlide oder technischer Direktor zu werden, um mehr Geld zu verdienen, Macht zu haben und so weiter. Jetzt arbeite ich in einer flachen Struktur, wir haben keinen Techlide. Es gibt jedoch einen technischen Direktor, der Managementaufgaben ausführt, und Entwickler treffen technische Entscheidungen. Wohin soll ich zielen? Wie lebe ich Lebensprinzipien sind gebrochen. Es ist nicht klar, wohin wir weiter gehen sollen . "
Allmählich wurde mir klar, dass das nicht der Punkt war. Ein Mann muss glücklich sein. Die Aufgaben, die er ausführt, sollte er mögen. Und er kann sie selbst auswählen. Die Karriereleiter bietet finanzielles Wachstum, kann aber auch auf andere Weise erreicht werden: Sie lösen komplexere Probleme, helfen anderen, Ihr Team arbeitet schneller, Sie liefern komplexe Funktionen schneller. Soviel zu Karrierewachstum, Lohn und Rate. Änderungen in der Arbeitsmappe sind zweitrangig. Arbeiten Sie gut - Sie haben Freude daran. Und wenn sich dies positiv auf das Produkt auswirkt, erhöht sich das Gehalt und die Position im Arbeitsbuch ändert sich.
Wie werde ich Teamleiter?Sie können einfach nicht sein. Teamwork bedeutet, das zu tun, was Sie wollen. In meiner Praxis gab es Fälle, in denen einer Person auf Wunsch Timlid verschrieben wurde. Nun, wir schreiben ein Memo, wir ändern den Eintrag in der Arbeit, erhöhen das Gehalt. Gleichzeitig sagt die Person, dass sie ein Teamleiter ist, aber das Team erkennt ihn nicht.
Es passiert umgekehrt: Eine Person erklärt dem Team, wie etwas zu tun ist, und das Team erkennt ihn. Dies sind die besten Teamleiter. Wenn Sie ein Teamleiter werden möchten, werden Sie es sein. Und wenn Sie nicht wollen, werden Sie es nicht tun.
Sie sagen, dass Sie gerne Entwicklern zuhören, Sie geben viele Beispiele, wenn sie Ihnen etwas sagen. Aber Entwickler sind normalerweise introvertiert, manchmal ist es schwierig, ein Wort aus ihnen herauszuholen. Wie gehst du damit um? Wie kann ich mit dem Entwickler sprechen?Alle Introvertierten. Jeder hasst Menschen. Das ist nicht der Punkt. Wir arbeiten zusammen. Ich versuche von Zeit zu Zeit eins zu eins mit Leuten zu reden. Es ist äußerst nützlich, Feedback zu erhalten. Einmal konnte ich nicht verstehen, was mit einer Person geschah. Dann waren wir uns einig, dass wir uns alle zwei Wochen treffen und reden würden. Und danach lief alles reibungslos. Ich sage ihm, dass ich ihn nicht mag, er sagt mir, dass er ihn nicht mag. Wir finden Gemeinsamkeiten, treffen Entscheidungen und diskutieren, was wir als nächstes so machen werden. Und vorwärts gehen. Es funktioniert sehr gut. Wir müssen mehr kommunizieren.
Unsere kleine Blitzumfrage. Welches Betriebssystem werden Sie wählen?Mac OS
Was ist die beste IDE?JetBrains
Die letzte Anwendung, Website, Startup, die Sie beeindruckt hat?Mobile Banking von der Tinkoff Bank.
Was ist besser: ein Startup oder ein großes Unternehmen?Wenn Sie einfach nur bequem leben und bezahlt werden möchten, gehen Sie zu einer großen Firma. Wenn Sie ständig wütend sind, Bewegung, Adrenalin und Abenteuer wollen, dann ist ein Startup alles für Sie. Sie müssen nicht zu einem Startup gehen, wenn Sie nur viel Geld wollen. Das ist nicht so.
Gestern war der Trend zuerst mobil. Heute steht maschinelles Lernen an erster Stelle. Was wird morgen passieren?Bei einem Training sagten sie, dass es spezielle Leute gibt, die bestimmen, was morgen passieren wird, sogar Karten zu diesem Thema ziehen und sie für Geld verkaufen. Maschinelles Lernen ist eine Art Hype. Es gibt auch Big Data, Virtual Reality, Nano und Biotechnologie. Ich sah eine ähnliche Karte: eine Art Gewirr von verwickelten Bindungen, die sich in verschiedene Richtungen bewegen. Vorhersagen auf astrologischer Ebene. Ich würde sagen, dass es morgen kein maschinelles Lernen geben wird, sondern Big Data. Über jede Person, die online geht, ist bereits viel bekannt. Sie müssen nur lernen, wie man es richtig benutzt. Dieses Wissen wird gesammelt, verarbeitet, ist eine Einnahmequelle.
Wann werden Roboter Sie ersetzen?Wir können sagen, dass sie bereits ersetzt wurden. Ich habe einen Roboterstaubsauger gekauft.
Wie bewerten Sie Aufgaben: in Stunden oder in Story Points?Sowohl in Story Points als auch in Stunden. Wer will es.
Was konnten Sie sich als letztes nicht leisten?Subaru Aufstieg.
Wie viele Bitcoins hast du?Null
Sie interessieren sich nicht für dieses Thema?Das ist Hype.
Was fragen deine Freunde am häufigsten nach am.ru?Wenn wir die Welt übernehmen.
Und wann?Bald erhältlich.