Angst und Abscheu vor IT

Hallo allerseits. Ich bin ein normaler Programmierer, der einen Seniorenmantel in einem normalen Lebensmittelgeschäft trägt. Ich bin seit ungefähr 10 Jahren in der kommerziellen Entwicklung tätig, habe mit der Entwicklung von Firmware für kleine Eisenstücke begonnen und erstelle jetzt Backends mit unterschiedlichem Komplexitätsgrad, hauptsächlich auf dem jetzt modischen Java / Kotlin. Ich habe diesen Beruf aus Berufung gewählt - als Schüler habe ich die ganze Zeit etwas gelötet, auf ein Stück Papier programmiert (es gab keinen Computer) und so weiter. Als nächstes folgte die Profilbildung, die Arbeit in verschiedenen Unternehmen - im In- und Ausland. Daher kann ich sagen, dass ich ein ideologischer Programmierer bin. Und ich habe die Leute, die auf Freitag warten, nie verstanden - ich bin immer gerne zur Arbeit gegangen, egal was zum Teufel dort vor sich ging. Zumindest bis vor kurzem. Irgendwann „brach“ ich und konnte mich kaum noch zwingen, zu meinem einst geliebten Job zu gehen. Früher hat mich etwas gestört, aber jetzt, da meine Gedanken Gestalt angenommen haben, kann ich sagen, was mit meiner einst gemütlichen IT-Welt nicht stimmt.

Übermäßige Komplexität


Als ich an den Drüsen arbeitete, mochte ich die Eigenschaft, die ich durchschaue, wie diese Sache funktioniert - welche Bytes bewegen sich, in welchem ​​Speicherbereich dies geschieht und wie der Compiler mit dem Code umgeht. Es gab ein Gefühl der Ruhe und Kontrolle. Als ich etwas später zur Backend-Entwicklung überging, kicherte ich über endlose XML-Konfigurationen für EJB oder den gleichen Frühling. Ich würde wissen, was mich in Zukunft erwartet. Jetzt verstehe ich einfach nicht (und bin schon verzweifelt daran zu verstehen), was in meinem unkomplizierten Anhang vor sich geht. Eine Reihe von Abstraktionsebenen, Container in Containern, Tonnen von Handbüchern, Skripten, Tools, Versionen und Konfigurationsdateien. Ich habe immer noch nicht herausgefunden, wie das Projekt implementiert wird, woran ich jetzt seit sechs Monaten arbeite. Und natürlich kann man zumindest in der ersten Phase keinen Monolithen herstellen. Teilen Sie alles sofort in Microservices auf, da dies so richtig ist (auf der Konferenz wurde gesagt, dass dies in Unternehmen X erfolgt). Natürlich können wir den guten alten Apache-HTTP-Client nicht verwenden, um alle paar Minuten zu dem Dienst zu gelangen, den wir benötigen, da dieser Client nicht asynchron ist und keinen integrierten Ratenbegrenzer, Gegendruckmechanismus oder andere modische Dinge hat. Zu meiner Frage: „Warum ist das alles für eine Ladung von 1 Auftrag / min notwendig?“ Bekomme ich nur einen vorwurfsvollen Blick von meinen Kollegen, auf deren Stirn die Aufschrift „Hier bist du blöd“ leuchtet.

Ein separates Thema ist Mr. Javascript mit seinen unzähligen Frameworks. Ich verstehe ehrlich gesagt nicht, wie viele Dinge für ein Tool erfunden werden könnten, das nur Formulare auf Webseiten zeichnen und von Zeit zu Zeit eine Anfrage für ein Backend senden muss. Gut, dass ich das Backend mache.

Am Beispiel des Frontends (und nicht nur des Frontends) können wir deutlich sehen, wie wir uns im Kreis bewegen: Lassen Sie uns die gesamte Logik auf der Serverseite ausführen -> und jetzt auf der Clientseite -> und jetzt wieder auf dem Server und so weiter. Lassen Sie uns das Frontend und das Backend in einer Sprache schreiben -> und jetzt in verschiedenen Sprachen -> und noch einmal in einer. Machen wir Schemata für Datenformate -> Schemata nur für Oldtimer -> und nicht, Schemata werden trotzdem benötigt. Einer meiner Kumpels greift auf seine Open Source-Bibliothek von yaml zu xml zu, einfach weil es dort Schemata gibt und es großartig ist, wenn Sie eine riesige Konfiguration kichern und eine IDE, die XSD kennt, die halbe Arbeit für Sie erledigen kann. Daraus folgt das folgende Problem:

