
Es gibt zwei Möglichkeiten, um in IT-Unternehmen zum Top-Management zu werden:
- Managerial - Wenn ein Projektmanager beginnt, andere Manager zu verwalten.
- Tekhnarsky - Wenn ein Entwickler beginnt, andere Entwickler zu verwalten, steigt die Anzahl der von ihm verwalteten Mitarbeiter.
Der erste Weg ist natürlicher, da er die Entwicklung der Grundqualitäten eines Managers während seines Wachstums impliziert. Tatsächlich bleibt der Manager der Manager und wird nur ein Spezialist auf einer höheren Ebene.
Der zweite Weg ist länger und garantiert keinen Erfolg, da er dem Wesen des introvertierten Programmierers widerspricht. Auf diesem Weg möchte ich mich jedoch auf Erfahrungen und Wissen konzentrieren und diese teilen.
Achtung, Spoiler.
- Alle Namen sind fiktiv
- Die Erzählung bezieht sich mehr auf die kundenspezifische Entwicklung.
- Fähigkeiten und insbesondere Soft Skills sind formal schwer zu bewerten. Alle Grafiken in diesem Artikel sind an Bedingungen geknüpft und spiegeln meine persönliche Meinung wider
Der Beginn des Pfades des Programmierers
Wir stehen also ganz am Anfang des Weges des Programmierers.
Treffen: Nikolai (Name geändert). Nikolai ist ein junger Programmierer, er studiert gut an der Universität und hat bereits versucht, einfache Websites zu schreiben. Er kam für die Position des Juni-Frontends ins Studio und wurde für ein Projekt eingesetzt, das seit zwei Jahren mit dem modernen Angular Framework Version 1.5 geschrieben wurde. Kolyas Junge arbeitete nicht mit ihm, aber er sah ein bekanntes Dollarzeichen und es gelang ihm bereits, ein paar Plug-Ins für jQuery zu schreiben. Diese Tatsache ermutigte Nicholas, aber dann sagten ihm die älteren Kameraden, dass dies überhaupt nicht jQuery sei, und im Allgemeinen müssen Sie hier eine Anweisung schreiben, aber hier müssen zwei Filter durchgeführt werden. Nikolay ist depressiv, aber entschlossen, sich diesem Projekt anzuschließen.
Und jetzt ist ein Jahr vergangen, Nikolai schreibt meisterhaft Anweisungen und vergeht keinen Tag ohne ein neues Modul. Kohl auf einem Pferd, Optimismus wird ihm durch die Tatsache hinzugefügt, dass vor sechs Monaten ein junger Juni für ein Projekt auf ihn gepflanzt wurde, und er weiß nicht einmal, was die Richtlinie ist. Welpe! Nikolai freundete sich mit älteren Kameraden an, und nur ein 30-jähriger Mann in der Ecke ist immer mit etwas unzufrieden.

Tatsächlich sehen wir in den Grafiken die technischen Fähigkeiten für das Projekt und alle Fähigkeiten von Nicholas, die er hat. Da dies sein erstes Projekt ist, ist dies alles, was Nikolai weiß. Nach einer Weile geht er zu den Chefs und bittet um zwei Säcke Geld - schließlich erstellt er geschickt Richtlinien für das Projekt, und im Allgemeinen ist er der Ansicht, dass er in MR doppelt so viele Kommentare hinterlässt wie der 30-jährige Mann. Offensichtlich ist er besser als sein Teamleiter. Er erhält eine völlig vernünftige Ablehnung und beginnt, sich nach einem neuen Job umzusehen. Vielleicht denkt er darüber nach, zu einem anderen Projekt oder zu einem anderen Team zu wechseln. In jedem Fall ist er mit einer Situation konfrontiert, in der das neu erworbene Wissen nicht mehr relevant ist und er weiter lernen muss.

Dies ist Nikolais erste Krise, "Die Wirkung des ersten Projekts".
An einem neuen Ort erhält Nikolai ein Projekt zu Angular 5, nun, er schreibt geschickt Anweisungen! Aber da sieht er ein Spiel! Was ist TypeScript noch? Was sind RxJs und Threads? Die älteren Kameraden lachen über ihn und der 30-jährige Mann wirft unfreundliche Blicke. Ich habe eine große Anzahl solcher Sterne und viele Sterne gesehen, als der Entwickler feststellte, dass er immer noch nichts weiß! Und je früher dies geschieht, desto besser. Dies wird als Mahnwesen - Krüger-Effekt - eine metakognitive Verzerrung bezeichnet, die darin besteht, dass Menschen mit einem geringen Qualifikationsniveau falsche Schlussfolgerungen ziehen, erfolglose Entscheidungen treffen und gleichzeitig ihre Fehler aufgrund des geringen Qualifikationsniveaus nicht erkennen können.

