Wie bekämpfen Sie Programmierermüdung? [geschlossen]

48

Nicht Müdigkeit wie bei „Ich brauche Schlaf“, sondern Müdigkeit wie bei „Ich kann mich nicht mehr stören“, die normalerweise einsetzt, wenn Sie bei einem Projekt, an dem Sie arbeiten, Straßensperren überwinden, je näher Sie sich den Terminen nähern.

Es kann sich um Arbeitsprojekte oder persönliche Projekte handeln, aber das ist etwas, was ich in letzter Zeit immer öfter treffe. Ich werde eine Idee bekommen, daran arbeiten, ein paar wirklich gute Tage haben und Fortschritte machen, dann werden mich nur ein paar Kleinigkeiten aus der Ruhe bringen, ich kann die Dinge nicht so zum Laufen bringen, wie Sie es wollen, ich bin auf Einschränkungen gestoßen im rahmen habe ich probleme, für die ich keine dokumentation finde usw. und es wird einfach zu frustrierend.

Oder bin ich alleine dabei?

Sevenseacat
quelle
4
Ist Ihr Fortschritt in Ihren Projekten messbar, selbst wenn Sie auf Straßensperren stoßen? Wenn nicht, sollten Sie es messbar machen. Die Sichtbarkeit stetigen Fortschritts ist das beste, was ich kenne.
7
Das erinnert mich an Mort (Terry Pratchett) - das Stück, in dem Mort den Mist im Stall räumt. "Mal sehen, dachte er, ich habe fast ein Viertel geschafft. Nennen wir es ein Drittel. Wenn ich also diese Ecke am Heuhaufen geschafft habe, ist es mehr als die Hälfte. Nennen wir es fünf Achtel, was drei mehr bedeutet Schubkarre lädt ... Es beweist nicht viel, außer dass die unglaubliche Pracht des Universums viel einfacher zu bewältigen ist, wenn man es sich als eine Reihe kleiner Brocken vorstellt. "
Steve314
@ Steve314: +1 Pratchett rockt.
Orbling
Probieren Sie den Wels-Effekt .
Rwong
@rwong: Die meisten meiner Projekte sind Einzelprojekte (oder sehr kleine Teams). Es klingt jedoch nach einer interessanten Idee.
Sevenseacat

Antworten:

42

Aufschub

Was Sie beschreiben, ist wahrscheinlich Aufschub . Es ist ein sehr verbreitetes Phänomen. Klicken Sie auf den Link und lesen Sie mehr über die zeitliche Motivationstheorie .

Um den Aufschub zu überwinden, mache ich Listen. Wenn ich das Gefühl habe, zögern zu müssen, öffne ich die Liste und zwinge mich, an dem ersten Element zu arbeiten. Nach wenigen Minuten komme ich in die Zone oder den Fluss, wie es der Psychologe Mihály Csíkszentmihályi beschrieben hat .

Sie sollten Sie in diesem Bild erkennen:

Alt-Text

8bittree
quelle
2
+1 für dich selbst zu zwingen. Ich habe dasselbe für wahr befunden; gerade erst anzufangen ist der schwierigste Teil.
Michael K
2
Finden Sie im Laufe der Jahre nicht heraus, dass alle Projekte auf der vertikalen Achse absteigen. Auch in der Horizontalen besteht eine Tendenz zur Bewegung.
Orbling
Ich habe heute den ganzen Tag verschoben, anstatt mein Open-Source-Projekt zu programmieren. Teufel noch mal.
Gruszczy
1
+1 für das Beheben dieses Problems.
Conor
2
Ich finde, wenn die Liste nur unangenehme Aufgaben an der Spitze hat, kann es so gut wie unmöglich sein, sich dazu zu zwingen ...
Roman Starkov
10

