Jakie stresory napotykają programiści w pracy i jak sobie z nimi radzić? [Zamknięte]

74

Nauka radzenia sobie ze stresem jest niezbędna do zachowania zdrowia podczas pracy w dowolnym miejscu pracy. Niezbędnym podzadaniem jest nauka rozpoznawania i ograniczania źródeł stresu.

Ale w trakcie codziennej gracji rozpoznanie źródeł stresu może być trudne (szczególnie w przypadku intensywnej, skoncentrowanej osoby, takiej jak programista).

Na jakie rodzaje stresorów powinni zwracać uwagę programiści i jak nimi zarządzać?

8
źródło
2
Powiązane meta dyskusyjne pytanie: Czy
Coders to optymistyczni ludzie, którzy koncentrują się na możliwościach, nie stresując się chwilami.
Niezależny
na tej stronie jest z pewnością niepotrzebna ilość wiki społeczności. gwizd. również to pytanie jest bardzo konstruktywne.
Garet Claborn,

Odpowiedzi:

100

Oto rzeczy, które uważam za najbardziej stresujące dla mnie i deweloperów wokół mnie:

  1. Dwuznaczność : nieefektywnie określone cele, wymagania lub inne oczekiwania. Wiele firm ma pracowników, którzy mają takie podejście"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. Niewłaściwe terminy : większość terminów jest ustalana przez biznes, a nie przez realistyczne możliwości programistów w zakresie personelu. Oprócz tego oczekiwania dotyczące wymagań są zwiększone, ale budżet / zasoby nie.
  3. Złe założenia / oczekiwania : programiści mają tendencję do wysokiej oceny swoich możliwości (a nie nieznajomej cechy) i dlatego oczekują, że inni ludzie będą w stanie dopasować swoje możliwości, zrozumienie i oczekiwania. Często przyjmuje się założenie, że coś jest "common knowledge"lub tym podobne, co może być katastrofalne w kategorii stresu. Teraz ekspert biznesowy nie tylko nie spełnił oczekiwań programisty, ale jest całkowicie niekompetentny do uruchomienia. Z drugiej strony, jeśli programista nie spełni oczekiwań firmy, pozostaje sfrustrowany, ponieważ nie otrzymał informacji potrzebnych do kontynuowania.
  4. Brak szacunku : Wiele osób ma skłonność wierzyć, że tylko dlatego, że ktoś jest słaby w twojej dyscyplinie, oznacza to, że jest słaby w swojej dyscyplinie. Jest powód, dla którego wszyscy mamy różne zadania / możliwości / oczekiwania, i ważne jest, aby szanować, że druga osoba jest bardzo prawdopodobne, że jest bardzo zdolna do wykonywania zadań, do których wykonania została poproszona. To, że ktoś nie ma twoich możliwości, nie oznacza, że ​​są niekompetentni lub niezdolni.
  5. Brak samokontroli : Może to objawiać się w wielu rzeczach. Być może jesteś holistą, który nie chce robić odpowiednich przerw. To prowadzi do narastania stresu i jest złe. Być może jesteś osobą pijącą Jolt Cola, która pije więcej kofeiny, niż powinien, gdy narasta stres. Jest to szkodliwe dla zdrowia i pogarsza reakcję na stres. Musisz znać swoje granice, wiedzieć, co wyzwala określone reakcje na stres, a co najważniejsze, umieć je złagodzić. Eliminowanie go współpracownikom lub współpracownikom nie jest właściwe i służy jedynie zwiększeniu stresu.
  6. Brak umiejętności komunikacyjnych : Często nie mówimy tym samym językiem i nie mówię o języku angielskim, niemieckim ani indyjskim. Używamy tych samych słów, ale nie mówimy tych samych rzeczy. Ludzie muszą być konkretni i otwarci na rzeczy, których nie rozumieją. Nawet jeśli uważasz, że rozumiesz, wyjaśnienie nie zaszkodzi. Pamiętaj, że metryka biznesowa może oznaczać coś innego dla różnych działów w organizacji.
  7. Krwawienie limitów : zachowaj pracę w pracy i w domu w domu. To, że twój 7-latek zostawia buty na środku podłogi i nie sprząta po śniadaniu, nie oznacza, że ​​musisz przeżuć Tiffany od księgowania nowego, ponieważ nie dostarczyła ci arkusza kalkulacyjnego z wymaganiami rozliczeniowymi . Ten sam token, tylko dlatego, że Tiffany zwleka z arkuszem kalkulacyjnym, nie oznacza, że ​​twoja żona zasługuje na złe traktowanie w drodze do domu. (przy okazji, biedna Tiffany też nie zasługuje na takie traktowanie)