June, der 3-4 Projekte in einem Jahr ersetzt hat, ist dem Arbeitgeber, der ein Jahr lang allein im selben Projekt saß, viel vorzuziehen, weil er:
- Bewertet objektiv ihre Kenntnisse und Fähigkeiten.
- Ständig weiterentwickelt
- Kommuniziert mehr im Team
- Er versteht den Preis eines Fehlers besser, weil er mehr Fristen und Veröffentlichungen gesehen hat.
Kollegen, die sich zu diesem Zeitpunkt befanden, möchten Folgendes wünschen:
- Verliere nicht den Mut, wenn du versagst
- Ständig neue Bibliotheken und Technologien lernen und lernen
- Star nicht
Junior → Mittel → Senior
Nun, ein paar Jahre sind vergangen und was sehen wir?

Nikolay hat bereits mehrere Frameworks gemeistert und erkannt, dass Frameworks nur ein Werkzeug zur Lösung spezifischer Probleme sind. Er ertrug die Tatsache, dass er nicht alles weiß, aber gleichzeitig versucht er sich ständig zu entwickeln. Irgendwann kommt er zu dem jungen 33-jährigen Teamleiter und sagt: Hören Sie, Petya (Name geändert), ein paar Dzhuns sind zu uns gekommen, sie wissen nichts und erledigen langsam Aufgaben im Projekt. Lassen Sie mich ihnen einige Vorlesungen oder Meisterkurse geben, damit sie sich schnell unserer Arbeit anschließen können. Und in diesem Moment geht Nikolai zum nächsten Level.
Jetzt gibt es eine Unterteilung in Junior, Middle, Senior. Middle glaubt, dass er eine neue Programmiersprache beherrschen und seine Ausrüstung straffen muss, um Signor zu werden. Dies ist nicht ganz richtig. Zu Beginn der häuslichen Entwicklung gab es eine ähnliche Position wie Signor, sie wurde als führende Programmiererin bezeichnet - eine solche Spezialistin weiß nicht nur viel, sondern leitet auch Projekte oder ein Team. Signor kann nicht ohne entsprechende Soft Skills werden.
Nikolay lernte, Ansätze für alle Teammitglieder zu finden, er entwickelt den Rest ständig weiter. Er hat bereits die "Stars des ersten Projekts" gesehen, aber es ist ihm viel bequemer, mit denselben Fachleuten zu arbeiten wie er. Schließlich verstehen sie, dass der Erfolg des Projekts der Erfolg aller ist und die Panne eines Teammitglieds letztendlich alle Teilnehmer betrifft.
In dieser Phase sind zwei Möglichkeiten möglich: ein einfacher Darsteller zu sein, Aufgaben nicht zu belasten und zu lösen; Die zweite besteht darin, sich in Richtung eines führenden Programmierers zu entwickeln, Verantwortung und Initiative zu übernehmen.
In dieser Phase der Programmiererentwicklung schätzen das Team und das Management seine Qualitäten:
- Verantwortung
- Zuverlässigkeit
- Geselligkeit
- Proaktivität
Wo lohnt es sich zu entwickeln?
- Vertieftes Verständnis der von ihm verwendeten Technologien
- Den Horizont erweitern
- Übernehmen Sie Verantwortung für Projekte und Menschen
Darüber hinaus müssen die Fähigkeiten aus dem letzten Absatz gepumpt werden, wenn er sich entlang der Kurve zum Kopf entwickeln möchte. Wenn er nicht interessiert ist, können wir uns auf die Fähigkeiten eines technischen Spezialisten konzentrieren.
Technologiekrise
Irgendwann ist Nikolai entsetzt darüber, dass niemand bereits in JS schreibt und der größte Teil seines Wissens von niemandem benötigt wird. So setzt die Technologiekrise ein. Ich habe eine solche Krise mit Desktop-Anwendungen gefunden. Wenig später wurden einfach keine Programmierer mehr benötigt - Front-End-Renderings wurden überall benötigt. Dann geriet PHP plötzlich aus der Mode und JS-Entwickler wurden auf dem Markt benötigt.

