Welchen Stressfaktoren begegnen Programmierer im Job und wie gehen Sie damit um? [geschlossen]

74

Das Erlernen des Umgangs mit Stress ist von entscheidender Bedeutung, um bei jeder Arbeit gesund zu bleiben. Eine notwendige Teilaufgabe ist das Erkennen und Begrenzen der Stressquellen.

Inmitten des Alltags kann es jedoch schwierig sein, Stressquellen zu erkennen (insbesondere für eine intensive, fokussierte Person wie einen Programmierer).

Auf welche Arten von Stressoren sollten Programmierer achten und wie können sie verwaltet werden?

user8
quelle
2
Verwandte Metadiskussionsfrage: Sollte die
Codierer sind optimistische Menschen, die sich auf Möglichkeiten konzentrieren und keine Momente belasten.
Unabhängige
Auf dieser Seite gibt es bestimmt nur eine geringe Anzahl von Community-Wikis. Boo. Auch diese Frage ist sehr konstruktiv.
Garet Claborn

Antworten:

100

Hier sind die Dinge, die mir und den Entwicklern um mich herum den größten Stress bereiten:

  1. Mehrdeutigkeit : Ineffektiv festgelegte Ziele, Anforderungen oder andere Erwartungen. Viele Unternehmen beschäftigen Mitarbeiter mit einer Einstellung von"I don't know what I want, but I'll know it when I see it. Oh, and by the way I need it tomorrow."
  2. Unangemessene Fristen : Die meisten Fristen werden vom Unternehmen festgelegt, nicht von den realistischen Fähigkeiten der Entwickler im Personal. Darüber hinaus werden die Erwartungen an den Bedarf erhöht, das Budget / die Ressourcen jedoch nicht.
  3. Schlechte Annahmen / Erwartungen : Programmierer neigen dazu, eine hohe Meinung über ihre Fähigkeiten zu haben (kein unverdientes Merkmal), und aus diesem Grund erwarten sie, dass andere Menschen ihre Fähigkeiten, ihr Verständnis und ihre Erwartungen erfüllen können. Oft wird davon ausgegangen, dass etwas ist "common knowledge"oder dergleichen, und dies kann in der Stresskategorie katastrophal sein. Jetzt hat der Business-Experte nicht nur die Erwartungen des Programmierers nicht erfüllt, sondern ist auch noch völlig inkompetent. Umgekehrt ist der Programmierer frustriert, wenn der Programmierer die Erwartungen des Unternehmens nicht erfüllt, da ihm nicht die erforderlichen Informationen zur Verfügung gestellt wurden, um fortzufahren.
  4. Mangel an Respekt : Viele Menschen neigen dazu zu glauben, dass nur weil jemand in Ihrer Disziplin schwach ist, dies bedeutet, dass er schwach in seiner Disziplin ist. Es gibt einen Grund, warum wir alle unterschiedliche Jobs / Fähigkeiten / Erwartungen haben, und es ist wichtig zu respektieren, dass die andere Person sehr wahrscheinlich sehr fähig ist, die Aufgaben zu erledigen, die sie verlangt. Nur weil jemand nicht über Ihre Fähigkeiten verfügt, heißt das nicht, dass er inkompetent oder unfähig ist.
  5. Mangel an Selbstkontrolle : Dies kann sich in vielen Dingen manifestieren. Vielleicht sind Sie ein Work-a-holic, der sich weigert, die richtigen Pausen einzulegen. Dies führt zum Stressaufbau und ist schlecht. Vielleicht sind Sie ein Jolt Cola-Trinker, der mehr Koffein trinkt, als er sollte, wenn sich Stress aufbaut. Dies ist schlecht für Ihre Gesundheit und verschlechtert Ihre Stressreaktion. Sie müssen Ihre Grenzen kennen, wissen, was Ihre spezifischen Stressreaktionen auslöst, und vor allem wissen, wie Sie diese Stressreaktionen abbauen können. Es ist nicht angebracht, Mitarbeiter oder Kollegen damit zu beauftragen, und es erhöht nur den Stress.
  6. Mangelnde Kommunikationsfähigkeiten : Oft sprechen wir nicht dieselbe Sprache und ich spreche nicht über Englisch, Deutsch oder Indisch. Wir verwenden die gleichen Wörter, aber wir sagen nicht die gleichen Dinge. Die Menschen müssen spezifisch und offen für Dinge sein, die sie nicht verstehen. Auch wenn Sie denken, Sie verstehen, tut es nicht weh, zu klären. Denken Sie daran, dass eine Geschäftsmetrik für verschiedene Abteilungen in einer Organisation etwas anderes bedeuten kann.
  7. Grenzwertverluste : Arbeiten Sie weiter am Arbeitsplatz und zu Hause. Nur weil Ihr 7-Jähriger seine Schuhe mitten auf dem Boden liegen lässt und nach dem Frühstück nicht aufräumt, heißt das nicht, dass Sie Tiffany von der Buchhaltung abkauen müssen, weil sie Ihnen die Tabelle mit den Abrechnungsanforderungen nicht gegeben hat . Dasselbe gilt, nur weil Tiffany mit der Tabelle nachlässt, bedeutet nicht, dass Ihre Frau es verdient, auf dem Weg nach Hause schlecht behandelt zu werden. (Übrigens verdient die arme Tiffany diese Behandlung auch nicht)