Was für mich funktioniert, ist, von dem Problem, das die Barriere darstellt, Abstand zu nehmen. Dies kann bedeuten, dass andere vorgeschlagen haben, an einem anderen Teil der Codebasis zu arbeiten. Es kann bedeuten, einen Lauf zu machen. Ich habe festgestellt, dass das Schlagen des Kopfes gegen eine Barriere die Barriere nur stärkt. Wenn Sie Ihren Fokus auf etwas anderes setzen, kann Ihr Unterbewusstsein das Problem lösen. Ich war viele Male überrascht, als ich unter der Dusche usw. die Lösung fand.

Jeff
quelle
4
Duschen sind definitiv gute Orte, um Fehler zu beheben.
Orbling
Das ist ein wirklich guter Punkt, um nur die Barriere zu stärken. Ich denke, das ist es, was ich tun muss, Projekte in unterschiedliche Teile zu zerlegen, wenn mein Gehirn genug von einem hat, zu einem anderen zu wechseln, einen anderen Teil des Gehirns zu verwenden.
Sevenseacat
8

Ein Programmierer muss ein Laufwerk haben, das größer ist als das der Green Lantern . Es ist der kleine Juckreiz, den wir haben, wenn etwas nicht funktioniert. Wir versuchen, tiefer zu graben und herauszufinden, warum, ob das nun durch Fragen oder Lesen eines Buches geschieht.

Was Sie tun können, um dieser Müdigkeit Einhalt zu gebieten, ist, sich ein Stück vom Problem zu entfernen und an einem anderen Aspekt der Aufgabe zu arbeiten, die Sie erhalten haben.

Für mich arbeiten die Programmieraufgaben, die mich wie ein Kind entspannen lassen, an der grafischen Benutzeroberfläche. Es ist kinderleicht und erlaubt mir, das Gehirn auszuschalten. Es gibt meinem Gehirn auch den Placebo-Effekt, dass ich etwas vollbringe.


quelle
Also im Grunde bleiben Sie in das Projekt vertieft, aber in der geschäftigen Arbeit? Und ja, das ist das schlimmste Gefühl - wenn Sie die ganze Zeit in etwas gesteckt haben und immer noch das Gefühl haben, nichts erreicht zu haben.
Sevenseacat
3
@Karpie Du erreichst immer noch etwas. Wenn Sie einen Teil der 'geschäftigen Arbeit' erledigen, können Sie weiterhin an etwas arbeiten, das erledigt werden muss, aber es ist nicht unbedingt erforderlich, dass Ihr Gehirn auf alle Zylinder schießt.
Ich weiß nicht - GUI-Arbeit scheint mir immer in Ordnung zu sein. Es macht Spaß und ist eine Herausforderung, es richtig und benutzerfreundlich zu machen, aber es ist sehr schwierig für mich, es schön aussehen zu lassen.
Michael K
Wenn ich für eine Weile so wegtrete, komme ich in etwa 50% der Fälle nie wieder ...: /
Roman Starkov
6

Ich habe die Tendenz, fast die ganze Zeit in dieses Gebiet zu fallen.

Ein Projekt zu starten ist einfach, alles ist neu, Dinge zu erforschen und herauszufinden, Prototypen zu bauen, alles macht Spaß. Aber als die Herausforderung schwindet, schwindet mein Interesse. Lassen Sie die Produktionsversionen der Software erstellen, und bügeln Sie lächerliche kleine Fehler aus, die aufgrund undurchsichtiger Probleme mit einer Plattform auftreten, die Sie verwenden müssen.

Es ist genug, um dich zu Tode zu langweilen.

Ich habe noch nie etwas allzu hilfreiches gefunden, ich arbeite oder spiele nur mit etwas völlig anderem (Stackoverflow ist dafür gut), bis ich mich mit den anderen Dingen gelangweilt habe und mich schuldig fühle. Dann holen Sie sich ein wenig von der langweiligen Arbeit. Die Produktivität verringert sich auf etwa 20%, aber dies ist die Last der langweiligen Codierung.

Es gibt eine Lösung, die Teamprogrammierung, die sehr schwer zu stoppen ist, wenn andere direkt involviert sind.

