it-swarm-eu.dev

Welchen Stressfaktoren begegnen Programmierer bei der Arbeit und wie gehen Sie mit ihnen um?

Das Erlernen des Umgangs mit Stress ist entscheidend, um bei der Arbeit an jedem Arbeitsplatz gesund zu bleiben. Eine notwendige Unteraufgabe besteht darin, zu lernen, die Stressquellen zu erkennen und zu begrenzen.

Inmitten des täglichen Grinds 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?

74
Matthew Rodatus

Hier sind die Dinge, die mich und die Entwickler um mich herum am meisten belasten:

  1. Mehrdeutigkeit: Ineffektiv festgelegte Ziele, Anforderungen oder andere Erwartungen. Viele Unternehmen haben 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. nangemessene 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 die Anforderung erhöht, das Budget/die Ressourcen jedoch nicht.
  3. schlechte Annahmen/Erwartungen: Programmierer neigen dazu, eine hohe Meinung von ihren Fähigkeiten zu haben (keine unverdiente Eigenschaft), 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 "common knowledge" Oder ähnliches ist, 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 völlig inkompetent. Umgekehrt ist der Programmierer frustriert, wenn der Programmierer die Erwartungen des Unternehmens nicht erfüllt, weil er nicht die Informationen erhalten hat, die er zum Fortfahren benötigt.
  4. Mangel an Respekt: Viele Menschen neigen dazu zu glauben, dass nur weil jemand in Ihrer Disziplin schwach ist, dies bedeutet, dass er in seiner Disziplin schwach 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 zu erledigen hat. 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 zu 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. Das Herausnehmen an Kollegen oder Kollegen ist nicht angemessen und dient nur dazu, den Stress zu erhöhen.
  6. mangelnde Kommunikationsfähigkeit: Oft sprechen wir nicht dieselbe Sprache und ich spreche nicht über Englisch, Deutsch oder Indisch. Wir verwenden dieselben Wörter, aber wir sagen nicht dieselben Dinge. Die Menschen müssen spezifisch und offen gegenüber Dingen sein, die sie nicht verstehen. Selbst wenn Sie glauben zu verstehen, tut es nicht weh, dies zu klären. Denken Sie daran, dass eine Geschäftsmetrik für verschiedene Abteilungen in einer Organisation etwas anderes bedeuten kann.
  7. Grenzblutung: Arbeit bei der Arbeit und zu Hause zu Hause lassen. Nur weil Ihr 7-Jähriger seine Schuhe in der Mitte des Bodens liegen lässt und nach dem Frühstück nicht aufräumt, heißt das nicht, dass Sie Tiffany daran hindern müssen, einen neuen zu buchen, weil sie Ihnen nicht die Tabelle mit den Abrechnungsanforderungen gegeben hat . Das gleiche Zeichen, 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, die arme Tiffany hat diese Behandlung auch nicht verdient)
100
Joel Etherton

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

Ja, viele Besprechungen (sicherlich keine Besprechungen 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, 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 ein Ärger. Ich habe es in einigen Unternehmen gesehen. Oft gibt es jedoch wieder einige Dinge, die getan werden können. Ein Programmierer muss nicht alle fünf Minuten sein E-Mail-Konto überprüfen und sofort auf jede E-Mail 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. Aber die meiste Zeit könnten die Probleme, über die wir sprechen, ganz einfach mit etwas mehr Selbstvertrauen behoben werden. 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! ;-);

17
perdian

Fehler von Komponenten von Drittanbietern

Es kann sehr stressig sein, wenn Sie ein Update für eine Komponente eines Drittanbieters erhalten, die etwas kaputt macht. Sie haben nicht den Quellcode zum Debuggen oder Ändern, aber wenn Ihr System davon abhängt, kann es ziemlich erschreckend sein. Wenn Sie an einem Morgen feststellen, dass Ihr Quellcodeverwaltungsserver eine unerwartete Leistung erbringt und Sie möglicherweise zwei Wochen Check-in 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 sicherlich einen Beweis für diese Vielfalt von Stress liefern.

12

