it-swarm-eu.dev

Umgang mit Frustration, wenn Dinge nicht funktionieren

Sie haben jemals versucht, etwas Einfaches zu implementieren, aber aus irgendeinem seltsamen Grund funktioniert es nicht.

Sie versuchen also eine mögliche Lösung, aber dann funktioniert etwas anderes nicht. Sie versuchen immer wieder andere Problemumgehungen, aber jedes Mal funktioniert etwas anderes nicht.

Jedes Mal, wenn Sie einen Schritt näher kommen, sind Sie auch einen (oder mehrere) Schritte weiter von der Lösung dieses Problems entfernt. In 3 Stunden hätten Sie 10 Minuten brauchen müssen. nd es ist immer noch nicht gelöst.

In Ihrem Unternehmen gibt es niemanden, der Ihnen helfen kann, und Sie sind dabei, Ihre Faust durch Ihren Bildschirm zu führen.


An diesem Punkt sind Sie so frustriert, dass Sie nicht mehr klar über das Problem nachdenken können. Was sollten Sie an dieser Stelle tun? Oder was können Sie tun, um diesen Punkt nicht zu erreichen?

63
JD Isaacks

Obwohl dies ein echtes Problem ist, ist es nicht spezifisch für die Programmierung. Es ist jedoch meiner Meinung nach so wichtig, dass es einen Platz in diesem Forum verdient.

Meine Vorschläge: Pause. Gehen Sie spazieren, meditieren Sie, schlafen Sie, machen Sie körperliche Aktivität * - tun Sie etwas völlig anderes als lassen Sie Ihr Gehirn sich entspannen und aus der mentalen Furcht herauskommen, während Sie Ihr Unterbewusstsein in Ruhe an dem Problem arbeiten lassen. Normalerweise liefert es überraschend schnell Ergebnisse - es muss Sie nur darüber informieren. Aber während Ihr Bewusstsein immer wieder dieselben Gedankenzyklen wiederholt, kann es nichts anderes hören.

was können Sie tun, um diesen Punkt nicht zu erreichen?

Entspannungs- und Achtsamkeitstechniken sind ein Schlüssel, um die Stressreaktionen zu überwinden und Ihrem Geist zu ermöglichen, sich klar zu konzentrieren. Und das zu üben zahlt sich wirklich aus. Wenn jemand Erfahrung mit diesen hat, kann er bereits bemerken, dass der Stresslevel steigt, bevor die Frustration überhand nehmen kann. Dann kann man den Gedankenzyklus unterbrechen, z. durch ein paar tiefe Atemzüge oder ein paar Minuten Entspannungsübung. Dies kann alles sein, was zu diesem Zeitpunkt benötigt wird.

* Küss deinen Partner, streichel dein Haustier - Vorschläge meiner Frau :-)

70
Péter Török

es ist jetzt 3 Stunden her, als dies 10 Minuten hätte dauern sollen.

Das Zauberwort ist sollte. Streichen Sie das aus Ihrem Wortschatz.

Wer hat gesagt, dass es 10 Minuten dauern soll? Wer konkret? Was war die sachliche Grundlage für ihren Anspruch?

Wenn Sie dies schon dreimal getan haben und jedes Mal, wenn Sie sich 10 Minuten näherten, haben Sie eine rationale Grundlage für ein sollte.

Wenn Sie es noch nie zuvor getan haben, bedeutet das Sagen von sollte nur, dass Sie versagen. Sie sollten heute aufhören, sollte zu verwenden.

35
S.Lott

Finden Sie jemanden, der als Resonanzboden verwendet werden kann

Auch wenn niemand genau weiß, woran Sie arbeiten, ist es eine gute Idee, häufig über diese Dinge zu sprechen. Allein die bloße Handlung, jemanden als Resonanzboden zu benutzen, kann Ihren Geist dazu bringen, sich zu drehen. Sie werden feststellen, dass Sie an neue Dinge denken, die Sie ausprobieren sollten. Es wird auch Ihren Stress lindern, ein wenig zu entlüften und möglicherweise einen neuen Freund zu finden. Es ist im Allgemeinen auch nur gesund für das Team, sich wohl zu fühlen, wenn sie miteinander teilen und Mitleid haben, um eine teamorientierte Atmosphäre für die Lösung dieser Art von Problemen zu schaffen.