Joel Etherton
quelle
17

Ich denke, der größte Stressfaktor für jeden Programmierer ist mangelndes Vertrauen .

Ja, viele Meetings (sicherlich nicht Meetings an sich) sind unnötig, aber ich als Programmierer kann ziemlich viel dagegen tun. Wenn ich regelmäßig an Meetings teilnehmen muss, die meiner Meinung nach nicht notwendig sind, dann liegt es in meiner Verantwortung, aufzustehen und zu sagen: "Hey, ich muss nicht an diesem Meeting teilnehmen - ich kann meine Zeit produktiver verbringen."

Gleiches gilt für Unterbrechungen: Ja, das ist mühsam. Ich habe es in einigen Unternehmen gesehen. Oft gibt es jedoch noch einige Dinge, die getan werden können. Ein Programmierer muss nicht alle fünf Minuten sein E-Mail-Konto überprüfen und auf jede E-Mail sofort antworten. Wenn ich für einen bestimmten Zeitraum nicht gestört werden möchte, schalte ich meinen Instant Messanger aus und leite mein Telefon weiter.

Dies sind nur zwei Beispiele - es gibt noch viel mehr. Ja, manchmal wird es schwierig. Meistens ließen sich die Probleme, über die wir sprechen, aber mit etwas mehr Selbstvertrauen ganz einfach beheben. Sagen Sie den Leuten auf der anderen Seite der Kommunikationsschleife: "Ja, ich habe Sie gehört und Ihre Nachricht erhalten, aber darauf komme ich später zurück."

Die größten Probleme sind die, die wir selbst schaffen! ;-)

perdian
quelle
2
+1 Gute Antwort. Man könnte es aber wahrscheinlich mit weniger Worten sagen. :-)
Matthew Rodatus
+1, da es nicht nur ein Stressor ist, sondern auch die Produktivität beeinträchtigen kann.
Covar
Ist dies also ein Mangel an Vertrauen im Allgemeinen oder ein Mangel an Vertrauen, um Nein zu sagen?
Mitch
1
Es ist nicht nur "nein" zu sagen - das wäre zu einfach. Es ist zu erkennen, wann man sagt "das ist nicht so, wie es sein soll" und eine Alternative anzubieten. Nein zu sagen ist nur ein Teil davon.
perdian
12

Fehler in Komponenten von Drittanbietern

Es kann extrem stressig sein, wenn Sie ein Update für eine Komponente eines Drittanbieters erhalten, die etwas kaputt macht. Sie haben nicht den Quellcode, um zu debuggen oder zu modifizieren, aber wenn Ihr System davon abhängt, kann es ziemlich furchterregend sein. Wenn Sie an einem Morgen feststellen, dass der Server für die Quellcodeverwaltung unerwartet funktioniert und Sie möglicherweise zwei Wochen Zeit für das Einchecken verlieren, kann dies zu erheblichem Stress führen. Dies ist im Grunde die Idee einer undichten Abstraktionsschicht, wenn Sie nicht darauf vorbereitet sind. Werfen Sie einen Blick auf die offenen Bug-Tickets für jede Microsoft-Stack-Technologie, und die Kommentare werden diese Vielfalt von Stress zweifellos belegen.

Morgan Herlocker
quelle
2
+1 Ich bin auf dasselbe Problem gestoßen ... habe mit einer Drittfirma zusammengearbeitet, deren Service wirklich schrecklich war. Ihr Code funktionierte kaum - oft stürzte er ab, war langsam und lieferte keine Qualitätsergebnisse. Zum Glück hat die Firma, mit der ich zusammenarbeite, wirklich Verständnis und wusste, dass das Problem bei der Firma liegt (dh ich höre den Entwicklern tatsächlich zu) - nicht bei mir. Dies ist jedoch bei vielen Unternehmen nicht der Fall, und die internen Entwickler sind diejenigen, die die Schuld tragen.
Wipqozn
10

