
Als ich gerade anfing zu lernen, wie man programmiert, glaubte ich, dass die alten weisen Arschlöcher mit ihrem Mantra "Programmiersprache ist nicht wichtig". Ich hatte die Idee eines Fixes - ein Entwickler zu sein, der alles kann. Ein Typ, der die Erfahrung des Einsatzes einer Technologie in eine andere einbringt und über die Details aufsteigt. Aber dieses Unternehmen ist kläglich gescheitert.
Die feste Idee ist, alles zu wissen
Ich habe C # und .NET mit verschiedenen Anwendungen (asp.net, wpf, xamarin), js / ts (react / redux, node) studiert und mich davon überzeugt, dass ich jetzt wirklich alles kann. Ich abstrahierte, dachte in mehreren Programmierparadigmen gleichzeitig und habe praktisches Wissen in allen Aspekten der professionellen Softwareentwicklung. Sie können sicher anfangen, sich über diese vierzigjährigen Senioren einer Technologie lustig zu machen, die die Hälfte ihres Lebens damit verbracht haben, was ich in einer Woche verstehen kann. Es kann argumentiert werden, dass das Eintauchen in den Themenbereich für Idioten ist, die ihr ganzes Leben an einem Ort arbeiten wollen, während ich davon abstrahiert bin.
Alles ist gleich, und ich habe ein Muster gesehen. Wenn ich jetzt an einer lächerlichen Python arbeiten muss, sage ich: „Geben Sie mir etwas Zeit für ein schnelles Lesen der Spezifikation, und ich bin bereit, mit dieser Scheiße auf der höheren Ebene zu arbeiten. Nun, am Ende könnte es so kompliziert sein, dass ich es noch nicht gesehen habe? “ Also habe ich einen Kult geschaffen, Details zu vernachlässigen. Lassen Sie die Jones im Detail kriechen, was nicht abstrakt sein kann.
Wissenslücken sind nicht offensichtlich und unsichtbar
Einmal habe ich angefangen, abstrakte Klassen in TypeScript zu entwerfen, und sie haben sich über mich lustig gemacht. Weil sie das im Skript nicht tun. Natürlich tat ich so, als wären meine Kollegen nur Idioten. Dies half normalerweise, aber diesmal gab es einen Rückstand.
Der Ruf eines guten Entwicklers verbirgt Ihre Lücken sowohl vor Kollegen als auch vor Ihnen. Sie kennen nicht viele kritische spezifische Dinge, aber Sie sehen dies nicht, nur weil Sie es nicht wissen.
Dann begann der schwarze Streifen. Scheiße! Ich weiß nicht, welche Indextypen in SQL vorhanden sind. Bam! Vergessen, wenn der statische Konstruktor in Sharps aufgerufen wird. Ups! Ich kann IDisposable ohne Google nicht korrekt implementieren. Ich versuche, einen Zustand in eine Reaktionskomponente zu mutieren.
Ich vermutete, dass meine Abstraktheit nicht funktionierte. Dass die Technologien immer noch unterschiedlich sind und die Details wichtig sind. Jedes technologische Ökosystem hat seine eigenen Best Practices. Die Erfahrung mit .NET schadet bei der Arbeit mit jvm nicht, ersetzt es jedoch nicht. Meine selbst zugewiesene Fähigkeit „Ich habe gelernt , schnell zu lernen“ erwies sich als unwahr. Ich habe nicht schneller gelernt als alle anderen. Und ich habe zu lange gebraucht, um zu verstehen.
Meine Fähigkeit stellte sich als Konvoi heraus - ein Schwan, Krebs und Hecht versuchten, ihn in verschiedene Richtungen zu ziehen. Ich wurde nicht automatisch der Herr in allem. Ich bin gerade Multidraw geworden, ein Gespött für vierzigjährige Senioren einer Technologie. Und dann kam ich zu dem Schluss, dass die Auswahl eines Full-Stack-Pfads ein Fehler ist.
Und dann beginnt die Selbstgeißelung
Das Problem ist, dass Unternehmen volle Stapel benötigen. Nur nicht wie ich, sondern die Signorers in allem, Leute, die fünf Jahre Erfahrung in jeder der Full-Stack-Technologien haben.
Aber das passiert nicht und das Geschäft geht auf Selbsttäuschung. Sie nehmen eine schwache Mitte in drei Haupttechnologien ein und nennen ihn Senior Full-Stack-Entwickler. Dieser Titel verwandelt eine Person in einen Betrüger und wird zu einer unerschöpflichen Quelle eines Minderwertigkeitskomplexes. Jeder gewöhnliche Entwickler, der an einer Technologie herumfummelt, fummelt besser daran herum. Und jetzt verstehe ich gut, dass ich nicht bereit bin, als Team gleichberechtigt mit Menschen zu arbeiten, die viel besser stöbern als ich. Andernfalls werde ich nach einer Woche an Selbstgefälligkeit sterben.
Selbstkennzeichnung ist ein großes Problem in unserer Branche, aber wir behandeln es falsch. Wir schreiben Manifeste für einander, dass wir Dartanyaner sind und alles um uns herum eine Ziege ist. Dass es keine Abwertung von Senioren gibt, unterschätzen wir uns einfach, dass wir Demut in den Müll werfen und an unsere innere Göttin der Entwicklung glauben müssen. Dass wir an der Haut der Arroganz ziehen und alle wegschicken müssen, die an uns zweifeln.
Und man muss nur zugeben, dass die Entwicklung nicht nur für Menschen von außen, sondern auch für uns schwierig ist. Im Moment etwas nicht zu wissen ist normal. Wenn Sie eine Lücke haben, bedeutet dies nicht, dass Sie weniger Geld wert sind und in die Wüste vertrieben werden müssen.
Aber auf den tiefsten Ebenen der Reflexion bleibt die Selbstgeißelung in uns. Die Fulstacks beißen sich, dass sie die Technologie nicht genau kennen. Einstufige Spezialisten - die sie nicht allgemein kennen.
Lerne in der Tiefe und lerne in der Tiefe
Hier ist ein alter Konflikt: Sie können gründlich studieren, aber Sie können die Breite, aber nicht beide gleichzeitig. Ich habe diesen Effekt bemerkt - wenn Sie anfangen, eine neue Technologie zu studieren, wird die alte uninteressant. Wenn Sie jedoch in der IT Ihr technologisches Wissen nicht das ganze Jahr über aktualisieren, sind Sie nicht mehr relevant.
Wenn Sie Full-Stack bleiben möchten, müssen Sie sich zwingen, die Versionshinweise einiger TypeScript zu lesen und sie gleichzeitig auch im Geschäftsleben auszuprobieren - auch wenn Sie dies nicht möchten. Darüber hinaus sind Sie immer noch unzugänglich schlechter als der Entwickler, der jeden Tag ausschließlich über das Skript schreibt.
Das Hauptproblem dieses Konflikts ist, dass wir nicht wissen, was besser ist. Wir und insbesondere das Geschäft wollen dies und das. Das alles würde in allem stöbern und tief genug stöbern.
Was besser ist, weiß ich nicht, aber ich weiß, wie es sich anfühlt, ein voller Stapel auf diesem Weg zu sein. Sie müssen viel mehr Zeit mit Lernen verbringen als einsprachige Entwickler. Dies wird sich während Ihrer gesamten Karriere fortsetzen, aber im Vergleich zu ihnen wird Ihr Niveau immer noch niedriger sein.
Du wirst überall dein sein, aber überall unter Fremden. Trotz Ihrer enormen Anstrengungen wird jeder Experte in einer bestimmten Sprache mit Schaum im Mund beweisen, dass Sie es nicht wert sind, als Senior bezeichnet zu werden.
Du wirst die ewige Mitte.
Ich persönlich entschied, dass ich keinen Weg zurück hatte. Ich kann eine Sache wirklich gründlich studieren, ich kann versuchen, in das Management einzusteigen - hier werden nur oberflächliche Kenntnisse benötigt -, aber ich sollte besser im Weg bleiben und leiden, bis ich wirklich alles über alles lerne.