22
Doug T.

Geh für eine Weile weg und mach etwas anderes. Schlafen Sie gut und kommen Sie morgens auf das Problem zurück.

Verprügel dich auch nicht. Ihre Zehn-Minuten-Schätzung ist eindeutig nicht korrekt, und das passiert immer wieder.

9
jprete

Ich habe ein paar Schritte, wenn ich diesen Punkt erreicht habe. Normalerweise kann ich eine Lösung finden, wenn ich mir die Zeit nehme, zurückzutreten und nachzudenken.

Schritt 1: Gehen Sie vom Problem weg und machen Sie Ihren Kopf frei. Komm zurück, wenn du nicht frustriert bist und es mit einem frischen Geist betrachten kannst.

Schritt 2: Gehen Sie zurück zum Code und prüfen Sie, ob Sie etwas verpasst haben. Lassen Sie jemanden kommen und ein zweites Paar Augen sein, wenn Sie einfach keine Köpfe oder Schwänze daraus machen können.

Schritt 3: Entfernen Sie den Code aus der Gleichung. Was ist das Problem, das Sie lösen möchten? Schreiben Sie es auf ein Stück Papier oder Whiteboard. Sprechen Sie mit jemandem über das Problem, um dessen Meinung zu dem Problem und der Lösung zu erfahren.

Schritt 4: Wenden Sie sich an die Community, um zu sehen, ob sie eine Lösung hat oder ob jemand anderes jemals dieselbe Wand getroffen hat.

Grundsätzlich können diese als "Hör auf zu hacken und entferne dich vom Code" zusammengefasst werden.

9
Tyanna

Ich würde hier eine Frage stellen und die Community Ihnen bei der Lösung helfen lassen. So weniger stressig.

2
Bernard

Ich habe einen speziellen Namen für diese Art von Situation: epischer Programmierkampf.

Wenn ich nicht mindestens einen epischen Programmierkampf mit einer bestimmten Programmiersprache oder einem bestimmten Tool hatte und das Problem gelöst habe, kann ich mir nicht sagen, dass ich eine solche Programmiersprache oder ein solches Tool verwenden kann .

Es gibt also meine Lösung: Mentalisiere es wie einen Kampf und eine Prüfung von Mut und Ausdauer. Wenn ich das Problem nicht lösen kann, dann " lebe, um einen weiteren Tag zu kämpfen".

Es mag ein bisschen lächerlich klingen, aber es wird lustiger und erfreulicher sein, in diesen Begriffen darüber nachzudenken (als wäre es eine Art Spiel, das Sie gewinnen müssen), anstatt den ganzen Weg zu leiden, weil Sie sich dem stellen müssen -fact that du weißt nicht alles.

1
dukeofgaming

Ich habe eine andere Art von Lösung - SCHLAFEN !!

Wenn Sie mit einem Problem frustriert sind, können Sie es nicht einfach lösen. Es ist also besser, wenn Sie so müde werden, das Problem zu lösen, und dann einschlafen.

Wenn Sie aufwachen, haben Sie ein frisches Gefühl und können wieder klar mit dem Problem denken. Ich mache es manchmal.

1
ruben

Wenn ich an diesem Punkt angelangt bin, finde ich etwas, um wieder Vertrauen aufzubauen. Dies könnte darin bestehen, ein Sudoku- oder Kenken-Rätsel zu lösen, eine einfache, sinnlose Verwaltungsaufgabe zu erledigen, z. B. mein Arbeitszeitblatt auszufüllen oder spazieren zu gehen. Der Schlüssel hier ist, dass ich ein Gefühl der Errungenschaft in dieser kleinen Ablenkung habe, um mich genug aufzupumpen, um wieder auf das Pferd zu steigen und in das wilde Blau dort drüben zu reiten und dort ein paar Metaphern zu mischen.

