Es gibt solche Dinge in C # - Strukturen. Sie sind wie Klassen, aber sie werden auf dem Stapel gespeichert und arbeiten nicht nach Referenz, sondern nach Wert. In der durchschnittlichen Entwicklung werden sie fast nie verwendet. Strukturen haben viele Vorteile, und ich ertrinke aufrichtig dafür, dass sie zur Verbesserung von Code verwendet werden können. Schauen Sie, wir können die Funktionen von Strukturen verwenden, um sichereren und fehlertoleranteren Code zu schreiben.
Ein solcher Unsinn kann von einer Person gesagt werden, die nicht weiß, dass Strukturen einen leeren Standardkonstruktor haben, der nicht entfernt oder neu definiert werden kann. Weißt du warum ich das nicht wusste? Ja, weil ich sie nie benutzt habe. Immerhin habe ich eine winzige gute Entwicklungserfahrung. Ich möchte lange keine Bücher über Sisharp lesen. Warum, wenn ich trotzdem bezahlt werde?
Vor meinem ersten Job und bis ich ein Unterzeichnerangebot bekam, lernte ich wie ich. Ich las Bücher, dekompilierte meine Muttersprachlerklassen in Dotnet und belästigte die Experten: „Wie funktioniert das Ding? Und warum? Wie würdest du es machen? Was ist schneller? " Der Tag, an dem ich keine neuen Dinge lernte, wurde als Misserfolg erkannt. Und bei jeder Aufgabe sah ich eine Gelegenheit zu lernen. Er freute sich über die Kommentare zu der Bewertung und konnte mitten in der Nacht einen Freund anrufen, um die Entscheidung mit ihm zu besprechen.
Ich habe das alles getan, weil ich das Gefühl hatte, nicht gut genug zu sein, ich habe nichts verstanden. Damals kam es mir so vor, als würde ich meine Juni-Rolle mit großer Kraft spielen, alle um mich herum waren klug und kompetent, und ich wollte wirklich, wirklich gleich werden. Ich dachte, wenn Sie alles normal studieren, ein leitender Entwickler werden, dann sind Sie der Typ, der am Abend ein Projekt entwickelt, es in der Nacht gemacht und am Morgen auf den Markt geschickt hat. Verstehe richtig, wovon kann ein 22-jähriger Junge träumen? Er träumt davon, ein cooler Typ zu werden.
Ungefähr zu diesem Zeitpunkt nahm mein guter Freund, der einen Tag lang nicht als Programmierer gearbeitet hatte, einen Job als leitender Entwickler bei der Sberbank an. Er hat viel studiert, seine Projekte gemacht und konnte daher die Sozialversicherungsprüfung bestehen. Mit seinem damaligen Gehalt hätte er zehn Leute wie mich einstellen können, um seine Arbeit zu erledigen, und ich war ziemlich beleidigt.
Mein gleichaltriger Freund, eine Person ohne Erfahrung, nahm und wurde offiziell zu dem, was ich werden wollte. Keine dummen Zwischenschritte mit jahrelanger Erfahrung und Ausbildung. Danach wollte ich nicht mehr studieren.
Anstelle eines Dutzend Bücher, Artikel und Fragen an kluge Leute begann ich, meine ganze Zeit mit einer Lotterie von Interviews zu verschwenden. Es funktioniert elementar - der Entwickler muss so viele Dinge wissen, dass dieses Wissen selbst theoretisch nicht vollständig verifiziert werden kann. Daher werden sie selektiv geprüft. Es ist wie eine Prüfung auf Tickets, bei der Sie nur eine gelernt haben, aber Sie können an einem Tag zehn solcher Prüfungen ablegen - und mindestens eine erhalten Sie.
Also hat es bei mir funktioniert. Ich habe eine gute Frage, ich habe das Gespräch aufgenommen - und jetzt ist der alte Phil bereits ein leitender Entwickler mit viel Geld. Das funktioniert auf sehr seltsame Weise. Ich wusste, dass ich einen verrückten Jackpot geknackt hatte und gleichzeitig war ich stolz darauf, endlich Unterzeichner geworden zu sein.
Die Entwicklung als Ganzes ist so organisiert, dass nichts passiert, wenn Sie nicht kompetent genug sind. Sie werden nicht viele Probleme bemerken, aber niemand wird daran sterben. Sie haben die Sozialversicherung bestanden, und bei dem neuen Job versucht niemand zu beweisen, dass Sie vergeblich eingestellt wurden. Im Gegenteil, wenn Sie anfangen zu scheitern, versuchen sie, Sie und sich selbst davon zu überzeugen, dass hier kein Fehler vorliegt. Selbst wenn Sie in einigen Angelegenheiten offensichtliche Inkompetenz zeigen, werden sie einfach sagen: "Okay, Phil hat eine Lücke in der Datenbankarchitektur, wir haben alle Lücken." Und egal wie, niemand wird bemerken, dass Sie zehnmal mehr solche Lücken haben als andere.
Es ist leicht, einen normalen Ingenieur mit einer Person zu verwechseln, die nicht kompetent genug ist, weil alle Programmierer befürchten, dass sie nicht gut genug sind. Hören Sie, wenn wir einen Neuling als Technikfreak einstellen und er anfängt zu jammern, dass er nicht gut genug ist, werden wir nicht sagen, dass es sich um ein Betrüger-Syndrom handelt, oder? Er ist wirklich nicht gut genug. Er hat nicht das nötige Wissen. Und die notwendigen Aussichten. Er muss gefeuert oder herabgestuft werden.
Aber nein - der Entwickler sagt, dass er schlecht ist, und die Leute um ihn herum denken, dass eine Person sich selbst normalerweise nicht verstehen und schätzen kann, das passiert nicht. Und sie kommen zu dem Schluss, dass er sich geirrt hat - das heißt, er ist tatsächlich gut und er ist selbstkritisch, was bedeutet, dass er noch besser ist. Und selbst wenn ein Wunder passiert und bei einem der Jobs ein Trick bemerkt wird - es ist keine Tatsache, dass sie gefeuert werden, und wenn sie gefeuert werden, werden Sie einen neuen finden, und dann werden Sie sitzen und allen sagen, dass sie Arschlöcher sind, die nicht verstehen, wie cool Sie sind.
So verlief meine Karriere. Ich saß an einem abgelegenen Ort, gab vor zu arbeiten, und ich selbst durchlief ein Sozialversicherungsprogramm und erhielt alle paar Monate ein dickeres Angebot.
Ich war Senior Developer, Lead Developer, Beratungsexperte und Teamleiter. Er arbeitete mit Russen, Amerikanern, Indern und Vietnamesen. Errichtete riesige Systeme und kleine Startups. Hat den Leuten beigebracht, Code zu schreiben, und versucht, meine eigenen Werkzeuge zu erfinden. Er entwickelte seine eigene Philosophie und Herangehensweise. Ich fing an, ein Buch über Entwicklung zu schreiben.
Aber ich habe vergessen zu lernen, wie man programmiert.
Wenn Sie eine hohe Note haben, können Sie alles delegieren. Okay, Sie verstehen die Datenbank nicht - lassen Sie es denjenigen tun, der sie versteht. Müssen Sie Ihre Leistung optimieren? Ich bin kein Experte, lass es Lyokha tun. Ich werde ihm später meine Bewertung geben. Irgendwann wurde mir klar, dass ich fast alle Aufgaben delegierte, die ich nicht im Voraus lösen konnte. Das Gehirn ist faul und es ist gut, dass das Leben Sie normalerweise in guter Form hält. Aber wenn Sie ein selbsternanntes Technologie-Genie sind, das das System getäuscht hat, wird Ihr Gehirn nichts in guter Form halten. Die ganze wirklich harte Arbeit wird von Sklaven erledigt.
Die traurige Realität ist, dass die meisten Entwicklungsaufgaben mehr oder weniger von jedem von uns erledigt werden können - und fast immer hat niemand die Zeit oder den Wunsch herauszufinden, wie gut Sie es gemacht haben. Entwickler sind Menschen ohne Verantwortung. Niemand fragt uns nach den Fehlern, die wir vor einem Jahr produziert haben und bevor sie normalerweise nicht gefunden wurden.
Es ist in der Branche anerkannt, dass Big Shots in ihrer Freizeit coole Werkzeuge erfinden. Um etwas wirklich Notwendiges auf Sisharp zu erfinden, braucht man einen echten Ingenieur, der einen guten Schluck Scheiße nahm, in seiner zehnjährigen Erfahrung einige schwierige Schmerzen fand und herausfand, wie man sie heilt. Also habe ich ein Frontend-Tool erfunden. Ich kenne das Typoskript ziemlich gut, aber ich habe nie mit einer sauberen Front gearbeitet, und selbst als ich ein vollständiges Konzept im Kopf hatte und bereit war, es schnell zu codieren, stieß ich auf die Tatsache, dass ich im Allgemeinen keine Ahnung habe, wie ich eine Front-End-Bibliothek erstellen und entwerfen soll. Wie man Konfigurationen einrichtet, wie man eine externe API entwirft, wie und welche Tests verbunden werden müssen, welche Dateistruktur für das Projekt verwendet werden soll - ja, ich wusste nichts. Also rief ich meinen Freund von vorne an und überredete ihn, alles für mich zu tun. Als er das tat, hatte sich mein Interesse an dem Projekt bereits abgekühlt.Ich suchte einen neuen Job.
Zum Guten würde ich vor Scham brennen und kopfüber ins Training gehen - aber es wird nicht funktionieren. Ich bin ein erwachsener Mann, ich habe wichtigere Dinge zu tun, als über Lehrbücher nachzudenken. Und das Leben braucht es nicht. Wenn Sie sich nur gut ausruhen und das Geld sparen wollen, müssen Sie alles genau so machen wie ich.
Aber ich wurde verdammt noch mal Entwickler, um interessante und wichtige Dinge zu tun. Etwas bauen, etwas in die Welt bringen. Lösen Sie ein echtes und wichtiges Problem und seien Sie stolz auf die Qualität Ihrer Arbeit. Und ich habe jede Chance verloren. Und im Gegenzug erhielt er eine unverständliche Show, die Gelegenheit, nichts zu tun, und einen unvollendeten amerikanischen Traum. Und obendrein - ein riesiger, einfach astronomischer Haufen Zynismus.
Fick mit zwei, ich werde wenigstens etwas verstehen, lernen oder überhaupt etwas tun, bis sie mich in eine Ecke fahren. Und sie werden mich für zwei in diese Ecke fahren. Ich fühle mich wie ein Stück Scheiße bei der Arbeit, aber ich habe kein Zurück - und ich habe es akzeptiert. Sie nehmen, bezahlen, fahren nicht - na ja, zur Hölle mit ihm. Ich war satt genug, um zu lernen zu leben, indem ich akzeptierte, dass ich ein Stück Scheiße war.
Aber wenn ich die Zeit zurückspulen könnte, hätte ich alles anders gemacht. Sie müssen nicht den 23-jährigen Unterzeichner spielen, um ein wirklich guter Senior-Spezialist zu werden. Es ist notwendig, einen Job nach Rang zu bekommen, und vorzugsweise in allen Arten von Yandex, wo Ihre dreijährige Juni-Erfahrung Sie wirklich zu einem mittleren und einem dreijährigen mittleren machen wird - einem unerfahrenen Unterzeichner. Ja, für fünf oder sechs Jahre erhalten Sie weniger als ich. Aber. Selbst ein niedriges Juni-Gehalt in der IT ist gutes Geld. Sie werden immer noch ein Betrüger-Syndrom haben, aber im Gegensatz zu mir werden Sie kein Betrüger sein. Und am wichtigsten ist, dass ich dann an meine Decke stoße und niemals der Entwickler werde, der die Branche definiert. Doch kannst du. Du tust verdammt noch mal das Beste was du kannst.
Werbung
Leistungsstarke virtuelle Server mit AMD EPYC-Prozessoren für Entwickler. CPU-Kernfrequenz bis 3,4 GHz. Die maximale Konfiguration ermöglicht es Ihnen, die vollen 128 CPU-Kerne, 512 GB RAM, 4000 GB NVMe zu erreichen.
