З якими стресовими ситуаціями стикаються програмісти на роботі, і як ви з ними справляєтесь? [зачинено]


74

Навчитися управляти стресом є життєво важливим для збереження здоров’я під час роботи на будь-якій роботі. Необхідним підзадачею є навчання розпізнавати та обмежувати джерела стресу.

Але в розпал щоденного помелу може бути важко розпізнати джерела стресу (особливо для інтенсивної, зосередженої персони, наприклад програміста).

На які типи стресорів слід звернути увагу програмістів і як ними керувати?


2
Споріднене мета-дискусійне запитання: Чи слід залишити "відкритим" питання відкритим?

Кодери - це оптимістичні народи, які орієнтуються на можливості, не підкреслюючи моменти.
Незалежний

напевно на цьому сайті є безпідставна кількість вікі спільнот. бу. також це питання є конструктивним.
Гарет Клаборн

Відповіді:


100

Ось речі, які, на мою думку, викликають найбільше стрес у мене та розробників навколо мене:

  1. Неоднозначність : Неефективно заявлені цілі, вимоги чи інші очікування. У багатьох компаніях є співробітники, до яких ставляться"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. Невідповідні терміни : Більшість термінів встановлюється бізнесом, а не реалістичними можливостями розробників щодо персоналу. На додаток до цього, очікувані вимоги зростають, але бюджет / ресурси - ні.
  3. Погані припущення / очікування : Програмісти мають тенденцію до високої думки щодо своїх можливостей (а не про незаслужену ознаку), і через це вони очікують, що інші люди можуть відповідати їх можливостям, розумінню та очікуванням. Часто робиться припущення, що щось є "common knowledge"чи подібне, і це може бути катастрофічно в категорії стресу. Тепер бізнес-експерт не лише не відповідав очікуванням програміста, але є повною некомпетентністю для завантаження. І навпаки, якщо програміст не відповідає очікуванням бізнесу, програміст залишається розчарованим, оскільки йому / їй не було надано інформації, необхідної для подальшого здійснення.
  4. Відсутність поваги : Багато людей схильні вірити, що лише тому, що хтось слабкий у вашій дисципліні, це означає, що він слабкий у своїй. Є причина, що в усіх нас є різні роботи / можливості / очікування, і важливо поважати, що інша людина, швидше за все, дуже здатна до тих завдань, які їх просять виконувати. Тільки тому, що хтось не має ваших можливостей, не означає, що він некомпетентний або недієздатний.
  5. Відсутність самоконтролю : це може проявлятися у багатьох речах. Можливо, ви справжній працівник, який відмовляється робити належні перерви. Це призводить до наростання стресу і погано. Можливо, ти п'єш Джолт-Колу, який п’є більше кофеїну, ніж йому слід, коли стрес наростає. Це погано для вашого здоров’я і погіршує вашу реакцію на стрес. Ви повинні знати свої обмеження, знати, що викликає ваші конкретні реакції на стрес, і головне знати, як зняти цю стрес-реакцію. Виконувати це з колегами або колегами не є доцільним і буде слугувати лише для посилення стресу.
  6. Відсутність навичок спілкування : часто ми не розмовляємо однією мовою, і я не говорю про англійську, німецьку чи індійську. Ми вживаємо одні і ті ж слова, але ми не говоримо одних і тих же. Люди повинні бути конкретними та відкритими до речей, яких вони не розуміють. Навіть якщо ви думаєте, що розумієте, це не завадить прояснити. Пам’ятайте, що бізнес-метрика може означати щось різне для різних відділів організації.
  7. Кровотеча обмежень : Тримайте роботу на роботі та вдома. Тільки тому, що ваш 7-річний хлопець залишає взуття посеред підлоги і не прибирає після сніданку не означає, що вам потрібно жувати Тіффані з обліку нового, оскільки вона не дала вам таблицю виставлення рахунків. . Це ж ознака, лише тому, що Тіффані забивається електронною таблицею, не означає, що ваша дружина заслуговує на те, щоб погано поводитися з нею вдома. (До речі, бідна Тіффані теж не заслуговує цього лікування)

17

Я думаю, що найбільший стрес для будь-якого програміста - це недовіра .

