Wie ich aufhörte zu hassen und mich in die Entwicklung verliebte

Der Artikel Angst und Abscheu vor der IT hat mich traurig gemacht. Nicht weil ich die Gefühle des Autors teile, sondern weil sie von vielen guten Entwicklern geteilt werden, die sich selbst, ihre Projekte, die Industrie und den menschlichen Fortschritt im Allgemeinen töten. Hier ist ein Mahanul, was?


Egal, wie enthusiastisch ich als Futurist bin und wie geschickt Automatisierung ist, in diesem Artikel geht es um mehr Alltägliches als um eine bessere Zukunft. Deshalb werde ich das nächste Mal das Schicksal der Menschheit verlassen. Jetzt möchte ich endlich über die gewaltigen Mengen an Negativität, Schmerz, Angst und Hass sprechen, die in den Tiefen der IT-Community lauern und von einer kleinen warmen Schicht von Hype-Technologie und coolen technischen Lösungen abgedeckt werden.

Haftungsausschluss


Aus eigener Erfahrung weiß ich, wie schwierig es ist, das, was im Outsourcing diskutiert wird, insbesondere auf große Projekte anzuwenden. Ich möchte nicht, dass die meisten Entwickler jetzt „gut überlegen“ und den Artikel schließen, aber ich weiß nicht, wie ich locken soll, aber ich möchte auch nicht täuschen. Deshalb frage ich dich: Mach weiter, nicht alles ist so schlimm.

Übermäßige Komplexität


Der Autor des Originalartikels betonte das Offensichtliche: Der Entwickler kontrolliert den Betrieb seiner Lösung nicht mehr. Für viele war es sehr angenehm und gab ein Gefühl der Ruhe und Kontrolle. Und dieser Komfort bleibt der Ausgangspunkt: Trotz des Übergangs von der Kategorie der Schöpfer zur Kategorie der Handwerker versucht der Programmierer immer noch, den Prozess des Erzeugens von etwas aus dem Nichts zu genießen. Mit fremden Kreationen kann dieses Vergnügen nicht erreicht werden, man fühlt bestenfalls ein Mosaik , erfolgreich ausgewählte Steine. (Mosaik ist aber auch eine Kunst, was stimmt hier nicht? Hmm ...).

Akzeptiere das Unvermeidliche. Nur ausgewählte Charaktere von Mythen könnten Planeten aus dem Nichts erschaffen. Wenn Sie die entsprechenden Komponenten verwenden, bekannte Ansätze anwenden und sorgfältig überlegen , können Sie ein elegantes System erstellen, das mit dem einer "reinen" Kreation vergleichbar ist. Und es wird auf jeder Ebene funktionieren: von der neuen Aufzählung bis zum Entwurf eines Hochlastsystems.

Technisch ist nicht alles so rosig. Und zwei Dinge sind schuld: Zeit und Kollegen. Unsere Entscheidungen müssen zwei Kriterien erfüllen: Die Kosten sollten niedriger als der erwartete mittelfristige Nutzen und die Supportkosten niedriger als die langfristigen Kosten sein. Aufgrund des vorhandenen Entwicklungsvolumens kommt es daher unweigerlich zu Entscheidungen wie „Diesen Kunden überall einsetzen“: Es ist schnell und das gesamte Team weiß, wie es damit umgeht. Und wenn der Kunde sehr beliebt ist, können zukünftige Teammitglieder das. Suchen Sie nach einem Gleichgewicht zwischen den Extremen der erhabenen Schöpfung und der seelenlosen Beförderung, genießen Sie es, es zu finden!

Zu viel und Interviews


Die Auswahl der perfekten Komponente für die aktuelle Lösung ist unwahrscheinlich. Selbst wenn er existiert, ist er einer von tausend. Jeder Entwickler / Team / Unternehmen wählt etwas für sich aus, lernt, Fallstricke zu umgehen ... und fordert von anderen die gleichen Erfahrungen. Das ist doof. So dumm wie daran festzuhalten, die Kontrolle über deine Kreation zu verlieren.