Unrealistische Erwartungen. Ich sehe Kunden, die erwarten, dass sie 6 Wochen eines 7-wöchigen Entwurfszeitraums damit verbringen können, Ihnen die Datei zu liefern, die Sie für den Start benötigen, und mich fragen, warum dies am nächsten Tag nicht erfolgt. Ich habe Leute gesehen, die erwarten, dass sie Ihnen am Freitag um 4:30 Uhr eine neue Aufgabe übergeben können, und erwarten, dass Sie Ihr ganzes Wochenende damit verbringen, sie am Montag dem CEO vorzulegen. Ich habe Leute gesehen, die Sie von einer Aufgabe mit hoher Priorität nehmen, um eine zweite Aufgabe mit hoher Priorität zu erledigen, und dann wütend werden, dass die erste nicht rechtzeitig erledigt wird. All diese Dinge sind stressig, selbst wenn Sie Ihr Bestes getan haben, um von Anfang an klar zu erklären, warum ihre Erwartungen unrealistisch sind.

Mangelnde Fähigkeit, Gedanken zu lesen. (Ich werde ein Vermögen damit verdienen, dass ich dieses Gedankenlesemodul jemals erfunden habe.) Es ist stressig, bei Benutzertests herauszufinden, dass das, was sie Ihnen gesagt haben, nicht das ist, was sie tatsächlich wollten.

10
HLGEM

Viele dieser Antworten sind großartig, insbesondere Joels aufgeführte Belastungen und diejenigen, die sich auf Geldverlust und aufdringliches Management beziehen und nicht verstehen, wonach sie fragen.