Zu viel


Tools, Sprachen, Bücher, Konferenzen, Frameworks usw. Lange nach jenen Tagen, als es für die Entwicklung von Software ausreichte, Kenntnisse über einen PL, ein paar Bibliotheken zu haben, und das war alles. Jetzt warten wir auf Hunderte von Frameworks mit einem Dutzend Sprachen (auch im Rahmen eines Projekts), modischem und nicht zu starkem DBMS, allgegenwärtigen Nachrichtenbrokern, Hunderten von Quadratkilometern verteiltem Rechen und anderem Spaß. In der Regel hat ein durchschnittlicher Programmierer keine Zeit, um all dies bei der Arbeit zu studieren (mit Ausnahme der Tools, die bereits in seinen Projekten verwendet werden), da Sie daran arbeiten müssen. Viele Menschen müssen sich persönlich mit diesen Technologien auseinandersetzen, obwohl wahrscheinlich 90% der untersuchten Technologien niemals von Nutzen sein werden. Ich selbst habe fünfhundert Artikel in der Tasche, eine Menge unsichtbarer Videoaufrufe von Konferenzen, und jeder Anruf bei Habr ist ein obligatorischer Besuch bei McConaughey.

Aber selbst harte Arbeit mit einer bestimmten Sprache oder zum Beispiel einem DBMS in Ihrem Unternehmen ermöglicht es Ihnen manchmal nicht, im Trend zu bleiben, weil Technologien werden veraltet, bevor sie angewendet werden können. Sogar Java wird jetzt mit Firefox-Geschwindigkeit veröffentlicht.

Dank des endlosen Stroms schnell wachsenden Wissens fühlen sich viele von uns als ewige Studenten oder Betrüger, egal wie viele Systeme Sie tatsächlich gebaut haben. Und das ist sehr vorteilhaft für HRs und Arbeitgeber - Sie können Ihre Ausschreibung mit ein paar kniffligen Fragen ganz einfach beenden. Diese Art von Rattenrennen HR wird politisch korrekt als Selbstentwicklung bezeichnet.

Vor kurzem habe ich einen Trend beobachtet, der Entwicklern die Autorität einer Geschäftsabteilung auferlegt. Jetzt muss der Entwickler neben der Erfüllung seiner Hauptaufgaben das Thema auf der Ebene eines guten Analysten verstehen und allgemein über das Geschäft nachdenken. Lassen Sie mich in Ruhe, ich weiß nicht, wie ich Ihre Conversion-Rate erhöhen kann

Bewerbungsgespräche


Dies ist die wichtigste und beliebteste Spezialdisziplin. Tatsächlich hängt es davon ab, ob Sie in einem gemieteten Odnuschka irgendwo außerhalb der Moskauer Ringstraße auf einem alten zerquetschten Sofa schlafen oder ob Sie sich in Pappe verstecken müssen, die auf einer Heizungsleitung unter einer Brücke liegt. War das Interview zu Beginn meiner Karriere noch ein Herz-zu-Herz-Gespräch, ist es jetzt eher eine Prüfung. Vielleicht liegt das an der Tatsache, dass es damals keine so großen Gehälter und Massen gab, die sich für IT oder einfach nur für Mode interessieren, ich weiß es nicht. Tatsache ist jedoch, dass Sie bei einem Vorstellungsgespräch für die Position eines leitenden Entwicklers mit hoher Wahrscheinlichkeit auf Aufgaben stoßen, die mit Quizfragen behaftet sind. „Nun, lösen Sie ein Problem auf einem Stück Papier, das wir gestern mit leetcode gestohlen haben. Falsch an einer Einheit in der Randbedingung? Fuuuuu doof! Sie wissen nicht, wie% methodName% im angesagtesten% frameworkName% funktioniert. Wer hat ihn überhaupt hierher gebracht? Sicherheit! "Niemand kümmert sich mehr darum, dass Ihr Kopf anders angeordnet ist, und Sie können den verächtlichen herablassenden Blick von hochnäsigen Nerds nicht schnell und fehlerfrei betonen, um den Algorithmus für eine Aufgabe zu verpacken, über die Sie noch keine Zeit hatten. Zum Beispiel, wie viele Kilometer Code und Produktionssysteme sich hinter Ihnen befinden. Nun, zumindest die Rätselfragen sind tot, und danke dafür.