Так, багато зустрічей (звичайно, не зустрічей самі по собі) непотрібні, але я як програміст можу з цим зробити дуже багато. Якщо мені регулярно доводиться відвідувати зустрічі, які - на мою думку - не потрібні, ніж це моя відповідальність встати і сказати "ей, мені не потрібно бути на цій зустрічі - я можу витратити свій час більш продуктивно".

Те саме стосується перебоїв: Так, це клопоти. Я бачив це в досить багатьох компаніях. Однак багато разів, ще раз, є кілька речей, які можна зробити. Програмісту не потрібно перевіряти свій поштовий рахунок кожні п’ять хвилин і відповідати на кожну пошту миттєво. Так само, якщо я не хочу, щоб мене турбували певний проміжок часу, я вимикаю своє миттєве небезпеку і пересилаю телефон.

Це лише два приклади - їх набагато більше. Так, іноді перехід стає грубим. Але більшу частину часу проблеми, про які ми говоримо, можна було б вирішити досить легко з трохи більшою впевненістю. Скажіть людям з іншої сторони комунікаційного циклу: "так, я почув вас, і я отримав ваше повідомлення, але до цього я дістанусь пізніше".

Найбільші проблеми - це ті, які ми створюємо самі! ;-)


2
+1 Хороша відповідь. Однак ви, напевно, могли сказати це меншою кількістю слів. :-)
Матвій Родатус

+1, оскільки це не лише стрес, але й може вплинути на продуктивність.
Ковар

Так це взагалі недовіра, чи недовіра сказати -но-?
Мітч

1
Це не просто сказати "ні" - це було б занадто просто. Це визнати, коли слід сказати "це не так, як це повинно бути", і запропонувати альтернативу. Сказати ні - це лише одна її частина.
пердиан

12

Помилки сторонніх компонентів

Це може бути надзвичайно напружено, коли ви отримуєте оновлення про якийсь сторонній компонент, який щось порушує. У вас немає вихідного коду для налагодження чи зміни, але якщо ваша система від цього залежить, це може бути дуже жахливим. Один ранок, коли ви побачите, що ваш сервер управління джерелом працює несподівано, і ви можете втратити два тижні перевірки, може спричинити трохи стресу. В основному це ідея протікаючого шару абстракції, коли ви до цього не готові. Подивіться на відкриті квитки з помилками на будь-яку технологію стека Microsoft, і коментарі, безумовно, свідчать про таку різноманітність стресу.


2
+1 Я зіткнувся з тим самим випуском ... працював із стороннім товариством, сервіс якого був дуже жахливим. Їх код ледь функціонував - часто виходив з ладу, був повільним і не давав якісних результатів. На щастя, компанія, з якою я працюю, насправді розуміє і знала, що проблема з компанією (тобто насправді слухаю їх розробників) - не я. Але це не так у багатьох компаній, і провину, яка винна у власних компаніях.
Wipqozn

10

Нереалістичні очікування. Я бачу клієнтів, які очікують, що вони можуть витратити 6 тижнів 7-тижневого періоду розробки, щоб отримати вам потрібний файл, щоб розпочати роботу, і задаюся питанням, чому це не робиться на наступний день. Я бачив людей, які очікують, що вони зможуть передати вам нове завдання в 4:30 у п’ятницю і очікують, що ви витратите цілі вихідні, щоб зробити це для презентації в понеділок генеральному директору. Я бачив людей, які знімають вас з одним пріоритетним завданням, щоб виконати друге завдання з високим пріоритетом, а потім розлютилися, що перше не виконано вчасно. Всі ці речі є стресовими навіть тоді, коли ви зробили все можливе, щоб з самого початку чітко пояснити, чому їх очікування нереально.

Відсутність вміння читати розум. (Я зроблю щастя, коли я вигадую цей модуль для читання розуму.) Стресовим виявленням у тестуванні користувачів є те, що те, що вони вам сказали, що хочуть, було не те, що вони насправді хотіли.


8

Багато з цих відповідей є чудовими, особливо перелічені Джоелем наголоси та ті, що стосуються втрати грошей та наполегливого управління, які не розуміють, про що вони просять.