Jedes Mal, wenn ich eine andere Geschichte über die Schmerzen aus dem Interview lese, „möchten sie die vollständige Liste der Änderungen in ES6 kennen“, bin ich traurig. Sie wollen nur eines wissen: Werden Sie zu ihrem Team passen? Und "sie" sind wir, nur auf der anderen Seite des Tisches. Wir wissen nicht, wie wir fragen sollen, und wir wissen nicht, wie wir antworten sollen.

Brechen Sie diesen Teufelskreis des Missverständnisses! Hören Sie auf, Interviews zu führen, und suchen Sie sich einen Job. Sagen Sie, was Sie denken. Akzeptiere, dass dein Team eins von zwanzig ist. Finde sie.

Hören Sie auf, jemanden zu suchen, der das Gleiche weiß, und suchen Sie jemanden, der Ihnen etwas Neues gibt. Fragen Sie, was Ihnen wichtig ist. Akzeptiere, dass du durch das Stellen von Wissensfragen einfach eine detaillierte Zusammenfassung schreibst. Finden Sie jemanden, der mit Ihnen die gleiche Techniksprache spricht, und teilen Sie Ihre Prinzipien und Entwicklungsansätze mit.

IT-Leute


Auch Leute. Menschen sind anders, während fremdenfeindlich; ein durchaus nützliches Merkmal in Bezug auf die natürliche Auslese. Es hilft nichts, wenn man in einem Team arbeitet, und man kann wenig dagegen tun: Es wird für die Kontrolleure interessant sein, ihre Spielsachen zusammen zu spielen, die Hardcore-Ingenieure werden ein paar Worte schaffen, ewige Dinge zusammen schaffen.

Akzeptiere: Menschen sind anders. Wenn Sie Leute brauchen - suchen Sie nach "Ihrem".

Wahrscheinlich hängt die maximale Menge an Hass mit Managern zusammen. Und hier befinden wir uns wieder in einem Teufelskreis: Der Manager will oder kann seinen Job nicht machen - und deshalb wenden wir uns von ihm ab und tun alles selbst. Er ist sowieso nutzlos . Diese Frage geht in

Geschäft


Auf dem Schlachtfeld von Business with Technology sind viele Exemplare kaputt. Ich habe keine Lust, mich zu wiederholen, daher lasse ich einen großen Teil des Kontexts aus und gehe direkt zum Hauptpunkt.

Nur der Entwickler ist für die Krücken in den Lösungen verantwortlich. Nur das Unternehmen (vertreten durch PO, PM, Direktoren usw.) ist für Projektfehler verantwortlich. Und hier braucht man viel Kraft. Erfahren Sie, wie Sie den Preis für schnelle Lösungen berechnen. Erfahren Sie, wie Sie nachweisen können, dass das Speichern eines Monats morgen zu einer Überschreitung von zwei Monaten führt. Oder will nicht. Akzeptieren Sie, dass guter Code Probleme nicht von selbst löst, aber Unternehmen sich auch nicht in technische Schulden stecken wollen!

Sie können sich weigern, Bulshit Bingo zu spielen. Nenne einen Spaten einen Spaten, bevor sie dich erreichen und du wirst sie schön nennen. Ein Entwickler kann es sich leisten, ehrlich zu sein - er hat kein Budget und keine Verantwortung. Zur Not fällt es Entwicklern leicht, einen neuen Job zu finden, bei dem etwas weniger Angst vor Ehrlichkeit besteht. Geben Sie Ihre ehrliche Expertenmeinung zu dem Problem und der Lösung ab und lassen Sie das Unternehmen das Problem lösen. Und unterscheiden Sie die Unwilligkeit, sich für eine Lösung zu entscheiden. Wir haben das Geschäft daran gewöhnt, dass Sie einen schnellen Hack machen können. Sie wissen, dass wir das Ergebnis fünfmal schneller erhalten, wenn Sie ein wenig Druck ausüben. Dies ist eine Ablehnung der Entscheidung, und wir sollten uns einem solchen Verhalten nicht hingeben. Der Manager, der nach einer Lösung sucht, zerlegt und priorisiert diese und versucht, das Ergebnis rechtzeitig anzuzeigen. Und wir sind verpflichtet, dabei zu helfen.