Joel Etherton
źródło
17

Myślę, że największym czynnikiem stresującym dla każdego programisty jest brak pewności siebie .

Tak, wiele spotkań (z pewnością nie spotkań jako takich) jest niepotrzebnych, ale jako programista mogę dużo z tym zrobić. Jeśli muszę regularnie uczestniczyć w spotkaniach, które - moim zdaniem - nie są konieczne, to moim obowiązkiem jest wstać i powiedzieć „hej, nie muszę być na tym spotkaniu - mogę bardziej produktywnie spędzić czas”.

To samo dotyczy przerw: Tak, to kłopot. Widziałem to w kilku firmach. Jednak wiele razy, po raz kolejny, można zrobić kilka rzeczy. Programista nie musi sprawdzać swojego konta pocztowego co pięć minut i natychmiast reagować na każdą pocztę. Podobnie, jeśli nie chcę przeszkadzać przez pewien czas, wyłączam komunikator i przekazuję telefon.

To tylko dwa przykłady - jest ich znacznie więcej. Tak, czasami dzieje się ciężko. Ale przez większość czasu problemy, o których mówimy, można rozwiązać dość łatwo, z większą pewnością siebie. Powiedz ludziom po drugiej stronie pętli komunikacyjnej „tak, słyszałem cię i dostałem twoją wiadomość, ale przejdę do tego później”.

Największe problemy to te, które sami tworzymy! ;-)

perdian
źródło
2
+1 Dobra odpowiedź. Jednak prawdopodobnie można to powiedzieć w kilku słowach. :-)
Matthew Rodatus
+1, ponieważ jest nie tylko stresorem, ale może również wpływać na wydajność.
Covar
Czy zatem jest to ogólnie brak pewności siebie, czy brak pewności, by powiedzieć „nie”?
Mitch
1
To nie tylko powiedzenie „nie” - byłoby to zbyt łatwe. Ma rozpoznać, kiedy powiedzieć „to nie tak powinno być” i zaoferować alternatywę. Powiedzenie „nie” to tylko jedna z jego części.
perdian
12

Błędy komponentów stron trzecich

Może to być bardzo stresujące, gdy pojawi się aktualizacja jakiegoś komponentu innej firmy, który coś psuje. Nie masz kodu źródłowego do debugowania lub modyfikacji, ale jeśli twój system jest od niego zależny, może być dość przerażający. Pewnego ranka okazuje się, że serwer kontroli źródła działa nieoczekiwanie i możesz stracić 2 tygodnie rejestracji, co może być dość stresujące. Jest to w zasadzie idea nieszczelnej warstwy abstrakcji, gdy nie jesteś na to przygotowany. Spójrz na otwarte zgłoszenia błędów w dowolnej technologii stosu Microsoft, a komentarze z pewnością dadzą dowód na różnorodność stresu.

Morgan Herlocker
źródło
2
+1 Zetknąłem się z tym samym problemem ... współpracowałem z firmą zewnętrzną, której obsługa była okropna. Ich kod ledwo działał - często się zawieszał, był powolny i nie dawał dobrych wyników. Na szczęście firma, z którą pracuję, naprawdę rozumie i wiedziała, że ​​problem dotyczy firmy (tj. Faktycznie słucha programistów) - nie mnie. Ale nie jest tak w przypadku wielu firm, a winni są deweloperzy wewnętrzni.
Wipqozn
10