IT-Leute


Hier analysieren wir einige Unterarten dieser Population, mit denen wir uns am häufigsten befassen müssen.

Eigentlich Entwickler und Sympathisanten. Im Gegensatz zu Stereotypen - zum größten Teil keine orthodoxen Nerds, sondern ganz normale Typen. Aber in der Regel gibt es nichts, worüber man mit ihnen reden könnte. Alle Gespräche außerhalb der Arbeitszeit laufen auf die Arbeit hinaus. Aber wie sonst, wenn Sie gezwungen sind, all diesen Technomuth rund um die Uhr zu lernen? Mein Rat ist, Jungs in karierten Hemden mit Rucksäcken fern zu bleiben, sonst kann man sich eine tödliche Portion Langeweile verdienen. Viele von ihnen gehen zur Arbeit, um nicht zu arbeiten, sondern um Spielzeug zu spielen. Lass uns das Rad neu erfinden, ein neues Gerüst befestigen (und wir werden nachts die Hölle aus dem Essen harken) und wir werden mit Sicherheit alles zur Hälfte fallen lassen, weil dieses Spielzeug müde ist und sie neue mitgebracht haben. Aber dann werden wir uns die Wangen pusten und auf Konferenzen erzählen, wie wir das Problem, das wir selbst geschaffen haben, besiegt haben. GEWINN! Diese Leute werden genauso leicht zu allerlei Müll wie "interessanten Aufgaben" und "komplexen Systemen" (es ist unmöglich, einen Taschenrechner ohne ein Dutzend Mikrodienstleistungen in der IT-Kultur zu bauen) geführt, was menschlich bedeutet, die saure Scheiße eines Mammuts einzusammeln, aber z weniger Geld, wodurch die Löhne der Industrie sinken. Wie in einem Witz "- Papa, was werden wir heute essen?" "Nichts, mein Sohn, ich arbeite an interessanten Aufgaben in einem freundlichen Team."

Projektleiter. Ehrlich gesagt, 10 Jahre lang habe ich nicht verstanden, wer die Projektmanager sind und warum sie gebraucht werden. In völlig anderen Büros sah es ungefähr so ​​aus: Es gibt eine Reihe von Aufgaben, man muss klären, was und wie vorhanden ist, und es muss vor einem solchen Datum erledigt werden. Und ich holte mir einen Latte von den Hipstern im ersten Stock und schrieb auf Instagram, was für ein harter Tag es heute ist. Nur einmal sah ich einen Typen, der all diese langweiligen Zeitpläne erstellte, mit Aufgaben jonglierte und unser Assistent war, und nicht nur einen coolen Typen, der nicht programmieren konnte, sondern ich möchte wirklich einen ITP.

Kellner. Sehr geliebt von vielen Kategorien. Dank ihres Dumpings können vernünftige und ideologische Interessen nicht in die Branche eindringen - viele rollende Arbeiter sind auf der Suche nach einem langen Rubel bereit, überhaupt kostenlos zu arbeiten.

Wir werden über den Rest schweigen.

Geschäft


Software in der modernen Welt wird nicht einfach gemacht, weil es Spaß macht (obwohl es manchmal so scheint). Dies geschieht meistens, um Teilnehmer zu verdienen - direkt oder indirekt. Und in diesem Zusammenhang können wir Menschen in zwei Kategorien einteilen.

Diejenigen, denen es wichtig ist, wie - damit im Inneren alles schön und korrekt ist.