Einige der größten Belastungen, 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 eingestellt, nachdem ein anderer Entwickler über ein Jahr lang im Alleingang eine Codebasis aufgebaut hatte, nur um herauszufinden, dass sie keine Ahnung hatten, was sie taten, kläglich scheitern und gefeuert werden. Bei Ihrer Ankunft wird Ihnen mitgeteilt, dass es Ihre Aufgabe ist, diese Arbeit zu erledigen. Natürlich gibt es ungefähr eine Notizzeile pro 4000 Codezeilen. Extremer Mangel an Modularität und wenig bis gar keine Richtung. Darüber hinaus ist alles weit davon entfernt, "skurrile" Namen (die verständlich und manchmal großartig imho sind) in einfachem "Gewicht" zu haben.
    • Du solltest zwei Unterpunkte haben: P (Spaghetti-Code ist schlecht, m'kay?)
  • Es gibt einen Fehler. Sie [~ # ~] wissen [~ # ~] für eine absolute Tatsache, dass es muss die Sorte sein, die ein oder zwei winzige Zeichenänderungen beinhaltet. Einsendeschluss ist morgen, Sie haben 3 Funktionen 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, während Sie nur eine Stunde in einem Park spazieren gehen und zurückkommen könnten, hätten Sie einen goldenen Code, der darauf wartet, von Ihren Fingerspitzen zu springen. Mein persönliches Schlimmstes, ich muss einige Bäume und den Himmel sehen, wenn Sie wollen, dass ich guten Code mache und schnell Fortschritte mache. Immerhin ist mindestens die Hälfte der Programmierung eine Kunst. Inspiration finden.

  • Sie müssen nicht an einem Schreibtisch hängen bleiben, wenn Sie aus geschäftlichen Gründen nach Hause müssen, und können heute nicht nur 20 Stunden arbeiten, während Sie in der Zone sind. Manchmal klicke ich mit dem, was ich tue, und wenn ich dann nicht alle Nacht ziehen kann , ist es am nächsten Tag einfach nicht dasselbe. Ich werde mich an das meiste erinnern, aber es wird dreimal länger dauern, bis es fertig ist und sowieso nicht ganz so gut ist.

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

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

  • Es gab Zeiten, in denen ich mir eine neue Bibliothek ausgesucht habe oder ... schlimmer noch ... ein neues Framework. Dies war eine der überraschend stressigen Aufgaben, denen ich begegnet bin. Wenn es richtig oder sogar in Ordnung ist, ist es schön. Hin und wieder, wenn es schlecht wird ... oh Junge. Sie können dort sitzen und endlose Tests verschiedener Stile ausprobieren und Ihren Kopf so mit zu vielen Schnittstellen füllen, dass Teile meines Geistes einfach herunterfahren und sagen: "Nein, nein ... das werde ich nicht tun. Auch nicht." schlecht. Geh weg. " Nur um gezwungen zu werden, sie zur Unterwerfung zu schlagen. Le seufzt.

  • Die schlechte Art von Linker-Fehlern. Ich bin mir nicht sicher, wie ich sie beschreiben soll.

  • Importieren großer Datenmengen aus einem nervigen Dateiformat in Ihre Objekte. Das macht manchmal ziemlich viel Spaß und brennt dich oft sehr schnell aus, wenn es nicht so ist. Ich erinnere mich, dass ich mit diesem alten Excel-Format gearbeitet habe, das einen sehr, sehr kniffligen und undokumentierten Horror für Fluchtzeichen hatte. Dies zusammen mit der Tatsache, dass die Informationen in der eigentlichen Spalte, die wir extrahierten, voller funky Charaktere waren, ... verfolgt mich immer noch. Ich dachte immer "aha, es funktioniert jetzt !! ....! ............ oh ... vergiss ..."

8
Garet Claborn

Der Hauptstressor, dem ich begegne, ist das, was ich gerne "Mort-Syndrom" nenne. Grundsätzlich ist es die Einstellung, die einige Entwickler haben, dass Mittelmäßigkeit in Ordnung ist und es niemals notwendig ist, Dinge zu verbessern oder anders zu machen. Als jemand, der Zeit außerhalb der Arbeit verbringt, Blogs und Bücher zu lesen, Podcasts anzuhören und Videos mit besseren Möglichkeiten zu sehen, Dinge professionell zu machen, finde ich das wirklich stressig, weil ich in 95% der Fälle die einzige Person im Team bin Wenn nicht im gesamten Unternehmen, wer versteht, warum beispielsweise das Schreiben von Komponententests gut ist oder warum es schlecht ist, Tausende von Codezeilen in einer einzelnen Klasse zu haben (oder Klassen, die ein halbes Dutzend verschiedene Dinge tun), und dies zu versuchen Wenn ich meine Mitarbeiter erziehe, entstehen entweder leere Blicke, Ausreden von "Wir haben keine Zeit, das Problem zu beheben", "Wir werden es nie verwenden, weil wir es noch nie zuvor verwendet haben." oder "So machen wir es nicht" oder im schlimmsten Fall wird mir die Tür gezeigt und ich werde gefeuert, weil ich versucht habe, die Dinge zum Besseren zu verändern.

6
Wayne Molina

Ich denke, ein Großteil des Stresses ist auf folgende Prämissen 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, Abgabe technischer Meinungen zu zukünftigen Richtungen) am effizientesten erledigen können.
  2. Das Programmieren ist eine Aktivität, die am besten in langen, ununterbrochenen Zeiträumen durchgeführt wird.
  3. Verständnis von Prämisse Nr. 1 >> Verständnis von Prämisse Nr. 2.

Infolgedessen werden Programmierer häufig aufgefordert, eine Reihe verschiedener Dinge zu tun, was ihre Produktivität und Qualität ihrer Arbeit in dem von ihnen gewählten Handwerk beeinträchtigt. Der Manager, der diese Berufung durchfü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 der Programmierung und einen anderen Teil Ihres Tages anderen Arbeiten zu und seien Sie diszipliniert. Ein Nachteil davon ist, dass ich die Nicht-Programmierarbeit meine gesamte 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 - Hier erledigen Leute wie Joel Yeomans Arbeit - und bringen das Wort heraus, dass die Kosten einer 15-minütigen Unterbrechung viel mehr als 15 Minuten betragen können. (z. B. 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 halben Scherz. Wenn Sie den Ruf entwickeln, auf Unterbrechungen mit einem Knurren zu reagieren, werden die Leute andere Wege finden, um etwas zu erledigen. Du solltest es aber besser machen, das durchzuziehen.
6
JohnMcG

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

  1. zu viel Arbeit in zu kurzer Zeit
  2. zu wenig Feedback von Benutzern
  3. schuld Kultur
  4. mangel an Vertrauensatmosphäre.

Ich finde, 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 für die meisten Menschen den größten Stress verursachen. Es ist nicht so, dass sie die Arbeit nicht erledigen können; Es ist so, dass sie nicht mit der Atmosphäre in der Küche umgehen können, wenn Sie möchten.

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

4
temptar

"Sonstige 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 rausgehen und nur begrenzte Rasenpflege machen.

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

4
John Kraft

Schlechtes Management. Ich kann Ihnen nicht sagen, wie viele Geschichten ich von Managern (insbesondere leitenden Managern und Top-Unternehmen) 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 aus früheren Sitzungen, bevor sie in die entgegengesetzte Richtung gingen, wie beschlossen wurde.

2
Tom A