Unrealistische Erwartungen. Ich sehe Kunden, die erwarten, dass sie 6 Wochen einer 7-wöchigen Design-Periode verbringen können, um die Datei zu erhalten, die Sie zum Starten benötigen, und sich fragen, warum sie am nächsten Tag nicht fertig ist. Ich habe Leute gesehen, die erwarten, dass sie Ihnen am Freitag um 16.30 Uhr eine neue Aufgabe übergeben können und erwarten, dass Sie Ihr ganzes Wochenende damit verbringen, diese Aufgabe am Montag dem CEO vorzustellen. Ich habe Leute gesehen, die Sie von einer Aufgabe mit hoher Priorität entbunden haben, um eine Aufgabe mit hoher Priorität zu erledigen, und dann wütend wurden, dass die erste Aufgabe nicht rechtzeitig erledigt wurde. All diese Dinge sind stressig, auch wenn Sie von Anfang an Ihr Bestes getan haben, um klar zu erklären, warum ihre Erwartung unrealistisch ist.

Mangel an Fähigkeit, Gedanken zu lesen. (Ich werde ein Vermögen damit machen, dass ich dieses Gedankenlesemodul jemals erfunden habe.) Es ist stressig, in Benutzertests herauszufinden, dass das, was sie Ihnen gesagt haben, dass sie wollten, nicht das war, was sie eigentlich wollten.

HLGEM
quelle
8

Viele dieser Antworten sind großartig, besonders die von Joel, die mit Geldverlust und aufdringlichem Management zu tun haben und nicht verstehen, wonach sie fragen.