Nierealne oczekiwania. Widzę klientów, którzy oczekują, że mogą spędzić 6 tygodni 7-tygodniowego okresu projektowania, aby uzyskać plik potrzebny do rozpoczęcia pracy i zastanawiać się, dlaczego nie zostanie to zrobione następnego dnia. Widziałem ludzi, którzy oczekują, że mogą przekazać ci nowe zadanie w piątek o 4:30 i oczekują, że spędzisz cały weekend, aby zrobić to na prezentację w poniedziałek dla dyrektora generalnego. Widziałem ludzi, którzy biorą cię z jednego zadania o wysokim priorytecie, aby wykonać drugie zadanie o wysokim priorytecie, a następnie wściekają się, że pierwsze zadanie nie zostało wykonane na czas. Wszystkie te rzeczy są stresujące, nawet jeśli dołożyłeś wszelkich starań, aby od samego początku jasno wyjaśnić, dlaczego ich oczekiwania są nierealne.

Brak umiejętności czytania w myślach. (Zrobię fortunę, że kiedykolwiek wymyśliłem ten moduł do czytania w myślach.) Stresujące jest stwierdzenie w testach użytkowników, że to, co powiedzieli ci, że chcieli, nie było tym, czego naprawdę chcieli.

HLGEM
źródło
8

Wiele z tych udzielonych odpowiedzi jest świetnych, szczególnie stresy Joela z listy oraz te związane z utratą pieniędzy i nachalnym zarządzaniem, które nie rozumieją, o co proszą.

Niektóre z głównych stresów, z którymi się spotykam, pochodzą

  • Inheriting Spaghetti Code

    • Miałem szalone doświadczenia, w których koło z pewnością wymagało ponownego wynalezienia. Wyobraź sobie, że zostałeś zatrudniony po tym, jak inny programista samodzielnie zbudował bazę kodu przez ponad rok, aby dowiedzieć się, że nie mają pojęcia, co robią, nieszczęśliwie zawieść i zostać zwolnionym. Po przyjeździe powiedziano ci, że Twoim zadaniem jest „sprawić, by działało”. Oczywiście istnieje około jedna linia notatek na 4000 linii kodu. Ekstremalny brak modułowości i niewielki lub żaden kierunek. Co więcej, wszystko znacznie wykracza poza posiadanie „dziwacznych” imion (które są zrozumiałe, a czasem wielkie imho) w po prostu „wth-ness”
    • Powinieneś mieć dwa podpunkty: P (kod spaghetti jest zły, dobrze?)
  • Jest błąd. Ty WIESZ dla absolutnej fakt, że ma być to rodzaj obejmujący jeden lub dwa małe zmiany charakteru. Termin jest jutro, masz 3 funkcje do dokończenia. Ten błąd zajmuje 5 godzin i nie można go zignorować. ; (Ouch lol.

  • Próbuję wyjaśnić poprzednie

  • Utknięcie przy biurku z powodu ograniczeń biznesowych, a jeśli możesz po prostu pójść godzinnego spaceru w parku i wrócić, będziesz miał złoty kod, który skoczy z twoich palców. Mój osobisty najgorszy, muszę zobaczyć drzewa i niebo, jeśli chcesz, żebym robił dobry kod i szybki postęp. W końcu przynajmniej połowa programowania to sztuka. Znajdź inspirację.

  • Nie utkniesz przy biurku, kiedy musisz wracać do domu z powodu ograniczeń biznesowych i nie możesz po prostu pracować 20 godzin dzisiaj, gdy jesteś w strefie. Czasami kliknięcie, co robię, a jeśli nie mogę ciągnąć to wszystko nighter tuż potem , to nie jest tak samo następnego dnia .. Ja pamiętam większość z nich, ale zajmie to trzy razy dłużej, aby ją i nie bądź tak dobry.

  • Czasami kawa / inne materiały eksploatacyjne pogarszają sytuację, a mój mózg po prostu nie chce słuchać mojego umysłu, tak jak tego chcę. =)

  • 15 minut przerwy. Wystarczy, żeby mnie wyrzucić, nie wystarczy, by mózg był świeży. Boooooo.

  • Były czasy, kiedy wybrałem nową bibliotekę lub ... inaczej ... nowy framework. To było jedno z najbardziej zaskakująco stresujących zadań, jakie napotkałem. Kiedy idzie dobrze, a nawet dobrze, jest cudownie. Co jakiś czas, gdy robi się źle ... och, chłopcze. Możesz usiąść i ćwiczyć, próbując niekończących się testów różnych stylów, i wypełnić się tak wieloma interfejsami, że części mojego umysłu zaczynają się zamykać i mówić: „nie, nie ... Nie zrobię tego. źle. Odejdź. " Tylko po to, by zmusić ich do poddania się. Le westchnienie.

  • Zły rodzaj błędów linkera. Nie jestem pewien, jak je opisać.

  • Importowanie dużych ilości danych z irytującego formatu pliku do obiektów. Czasami jest to całkiem zabawne i często wypala cię naprawdę szybko, gdy nie jest. Pamiętam, jak pracowałem z tym starym formatem programu Excel, który miał bardzo podstępny i nieudokumentowany horror ucieczki. To, oprócz faktu, że informacje w kolumnie, którą wydobywaliśmy, było pełne funky, ... wciąż mnie prześladuje. Ciągle myślałem „aha, teraz działa !! ....! ............ oh ... nieważne ..”