Der Fluch des Outsourcings
Alles, wovon ich spreche, ist sehr sinnvoll, wenn eine Struktur zwischen dem realen Geschäft und dem Entwickler entsteht, für die das Geschäft selbst die Entwicklung ist. Die natürliche Verursachung ist ernsthaft betroffen, wenn es eine Seite gibt, für die die Entwicklung und das erfolgreiche Funktionieren des Geschäfts nicht wichtig sind. Wofür nur die Menge der für die Entwicklung aufgewendeten Ressourcen von Bedeutung ist und je mehr desto besser. Und selbst wenn Outsourcer es Entwicklern ermöglichen, direkt mit dem Kunden zu kommunizieren, kann es in den Tiefen eines riesigen Unternehmens einen gleichgültigen Manager geben, der unverantwortlich und schlapp ist. Einmal bin ich einfach vor einer ähnlichen Situation davongelaufen, und ich habe nichts zu raten.

Der Entwickler sollte das Geschäft gerade so gut verstehen, dass die Zeit für das Formulieren von Fragen und das Verstehen der Antworten mit der Zeit für die Suche nach einer technischen Lösung vergleichbar ist. Wir können nicht mehr sagen "gib mir einen Kuchen und ich werde alles tun", so ein Kuchen ist fast die ganze Lösung. Unsere Arbeit besteht nicht mehr darin, Bytes manuell neu zu ordnen. Wir haben jetzt viel mehr Zeit, um das gesamte Bild zu analysieren. Aber wir sollten nicht akzeptieren, "dass es eine Menge Aufgaben gibt, was da ist und wie". Unternehmen sparen häufig Zeit bei der Suche nach einer Unternehmenslösung, und die Aufgabe des Entwicklers besteht darin, festzustellen, dass nichts zu entwickeln ist, und das Unternehmen darauf hinzuweisen. Das ist harte Arbeit und nicht jedermanns Sache.

Über mich


Mit 20 codierte ich tagelang und ging gerne zur Arbeit.
Mit 25 sah ich, wie schlimm alles war und litt, erwartete Freitag und ein Haustierprojekt, in dem alles in Ordnung ist.
Mit 30 habe ich eine Leidenschaft für die Arbeit ... freue mich, Freitag und das Wochenende zu treffen.

Ich weiß nicht, was in weiteren 5 Jahren passieren wird, aber ich hoffe, dass ich von den gegenwärtigen Überzeugungen nicht enttäuscht sein werde.
Unser Gebiet gibt uns viel - Meinungsfreiheit, Entwicklung, Wissen, interessante Erfahrung und anständiges Geld. Unsere Region ist sehr jung, es ist immer noch ein Handwerk und wir haben keine Dynastie handwerklicher Vorfahren. Wir wissen noch nicht, wie wir damit umgehen sollen. Deshalb sind wir wütend, leiden und brennen aus.

Meine Entscheidung ist die Vermutung der Rationalität. Über seinen Code, E-Mails oder Drag & Drop kann ich keine Rückschlüsse mehr auf eine Person ziehen. Noch mehr, ich versuche nicht schlecht zu denken wegen dem, was er sagt oder tut. Schließlich ist er, während wir an einer gemeinsamen Sache arbeiten und bis er direkt sagte: „Ich möchte dem Projekt schaden“, mein Verbündeter, und zusammen können wir mehr als nur einzeln tun.

Bisher hat noch niemand etwas gesagt, obwohl ich manchmal ein paar Kollegen in diese Ecke fahre :)

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


All Articles