Es gibt drei Auswege:
- Umschulung für einen neuen Stapel
- Werden Sie im Alten besser und greifen Sie zu den letzten Bestellungen. Das gleiche Delphi ist in engen Kreisen mit einer großen Menge an Legacy-Code immer noch gefragt
- Lassen Sie das Management mit den entsprechenden Fähigkeiten
Es werden immer starke Spezialisten benötigt, aber mit abnehmender Nachfrage nach einer bestimmten Technologie nimmt der Wettbewerb zwischen den Bewerbern zu. Die kundenspezifische Entwicklung leidet in diesem Ausmaß mehr als die Produktentwicklung. Nachdem sich ein Entwickler in einem großen Lebensmittelunternehmen niedergelassen hat, hat er möglicherweise keine Angst vor dem Alter oder der Veralterung seines Technologie-Stacks - er wird gefragt sein, solange das Produkt lebt. Laut meiner Statistik ist das Durchschnittsalter der Entwickler in Lebensmittelunternehmen höher als in Studios.
TeamLead. Alterskrise
Nun, Nikolay hat den Technologie-Stack geändert, und alles scheint in Ordnung zu sein, aber wir sehen, dass neue Fähigkeiten langsamer vermittelt werden und die jüngere Generation schneller aufholt.

Hier kommt die letzte Krise - die Alterskrise.
Nicholas wurde einer dieser Teamleiter, die er vor einigen Jahren als alte Leute betrachtete, immer murrend und unzufrieden, aber jetzt begann er weniger zu schreiben.
Sie könnten denken, wenn Sie weniger Code schreiben, werden Sie sich langsamer entwickeln, und die Leute, die mehr schreiben, werden sich schneller entwickeln und Sie bald einholen. Ich habe unter jungen Fachleuten eine solche Phobie erlebt.
Welche Möglichkeiten kann es geben:
- Wenn Sie in einem Lebensmittelunternehmen arbeiten, ist dies wahrscheinlich nicht so wichtig für Sie, und Sie können alles so lassen, wie es ist
- Gehen Sie zum Beispiel zur Ausbildung zum Berater, Architekten usw.
- Taki geht zum Management
Gehen wir weiter zu den Kurven
Zufriedenheit. Es kann nicht immer an der Spitze sein, qualitativ hochwertige Projekte werden nicht immer gefunden, und das ideale Team ist schwer zu finden und auszubilden.

Ich bin sicher, dass man trotz des Rückgangs der Zufriedenheit immer menschlich bleiben muss. Ich sage, wenn die Fristen für das Projekt eingehalten werden und alle in der Seife herumlaufen, hilft zu viel Nervosität dem Fall nicht. Das Team wird viel komfortabler mit Menschen zusammenarbeiten, die Sie in kritischen Momenten nicht im Stich lassen.
Technische Fähigkeiten werden relativ schnell erworben und noch schneller vergessen und veralten, wenn man sie von der Seite betrachtet.

Es stellt sich heraus, dass der Programmierer seinen Höhepunkt in der Entwicklung hat und dann zu „altern“ beginnt und es irgendwann Zeit für ihn ist, sich zurückzuziehen?
Ja und nein. In der Tat können Sie anstelle eines einzelnen Diagramms 3 zeichnen (wieder IMHO, wie die Werte).

- technische Fähigkeiten - dieses Wissen ist in Technologie, Programmiersprache, Framework. Erinnerst du dich an das, was ich früher geschrieben habe, dass der Teamleiter anfängt, weniger Code und mehr Kontrolle zu schreiben? Diese Fähigkeiten haben gerade im Moment der größten Nachfrage nach einem Spezialisten für die Rolle des Encoders ihren Höhepunkt.
- Hard Skills sind eine Kombination aus Wissen und Erfahrung des Entwicklers. Im Laufe der Zeit nimmt ihr Wachstum ab, da altes Wissen bereits veraltet und nicht mehr gefragt ist, aber es sind die trockenen Rückstände, die nützlich bleiben.
- Soft Skills sind genau jene persönlichen Eigenschaften, die nicht gezählt werden können, aber weiterentwickelt werden müssen. Dies sind Eigenschaften, die immer wichtig sind, aber in unterschiedlichem Maße jedem von Geburt an gegeben werden.
Aber fügen wir noch ein Diagramm hinzu
value = (0,5*tech + 1*hard + 1,5*soft)/3

, , 10 .
, .
, ? « , — » , . , , , , . , , .
HR- . , . , . : , , , ( , ).
2
, :
Junior → Middle → Senior → TeamLead? → Project manager? → Head Of * → Chief * Officer
?
, : . , : , .

TechLead vs TeamLead
, (, ), .
TeamLead ( 1 ) — , . :
-
- ,
- ( )
- , .
- TechLead PM
TechLead ( 2 ) — . , TeamLead, , .. 2 .
— TechLead, TeamLead:
- , , ,
- — , , —
- ,
- PM
- TeamLead,
, , , ( ), .
— , , , , , , , - .
, , , , , . , .
( , , ) , , .
, :
, , , , - « ». : , , .
/ , , : , ..
, — . , . ,
, , .