Garet Claborn
źródło
6

Myślę, że duży stres wynika z następujących przesłanek:

  1. Dobrzy programiści to często ludzie, którzy mogą najbardziej efektywnie wykonać zadanie niezwiązane z programowaniem (wsparcie produkcji / rozwiązywanie problemów, dokumentacja, odpowiadanie na pytania od firmy lub innych członków zespołu, oferowanie opinii technicznych na temat przyszłych kierunków).
  2. Programowanie to czynność, którą najlepiej wykonywać w długich odcinkach nieprzerwanego czasu.
  3. Zrozumienie przesłanki nr 1 >> Zrozumienie przesłanki nr 2.

W rezultacie programiści są często wzywani do robienia wielu różnych rzeczy, co pogarsza ich produktywność i jakość pracy w wybranym przez nich rzemiośle. Menedżer, który wykonuje to powołanie, uważa to za „wygraną”, ponieważ ostry problem został rozwiązany szybko i skutecznie, a koszt nie jest od razu widoczny.

Istnieją pewne strategie zarządzania tym, z różnymi zaletami i wadami.

  1. Zarządzanie czasem - Poświęć część dnia na programowanie, a drugą część dnia na inną pracę i bądź zdyscyplinowany. Jedną z wad tego jest to, że ostatecznie pozwoliłem, aby praca w zakresie programowania nie zajmowała całego mojego 8-5 czasu, i wykonałam programowanie w nocy, co jest niekorzystne dla równowagi pracy i życia.
  2. Edukacja - w tym miejscu ludzie tacy jak Joel wykonują robotę - uświadamiając, że koszt 15-minutowej przerwy może być znacznie większy niż 15 minut. (np. http://www.joelonsoftware.com/articles/fog0000000022.html )
  3. Rozwój zespołu, dokumentacja - Upewnij się, że nie jesteś jedynym źródłem wiedzy na temat kluczowych elementów technologii Twojej firmy.
  4. Paskudna osobowość - żartuję tylko w połowie. Jeśli zyskasz reputację reagowania z warknięciem na przerwy, ludzie będą mieli tendencję do szukania innych sposobów na załatwienie czegoś. Ale lepiej być naprawdę dobrym, żeby to zrobić.
JohnMcG
źródło
6

Główny stresor, jaki napotykam, to coś, co lubię nazywać „ zespołem Morta„Zasadniczo niektórzy programiści mają takie podejście, że przeciętność jest w porządku i nie trzeba nigdy poprawiać ani robić różnych rzeczy. Jako ktoś, kto spędza czas poza pracą, czytając blogi i książki, słuchając podcastów i oglądając filmy z lepszych sposobów robię rzeczy profesjonalnie, uważam, że naprawdę mnie to stresuje, ponieważ 95% czasu jestem jedyną osobą w zespole, jeśli nie w całej firmie, która rozumie, dlaczego na przykład pisanie testów jednostkowych jest dobre lub dlaczego źle mieć tysiące linii kodu w jednej klasie (lub klasach, które wykonują pół tuzina różnych rzeczy), a próba edukacji moich współpracowników skutkuje albo pustym wyglądem, wymówki „Nie mamy czasu, aby to naprawić „,” Nigdy nie użyjemy, ponieważ nigdy wcześniej go nie użyliśmy. ”Lub„ To ”nie chodzi o to, jak to robimy ”, lub w najgorszym przypadku pokazano mi drzwi i zwolniono mnie za próbę zmiany rzeczy na lepsze.

Wayne Molina
źródło
Po wyrzuceniu mnie z pracy w lipcu '12 za próbę zmiany rzeczy na lepsze, mogę śmiało powiedzieć, że to zmora mojego istnienia.
Wayne Molina,
4

Trudno byłoby uzyskać ogólną odpowiedź na to pytanie. Ludzie kwitną w różnych warunkach.

  1. za dużo pracy w zbyt krótkim czasie
  2. zbyt mało informacji zwrotnych od użytkowników
  3. obwinianie kultury
  4. brak atmosfery zaufania.

Zazwyczaj uważam, że praca jest najmniejszą przyczyną stresu dla większości ludzi, a zwłaszcza programistów. To obce elementy, takie jak kultura firmy, atmosfera jednostki, problemy komunikacyjne, powodują większość stresu u większości ludzi. Nie chodzi o to, że nie poradzą sobie z pracą; to dlatego, że nie mogą znieść atmosfery w kuchni, jeśli chcesz.

Bardziej użyteczna dyskusja może bardziej koncentrować się na rozwiązaniach wspomnianych problemów.

kuszenie
źródło
4

„Inne obowiązki zgodnie z przeznaczeniem”.

Musiałem odbierać telefony. Musiałem pracować w magazynie. Musiałem zrobić inwentaryzację. Byłem na całodniowych spotkaniach firmowych. Musiałem nawet wyjść i wykonywać konserwację trawnika w ograniczonym zakresie.

Nie wiem, czy kiedykolwiek podejmę inną pracę, która ma to jako część opisu.

John Kraft
źródło
Wczoraj spędziłem połowę na rozwikłaniu bałaganu kabli, które początkowo wyglądały, jakby Kot z Cheshire zwymiotował na podłogę gigantyczną tęczową sierść. Nie do końca w moim opisie pracy ...
Beekguk
Jest to z pewnością prawda, szczególnie w wielu środowiskach małych biur. Niektórzy uważają różnorodność za zabawną, ale większość nie.
PeterAllenWebb
Nienawidzę faktu, że większość firm traktuje tę linię jako „wszystko w jednym”, co oznacza „Wszystko, co szef ci każe”. Nie, dupku - płacisz mi za wykonanie JOB X, ponieważ jestem zawodowcem w JOB X. To nie znaczy, że zrobię wszystko, co powiesz.
Wayne Molina
2

Złe zarządzanie. Nie potrafię opowiedzieć, ile historii widziałem lub widziałem o menedżerach (zwłaszcza menedżerach wyższego szczebla i najważniejszych pracownikach firmy) podejmujących skandaliczne decyzje bez konsultacji z kimkolwiek, kto faktycznie wie cokolwiek na temat obszaru, na który zdecydowali, lub nie konsultuje się notatki z poprzednich spotkań przed pójściem w przeciwnym kierunku, zgodnie z decyzją.

Tom A.
źródło