Um zu vermeiden, dass es so schlimm wird, würde ich wahrscheinlich vorschlagen, eine Strategie für Zeitboxen zu entwickeln, damit ich aufhöre und habe, wenn Sie glauben, dass etwas 10 Minuten dauert und es plötzlich eine Stunde später mit nicht viel Fortschritt ist eine kleine Pause, anstatt zu versuchen, meinen Kopf weiter gegen die Wand zu schlagen.

1
JB King

Nun ... ich denke, Sie brauchen eine neue Karriere oder völlig neue Erwartungen. Obwohl dies sicherlich nicht häufig vorkommt, ist es im Softwaregeschäft sicherlich nicht ungewöhnlich, 3, 4, 8, 10 oder 40 Stunden zu benötigen, um das zu tun, was Sie ursprünglich für einen 10-minütigen Job gehalten hatten. Ich bin sicher, dass die meisten Entwickler, die an etwas arbeiten, das selbst mäßig komplex ist, 2-Tage-Aufgaben zu 1-Monats-Aufgaben gemacht haben, sobald sie sich damit befasst und das Problem verstanden haben.

Ein Teil davon, ein guter Entwickler zu sein, besteht darin, geduldig zu sein. Andernfalls wird der Computer gewinnen und Sie werden eine Art Schnellkorrektur-Hack einbauen, der kaum zu funktionieren scheint, aber unweigerlich etwas kaputt macht, an das Sie nicht gedacht haben. Wenn kleinere Verzögerungen so viel Stress verursachen, sollten Sie wahrscheinlich nicht in dieser Branche arbeiten.

0
Dunk

Zwei Vorschläge:

  1. Die klügste Person, die ich kenne, die zwei Doktortitel hat und die Berufsbezeichnung "Research Fellow" bei einem kleinen privaten Unternehmen trägt, sagt dies

    Wenn Sie 15 Minuten lang darüber nachgedacht haben und keine Antwort haben, machen Sie es falsch.

    Hör auf darüber nachzudenken.

    Mach ein Nickerchen. (spazieren gehen oder so)

    Die Antwort wird da sein, wenn Sie aufwachen.

  2. Holen Sie sich das Buch von David J Agan "Debugging". Es wird Ihnen wahrscheinlich mehr über das Debuggen beibringen, sodass Sie es schnell debuggen können, wenn die Dinge nicht funktionieren.

0
Tim Williscroft

Immer wenn ich mit etwas konfrontiert werde, das nicht funktioniert, erinnere ich mich an dieses Zitat:

Wenn Sie in der Hölle sind, gehen Sie weiter, da dies das Beste ist, was zu diesem Zeitpunkt getan werden kann.

Machen Sie eine Pause, versuchen Sie, sich zu erfrischen und konzentrieren Sie sich auf Probleme mit neuer Energie.

0
Rachel

die Empfehlungen anderer wiederholen:

  • diese Situation ist fast immer etwas Triviales, das Sie sehen Sie einfach nicht; mach eine Pause
  • ein anderes Paar Augen oder auch nur das Erklären des Problems Ihrer Katze kann helfen

und Hinzufügen:

  • überprüfen Sie Ihre Annahmen, insbesondere die nicht angegebenen. Wahrscheinlich haben Sie den falschen Baum angebellt
  • kehren Sie die Situation um: Nehmen Sie an, dass das aktuelle Verhalten das gewünschte Ergebnis ist. Was müssten Sie also mit dem Code tun, um dies zu erreichen?
  • schreiben Sie einen Testcode (Asserts oder Protokollierung oder bedingte Haltepunkte - halten Sie es einfach), um Ihre Annahmen entlang des Ausführungspfads zu überprüfen
0
Steven A. Lowe