Einige der Hauptstresse, denen ich begegne, kommen von

  • Inheriting Spaghetti Code

    • Ich habe einige verrückte Erfahrungen gemacht, bei denen das Rad mit Sicherheit neu erfunden werden musste. Stellen Sie sich vor, Sie würden angeheuert, nachdem ein anderer Entwickler über ein Jahr lang im Alleingang eine Codebasis aufgebaut hatte, nur um herauszufinden, dass er keine Ahnung hatte, was er tat, kläglich scheiterte und gefeuert wurde. Bei Ihrer Ankunft wird Ihnen mitgeteilt, dass es Ihre Aufgabe ist, "diese Arbeit zu erledigen". Natürlich gibt es ungefähr eine Zeile Notizen pro 4000 Zeilen Code. Extremer Mangel an Modularität und wenig bis gar keine Richtung. Darüber hinaus ist alles weit über das Haben von "schrulligen" Namen (die verständlich und manchmal großartig sind) zu einfachem "Miteinander" hinaus
    • Sie sollten zwei Unterpunkte haben: P (Spaghetti-Code ist schlecht, m'kay?)
  • Es gibt einen Bug. Sie wissen für eine absolute Tatsache , dass es hat die Art , die einen oder zwei winzige Zeichen Veränderungen. Einsendeschluss ist morgen, du hast 3 Features zu erledigen. Das Auffinden dieses Fehlers dauert 5 Stunden und kann nicht ignoriert werden. ; (Autsch lol.

  • Ich versuche das Vorherige zu erklären

  • Wenn Sie aus geschäftlichen Gründen an einem Schreibtisch festsitzen und nur eine Stunde in einem Park spazieren gehen und zurückkommen könnten, müsste der goldene Code darauf warten, Ihnen aus den Fingerspitzen zu springen. Mein persönliches Schlimmstes ist, dass ich einige Bäume und Himmel sehen muss, wenn ich guten Code und schnelle Fortschritte machen soll. Immerhin ist mindestens die Hälfte der Programmierung eine Kunst. Inspiration finden.

  • Sie müssen nicht an einem Schreibtisch festsitzen, wenn Sie aus geschäftlichen Gründen nach Hause müssen und können heute nicht 20 Stunden arbeiten, während Sie in der Zone sind. Manchmal klicke ich mit dem, was ich tue , und wenn ich nicht einen All Nighter ziehen kann direkt dann , es ist nicht das gleich am nächsten Tag .. Ich werde das meiste davon erinnern , aber es wird dreimal länger dauern , es zu bekommen runter und sowieso nicht ganz so gut.

  • Manchmal machen Kaffee und andere Verbrauchsmaterialien es noch schlimmer und mein Gehirn hört einfach nicht auf meinen Verstand, wie ich es möchte. =)

  • 15 Minuten Pause. Gerade genug, um mich runterzuwerfen, nicht genug, um das Gehirn frisch zu machen. Boooooo.

  • Es gab Zeiten, in denen ich mir eine neue Bibliothek ausgesucht habe oder ... schlimmer ... einen neuen Rahmen. Dies war eine der überraschend stressigsten Aufgaben, denen ich begegnet bin. Wenn es richtig oder sogar in Ordnung ist, ist es schön. Hin und wieder, wenn es schlimm wird ... oh Junge. Sie können da sitzen und endlose Tests verschiedener Stile ausprobieren und Ihren Kopf so voll mit zu vielen Schnittstellen bekommen, dass Teile meines Geistes einfach abschalten und sagen: "Nein, nein ... das werde ich nicht tun. Auch." schlecht. Geh weg. " Nur um gezwungen zu sein, sie zu unterwerfen. Le seufzt.

  • Die schlechten Linkerfehler. Ich bin mir nicht sicher, wie ich sie beschreiben soll.

  • Importieren Sie große Datenmengen aus einem lästigen Dateiformat in Ihre Objekte. Das macht manchmal ziemlich viel Spaß und brennt einen oft sehr schnell aus, wenn es nicht so ist. Ich erinnere mich, dass ich mit diesem alten Excel-Format gearbeitet habe, das einige sehr knifflige und undokumentierte Horror-Fluchtcharaktere hatte. Dies zusammen mit der Tatsache, dass die Informationen in der tatsächlichen Spalte, die wir extrahierten, voller flippiger Charaktere waren, ... verfolgt mich immer noch. Ich dachte immer "Aha, es funktioniert jetzt !! ....! ............ oh ... egal .."

Garet Claborn
quelle
6

Ich denke, ein Großteil des Stresses ist auf die folgenden Voraussetzungen zurückzuführen:

  1. Gute Programmierer sind oft die Leute, die eine nicht programmierbare Aufgabe (Produktionsunterstützung / Fehlerbehebung, Dokumentation, Beantwortung von Fragen des Unternehmens oder anderer Teammitglieder, technische Meinungen zu zukünftigen Richtungen) am effizientesten erledigen können.
  2. Das Programmieren ist eine Aktivität, die am besten über lange Zeiträume hinweg ausgeführt wird.
  3. Grundlegendes zu Prämisse 1 >> Grundlegendes zu Prämisse 2.

Infolgedessen werden Programmierer häufig aufgefordert, eine Reihe verschiedener Dinge zu tun, die ihre Produktivität und Qualität ihrer Arbeit in dem von ihnen gewählten Handwerk beeinträchtigen. Der Manager, der diesen Aufruf ausführt, sieht dies als "Gewinn" an, da das akute Problem schnell und effizient gelöst wurde und die Kosten nicht sofort ersichtlich sind.

Es gibt einige Strategien für die Verwaltung, mit verschiedenen Vor- und Nachteilen.

  1. Zeitmanagement - Wenden Sie einen Teil Ihres Tages auf die Programmierung und einen anderen Teil Ihres Tages auf andere Arbeiten auf und seien Sie diszipliniert. Ein Nachteil davon ist, dass ich die Nicht-Programmierarbeit meine ganze 8-5-Zeit in Anspruch nehmen ließ und meine Programmierarbeit nachts erledigte, was für die Vereinbarkeit von Beruf und Privatleben schlecht ist.
  2. Bildung - Dies ist der Ort, an dem Leute wie Joel die Arbeit von Yeoman verrichten - um herauszufinden, dass die Kosten für eine 15-minütige Unterbrechung viel größer als 15 Minuten sein können. (zB http://www.joelonsoftware.com/articles/fog0000000022.html )
  3. Teamentwicklung, Dokumentation - Stellen Sie sicher, dass Sie nicht die einzige Wissensquelle für wichtige Teile der Technologie Ihres Unternehmens sind.
  4. Böse Persönlichkeit - ich mache nur einen Scherz. Wenn Sie den Ruf entwickeln, auf Unterbrechungen mit einem Knurren zu reagieren, neigen die Leute dazu, andere Wege zu finden, um etwas zu erledigen. Du solltest aber besser wirklich gut darin sein, das durchzuziehen.
JohnMcG
quelle
6

Der Hauptstressor, dem ich begegne, ist das, was ich Mort-Syndrom nenne". Im Grunde ist es die Einstellung einiger Entwickler, dass Mittelmäßigkeit in Ordnung ist und es keinen Grund gibt, Dinge zu verbessern oder anders zu machen. Als jemand, der Zeit außerhalb der Arbeit verbringt, um Blogs und Bücher zu lesen, Podcasts zu hören und Videos mit besseren Möglichkeiten anzusehen Wenn ich Dinge professionell mache, finde ich, dass mich das wirklich belastet, weil ich in 95% der Fälle die einzige Person im Team bin, wenn nicht sogar im gesamten Unternehmen, die versteht, warum zum Beispiel das Schreiben von Komponententests gut ist oder warum es so ist Es ist schlecht, Tausende von Codezeilen in einer einzelnen Klasse zu haben (oder Klassen, die ein halbes Dutzend verschiedener Dinge tun), und der Versuch, meine Mitarbeiter zu erziehen, führt entweder zu leeren Blicken, Ausreden von "Wir haben keine Zeit, das Problem zu beheben "," Wir werden es nie benutzen, weil wir es noch nie benutzt haben. "Oder" Das '"Es ist nicht so, wie wir Dinge tun", oder im schlimmsten Fall wurde mir die Tür gezeigt und ich wurde gefeuert, weil ich versucht hatte, die Dinge zum Besseren zu verändern.

Wayne Molina
quelle
Nachdem ich im Juli 12 von meinem Job entlassen wurde, weil ich versucht hatte, die Dinge zum Besseren zu wenden, kann ich mit Sicherheit sagen, dass dies der Fluch meiner Existenz ist.
Wayne Molina
4

Es wäre schwierig, eine allgemeine Antwort auf diese Frage zu bekommen. Menschen gedeihen unter verschiedenen Bedingungen.

  1. zu viel arbeit in zu kurzer zeit
  2. zu wenig Feedback von Nutzern
  3. Schuldkultur
  4. Mangel an Vertrauensatmosphäre.

Ich bin der Meinung, dass Arbeit für die meisten Menschen die geringste Stressursache ist, nicht für Programmierer. Es sind die irrelevanten Dinge wie Unternehmenskultur, Einheitsatmosphäre und Kommunikationsprobleme, die die meisten Menschen am meisten belasten. Es ist nicht so, dass sie die Arbeit nicht bewältigen können; Es ist so, dass sie mit der Atmosphäre in der Küche nicht umgehen können, wenn Sie möchten.

Eine nützlichere Diskussion könnte sich mehr auf Lösungen für diese Probleme konzentrieren.

Versuchung
quelle
4

Msgstr "Andere Aufgaben wie zugewiesen".

Ich musste telefonieren. Ich musste im Lager arbeiten. Ich musste Inventur machen. Ich war den ganzen Tag in Firmenmeetings. Ich musste sogar eine begrenzte Rasenpflege machen.

Ich weiß nicht, ob ich jemals einen anderen Job annehmen werde, der das als Teil der Beschreibung hat.

John Kraft
quelle
Ich habe die Hälfte von gestern damit verbracht, ein Durcheinander von Kabeln zu entwirren, das anfangs so aussah, als hätte die Grinsekatze einen riesigen Regenbogenhaarball auf den Boden geworfen. Nicht genau in meiner Stellenbeschreibung ...
Beekguk
Dies gilt mit Sicherheit, insbesondere in vielen Umgebungen mit kleinen Büros. Einige Leute finden die Abwechslung lustig, aber die meisten nicht.
PeterAllenWebb
Ich hasse die Tatsache, dass die meisten Unternehmen diese Zeile als Sammelbegriff für "Alles, was der Chef von Ihnen verlangt" verwenden. Nein, Idiot - du bezahlst mich für JOB X, weil ich ein Profi bei JOB X bin. Das bedeutet nicht, dass ich alles tue, was du sagst.
Wayne Molina
2

Schlechtes Management. Ich kann Ihnen nicht sagen, wie viele Geschichten ich von Managern (insbesondere leitenden Angestellten und hochrangigen Mitarbeitern) erlebt oder gesehen habe, die empörende Entscheidungen getroffen haben, ohne jemanden zu konsultieren, der tatsächlich etwas über den Bereich weiß, für den sie sich entschieden haben, oder den sie nicht konsultieren Notizen von früheren Sitzungen, bevor die Entscheidung in die entgegengesetzte Richtung geht.

Tom A
quelle