Diejenigen, denen es wichtig ist, was sie tun, interessieren sich für die Essenz des Produkts, das sie herstellen.

Normalerweise enthält der Entwickler diese beiden Kategorien nur in unterschiedlichen Anteilen.

Für beide habe ich traurige Neuigkeiten.

Für die erste Kategorie - aus der Sicht des Geldverdienens spielt es keine Rolle, wie die richtige Architektur ausgewählt wird und wie schön der Code ist. Genau wie all Ihre Sicherheit, Best Practices usw. Man kann Krücken knacken, Großmütter verdienen, und dann springt der Manager, der das alles gemacht hat, auf das benachbarte Boot, "um neue Erfahrungen zu sammeln", und das Team harkt nachts im Stall.

In der zweiten Kategorie tun 90% von Ihnen das, was andere schon vor langer Zeit getan haben. Mit seltenen Ausnahmen sind alle Ihre Produkte äußerst zweitrangig. Trotzdem versuchen gerissene Geschäftsleute, dem nächsten Zahlungssystem, dem Online-Banking und dergleichen, „Ideologie“ zu verleihen. Ich habe das alles selbst durchgemacht, und ich muss sagen, es ist viel einfacher zu arbeiten, wenn Sie eine klare Antwort auf die Frage haben, warum das alles notwendig ist. Aus irgendeinem Grund vergessen alle diese „Veränderer“ der Welt zu sagen, dass eine Veränderung der Welt als Nebenprodukt des Geldverdienens auftritt und nicht umgekehrt. Es ist schwer, die Welt zu verändern, wenn eine Schrotflinte des Verwaltungsrates an Ihrer Schläfe hängt und die Schlinge eines Aktionärs um Ihren Hals geworfen wird. Für mich klingt der Satz „Wir arbeiten, um Geld zu verdienen“ viel ehrlicher. Eine andere Sache ist, dass, wenn Sie HR im Moment mitteilen, dass Sie für Geld bei der Arbeit arbeiten, 146% einen verwirrten Blick bekommen und so etwas wie "Sie passen nicht zu uns, wir brauchen begeisterte Menschen, die sich selbst entwickeln und interessante Aufgaben benötigen."

Gesundheit


Jeder weiß, dass Sie, wenn Sie über einen längeren Zeitraum Gewichte heben, ohne entsprechende Vorbereitung (oder sogar damit) garantiert Probleme mit Ihrem Rücken und Ihren Gelenken bekommen. Dasselbe gilt für das Gehirn, nur ist dies weniger offensichtlich. Unsere Arbeit erfordert eine hohe Rendite und Konzentration, auch wenn wir die Tests an der Maschine nur wiederholen und im Hintergrund einer anderen Intelligence-Umfrage zuhören. Es scheint mir, dass das Gehirn einfach nicht für solche täglichen Leistungen ausgelegt ist. Ich habe an verschiedenen beschissenen Jobs gearbeitet, auch an körperlichen, und ich kann sagen, dass ich mich noch nie so gequetscht und frustriert gefühlt habe, als wenn ich jeden Tag das Büro verlassen hätte. Viele meiner über 35 Kollegen haben die gleiche Meinung und Fragen wie "Was ist, wenn Sie 25 Jahre alt und ausgebrannt sind?" Oder "Wie komme ich da raus?" Tauchten in den Foren auf. Wie lange es dauern wird, sich in diesem Modus zu dehnen, ist eine interessante Frage.

Total


Seit 10 kurzen Jahren hat sich die IT-Sphäre aus einer gemütlichen kleinen Welt von Computer-Nerds, die im Keller in der Nähe des flackernden Monitors sitzen, zu einer riesigen Hype-Branche mit hohen Gehältern, Marketing und anderen wichtigen Neuigkeiten entwickelt. Das Programmieren ist keine Technik mehr, sondern nur ein langweiliges Handwerk, dessen Hauptzweck darin besteht, aus Govnokod und Krücken Geld zu machen. Es bleibt nur zu warten, bis all dieser Koloss unter seinem eigenen Gewicht zusammenbricht und wir in unsere Keller zurückkehren. Oder nicht.

Source: https://habr.com/ru/post/de478844/


All Articles