Müdigkeit oder Schlafmangel sind bei mir nie ein Thema. Ich bin frustrierter über die mangelnde Organisation innerhalb der gesamten Branche und über die niedrigen Standards, die wir uns selbst gesetzt haben. Hier sind fünf Dinge, die mich frustrieren:

  1. APIs, deren Design kompliziert ist. Es ist, als würde man eine ganz neue Programmiersprache lernen. Tatsächlich sind einige APIs viel schwieriger zu erlernen als das Erlernen neuer Programmiersprachen. Ich bewundere Ihre Intelligenz, aber Sie hätten mir Zeit sparen können, indem Sie die Dokumentation eingereicht haben, dass ich einen Doktortitel in Softwareentwicklung oder Informatik benötigte, um sie zu verstehen.

  2. Mangel an guter Dokumentation. Ich kann nie darüber hinwegkommen, dass so viele API-Designer viel Zeit damit verbringen, eine API zu erstellen, nur um sie mit minimaler Dokumentation freizugeben. Danke, aber wie benutze ich das? Was ist in dieser Situation zu tun? usw.

  3. Proprietäre Implementierungen. Einige proprietäre Implementierungen sind in Ordnung, aber wenn Standards existieren, befolgen Sie diese Standards aus Gründen der Menschheit bitte. Nichts ist frustrierender, als sich zu fragen, warum etwas nicht funktioniert, nur um herauszufinden, dass die Implementierung nicht den normalen Standards entspricht.

  4. Sandbox-Umgebungen/Einschränkungen. Ok, vielleicht hilft das, die schlechten Leute fernzuhalten, aber meiner Meinung nach schränken Einschränkungen dessen, was ein Programmierer tun kann, nur die Kreativität und den technologischen Fortschritt ein. Viele der großartigen Ideen, die ich hatte, wurden verworfen, nachdem ich festgestellt hatte, dass ich nichts tun darf. Die Programmierbranche ist wirklich darauf ausgelegt, alltägliche Anwendungen zu entwickeln, nicht innovative bahnbrechende Software. Wenn Sie sich also dafür entscheiden, Programmierer zu werden, entscheiden Sie sich wirklich dafür, ein modernes Grunzen zu sein, es sei denn, Sie möchten ein einsamer Akademiker werden.

  5. Moderne Diskussionen. Die Menschen diskutieren heute noch über die Hässlichkeit der LISP-Klammern oder das Verdienst der Sauberkeit von Pythons oder darüber, wie einige Sprachen wie Cobol oder Fortran aussterben usw. usw. Wirklich Menschen? Darüber diskutieren wir? Lassen Sie uns über Parallelität oder bessere Möglichkeiten zum Entwerfen sicherer Systeme sprechen oder darüber, wie Logikprogrammierung unser Leben verbessern kann. Hören wir auf, wie Programmierer zu denken, und denken wir wie Designer der Welt von morgen.

Ich persönlich programmiere aufgrund dieser Frustrationen nicht mehr so ​​viel. Bis die Branche beschließt, mehr zu tun als nur das nächste Facebook zu erstellen oder das Textverarbeitungsprogramm neu zu erfinden, auf das ich eingestellt bin. Ich überlasse es euch. Ehrlich gesagt nichts für ungut, es ist gutes Geld.

0
annoying_squid

Manchmal ist es am besten, nicht nur zu versuchen, einen Weg durch ein Problem zu finden. Nehmen Sie sich etwas Zeit und schreiben Sie im Pseudocode auf, was Sie tun müssen. Ich weiß, dass es Druck gibt, Dinge so schnell wie möglich zu erledigen, aber nach dem, was ich gesehen habe, führt diese Art der Codierung zu der Art von Situation, die Sie beschreiben. Wenn jemand Code schreibt, der nur unter einer kleinen Anzahl von Bedingungen funktioniert und der Änderungen ändert, bricht der Code oder führt unerwartete Dinge aus.

Auch (ich hasse es zuzugeben, dass meine Professoren Recht hatten ...), Dokumentieren und Unit-Tests helfen. Dies würde es einfacher machen zu wissen, was ein Codeabschnitt bei gegebener Eingabe ausgeben wird. Dann ist es einfacher zu erkennen, welchen Effekt eine Änderung der Eingabe in diesen Abschnitten hat.

0
John