Деякі з головних стресів, з якими я стикаюсь, виникають

  • Inheriting Spaghetti Code

    • У мене були деякі божевільні переживання, коли колесо, безумовно, потребувало переосмислення. Уявіть, що ви наймаєте на роботу після того, як інший розробник самостійно створив базу коду протягом року або близько того лише, щоб дізнатись, що вони не мали уявлення, що вони роблять, невдало провалюються і звільняються. Після приїзду вам сказали, що ваша робота - «зробити цю роботу». Звичайно, приблизно 4000 рядків приміток на 4000 рядків коду. Вкрай відсутність модульності і мало в чому напрямок. На додаток до всього, все набагато виходить від того, щоб "химерні" імена (які зрозумілі, а іноді і великі імхо) були просто простими "wth-ness"
    • У вас повинно бути два підпункти: P (код спагетті поганий, правда?)
  • Там помилка. Ви ЗНАЄТЕ для абсолютного того , що він має , щоб бути свого роду з участю одного або двох крихітних змін характеру. Кінцевий термін завтра, у вас є 3 функції, щоб закінчити. Щоб знайти цю помилку, потрібно 5 годин, і ви не можете її проігнорувати. ; (Ой лол.

  • Намагаючись пояснити попереднє

  • Затримавшись за столом через ділові обмеження, хоча якби ви могли просто піти на прогулянку по парку і повернутися назад, у вас з’явиться золотий код, який очікує, щоб вистрибнути з пальців. Моє особисте найгірше, я повинен побачити кілька дерев і неба, якщо ви хочете, щоб я зробив хороший код і швидко просунувся. Принаймні половина програмування - це мистецтво. Знайдіть натхнення.

  • Якщо ви не застрягаєте за партою, коли вам доводиться їхати додому через ділові обмеження і не можете просто сьогодні працювати 20 годин, поки ви знаходитесь в зоні. Іноді я натискаю те, що я роблю, і якщо я не можу витягнути все ближче, то наступного дня це просто не буде. Я запам’ятаю більшість цього, але це займе три рази довше, щоб отримати вниз і не дуже добре.

  • Іноді кава / інші витратні матеріали погіршують ситуацію, і мій мозок просто не слухає розуму так, як я цього хочу. =)

  • 15 хвилин перерв. Просто достатньо, щоб відкинути мене, недостатньо, щоб зробити мозок свіжим. Boooooo.

  • Були випадки, коли я вибирав нову бібліотеку або ... нужну ... нову рамку. Це було одним із найдивовижніших стресових завдань, з якими я стикався. Коли це правильно або навіть добре-іш, це прекрасно. Раз і знову, коли йде погано ... ой хлопче. Ви можете сидіти там, прогнувшись, випробовуючи нескінченні тести різних стилів, а голова настільки заповнена занадто великою кількістю інтерфейсів, що частини мого розуму просто починають вимикатися і говорити "ні, ні ... Я не хочу це робити". погано. Іди геть ". Тільки щоб змусити їх побити в підпорядкуванні. Ле зітхання.

  • Погані види помилок лінкера. Я не впевнений, як їх описати.

  • Імпорт великих об'ємів даних із дратівливого файлового формату на ваші об’єкти. Це іноді досить весело і часто вигорає вас дуже швидко, коли це не так. Я пам’ятаю, що працював із цим старим форматом excel, який мав дуже жахливий і недокументований жах героїв. Це поряд з тим, що інформація в фактичній колонці, яку ми видобували, була повна неприємних символів, ... вона все ще переслідує мене. Я продовжував думати "ага, це працює зараз !! ....! ............ о ... ніколи не пам'ятаю .."


6

Я думаю, що великий стрес викликаний такими передумовами:

  1. Хороші програмісти часто є людьми, які можуть найефективніше виконати якесь непрограмне завдання (підтримка виробництва / усунення несправностей, документація, відповіді на запитання бізнесу чи інших членів команди, надання технічної думки щодо майбутніх напрямків).
  2. Програмування - це діяльність, яку найкраще робити за тривалий час безперебійного часу.
  3. Розуміння приміщення №1 >> Розуміння приміщення №2.

Як результат, програмістів часто закликають робити ряд різних речей, що погіршує їхню продуктивність та якість роботи в обраному ремеслі. Менеджер, який здійснює цей виклик, сприймає це як "виграш", тому що гостра проблема була вирішена швидко та ефективно, а вартість не відразу очевидна.