Orbling
quelle
1
+1, Teambuilding funktioniert super. Leider ist es sehr schwierig, andere Menschen für Ihre persönlichen Projekte zu interessieren.
Dan_waterworth
@dan_waterworth: Stimmt, obwohl es sehr viele Jahre her ist, dass ich für mich selbst programmiert habe. 60-80 Stundenwochen, mit kostbar wenig Urlaub über Jahre hinweg, nehmen eher die Lust ab.
Orbling
2
+1 für Ehrlichkeit: "... bis mir die anderen Dinge langweilig werden und ich mich schuldig fühle ... Die Produktivität reduziert sich auf ungefähr 20% ..."
Kavka
Können Sie nähere Angaben zur Teamprogrammierung machen?
Esqarrouth
6

Paar-Programmierung

Ich finde, dass die Paarprogrammierung in diesen Fällen wirklich hilfreich ist. Finden Sie jemanden, mit dem Sie gut zusammenarbeiten, und greifen Sie die Probleme an. Es gibt nichts Besseres als eine andere Meinung oder ein Resonanzboden, um die Straßensperren zu überwinden. Sobald Sie wieder Fortschritte machen, kehrt die Begeisterung in der Regel von selbst zurück.

Leider ist dies in unserem Unternehmen verpönt, daher mache ich das in der Regel nur, wenn ich die Probleme, die sich auf meine Produktivität auswirken, wirklich spüre.

Andy Lowry
quelle
+1, da dies das einzige war, was ich in meiner Antwort vorgeschlagen habe, obwohl ich es Teamprogrammierung nannte, da mehr als zwei gut sind. ;-)
Orbling
3

Eine neue Sprache lernen. Es gibt nichts Schöneres, als eine neue Sprache zu lernen, um Ihr Interesse zu wecken. Ich würde Haskell vorschlagen.

dan_waterworth
quelle
1
+1 Für neue Sprache +1 für Haskell. Die Wahlmathematik scheint jedoch zu machen 1 + 1 = 1.
Orbling
1
@Orbling, es ist weil1 | 1 = 1
dan_waterworth
Ich denke, 1 & 1 = 1würde meiner Absicht näher kommen. ;-)
Orbling
1
@Orbling, wie wäre es P(vote) = S((1 + 1)/t), wo S(x)ist die Sigmoid-Funktion? (Sie können die Temperatur des Systems wählen).
dan_waterworth
Das habe ich mit meinem neuesten Projekt versucht. Ich habe versucht, Ruby und Rails zu lernen! Das war der Teil über die Dokumentation nicht alle da, heh ...
Sevenseacat
2

Ich fange an, andere Gebiete für eine Stunde oder zu schlagen. Ich verwende Eclipse bei der Arbeit, und mit Eclipse können Sie einen // TODO:Code in Ihren Code einfügen und dann alle in einem Fenster für Sie zusammenstellen. Wenn ich etwas sehe, das ich ändern oder reparieren möchte, während ich an etwas anderem arbeite, setze ich ein TODO ein, um meinen Schwung nicht zu brechen. Wenn ich zu lange nicht weiterkomme (mehr als ein oder zwei Stunden), beginne ich, die Liste durchzuarbeiten. Es bietet einen Wechsel der Landschaft und die meisten Änderungen sind ziemlich einfach, was mir hilft, mich zu entspannen. Oft wird die Antwort herausspringen, während ich immer noch das Gefühl habe, dass ich etwas vollbringe.

Hinweis: Ich liebe es, Code immer weiter zu überarbeiten und zu verbessern. Ihr Kilometerstand kann variieren.

Michael K
quelle
1
+1 Das ist etwas, was ich immer tue, um einen reibungslosen Code-Fluss zu gewährleisten. Wenn Sie den üblichen Codierungslehren folgen, ist es natürlich eine gute Idee, vollständigen Pseudocode im Voraus zu verwenden, um ihn langsam in echten Code umzuwandeln.
Orbling