Існує декілька стратегій управління нею з різними перевагами та недоліками.

  1. Управління часом - приділіть частину свого дня програмуванню, а іншу частину свого дня іншій роботі, і будьте дисципліновані щодо цього. Одним з недоліків цього є те, що я закінчив дозволяти роботі не програмування займати весь мій 8–5 разів, а моє програмування працювало вночі, що погано для балансу роботи / життя.
  2. Освіта - Тут люди, як Джоел, роблять роботи Йоамана - пояснюють, що вартість 15-хвилинного переривання може бути набагато більшою, ніж 15 хвилин. (наприклад, http://www.joelonsoftware.com/articles/fog0000000022.html )
  3. Розробка команди, документація - Переконайтеся, що ви не єдине джерело знань для критичних частин технології вашої компанії.
  4. Спритна особистість - я лише напівжартую. Якщо ви розвинете репутацію, що реагує хитливо на перебої, люди, як правило, знайдуть інші способи щось зробити. Ти краще будь по-справжньому хорошим, щоб зняти це, хоча.

6

Основним стресором, з яким я стикаюся, є те, що я люблю називати « Синдром МортаВ основному це ставлення деяких розробників до того, що посередність в порядку, і немає необхідності вдосконалювати чи робити щось по-іншому. Як хтось, хто проводить час поза роботою, читаючи блоги та книги, слухаючи подкасти та переглядаючи відео з кращих способів робіть справи професійно, я вважаю, що це мене справді підкреслює, тому що 95% часу я єдина людина в команді, якщо не у всій компанії, яка розуміє, чому, наприклад, написання одиничних тестів добре чи чому це погано мати тисячі рядків коду в одному класі (або класи, які роблять півдесятка різних речей), і намагаючись навчити своїх колег приводити до будь-якого пустого вигляду, виправдання "Ми не встигаємо це виправити "," Ми ніколи не будемо користуватися, тому що раніше ніколи не використовували його. "Або" Це "s не як ми робимо справи ", або, в гіршому випадку, мені показують двері і звільняють за спробу змінити на краще.


Після звільнення з роботи у липні 12 року за спробу змінити справи на краще, я сміливо можу сказати, що це банан мого існування.
Уейн Моліна

4

Бути складно отримати загальну відповідь на це питання. Люди процвітають в різних умовах.

  1. занадто багато роботи в занадто короткий час
  2. занадто мало відгуків користувачів
  3. звинувачувати культуру
  4. відсутність атмосфери довіри.

Я схильний вважати, що робота є найменшою причиною стресу для більшості людей, а не програмістів зокрема. Саме сторонні предмети, такі як культура компанії, атмосфера підрозділів, проблеми комунікацій, викликають найбільшу стрес для більшості людей. Справа не в тому, що вони не справляються з роботою; це те, що вони не справляються з атмосферою на кухні, якщо вам подобається.

Більш корисна дискусія може зосередити увагу на вирішенні зазначених проблем.


4

"Інші обов'язки за призначенням".

Мені довелося відповідати на телефони. Мені довелося працювати на складі. Мені довелося робити інвентар. Я весь день працював у компаніях. Мені навіть довелося виходити на вулицю і робити обмежене обслуговування газону.

Я не знаю, чи коли-небудь візьму іншу роботу, яка є частиною опису.


Половину вчора я провела, розплутуючи безлад кабелів, який спочатку був схожий на того, що Чеширський кіт вирвав на підлогу гігантську веселку для волосся. Не точно в моїй посадовій інструкції ...
Beekguk

Це, безумовно, вірно, особливо у багатьох невеликих офісних умовах. Деякі люди вважають цей сорт забавним, але більшість - ні.
PeterAllenWebb

Я ненавиджу той факт, що більшість компаній включають цю лінію як загальну для того, щоб означати "Все, що говорить вам начальник". Ні, глупце - ви платите мені робити JOB X, тому що я професіонал в JOB X. Це не означає, що я зроблю все, що ви скажете.
Уейн Моліна

2

Погане управління. Я не можу вам сказати, скільки історій я пережив чи бачив, як керівники (особливо старші менеджери та люди вищої компанії) приймають шалені рішення, не консультуючись з тим, хто насправді знає щось про сферу, яку вони вирішили, або не консультуються записки з попередніх зустрічей перед тим, як рухатись вперед у зворотному напрямку, як було прийнято рішення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.