С какими стрессами сталкиваются программисты на работе и как вы с ними справляетесь? [закрыто]

74

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

Но в разгар ежедневной рутины может быть трудно распознать источники стресса (особенно для интенсивной, сосредоточенной личности, такой как программист).

На какие типы стрессоров должны обращать внимание программисты и как ими управлять?

user8
источник
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. Недостаток самоконтроля : это может проявляться во многих вещах. Возможно, вы трудолюбивый, который отказывается делать надлежащие перерывы. Это приводит к накоплению стресса и плохо. Возможно, вы пьете Jolt Cola и пьете больше кофеина, чем должны, когда нарастает стресс. Это вредно для вашего здоровья и ухудшает реакцию на стресс. Вы должны знать свои пределы, знать, что вызывает ваши специфические реакции на стресс, и, что важнее всего, знать, как облегчить эту реакцию на стресс. Выносить это на коллег или коллег нецелесообразно и будет только способствовать усилению стресса.
  6. Отсутствие навыков общения : часто мы не говорим на одном языке, и я говорю не об английском, немецком или индийском. Мы используем одни и те же слова, но не говорим одно и то же. Люди должны быть конкретными и открытыми о вещах, которые они не понимают. Даже если вы думаете, что понимаете, это не помешает уточнить. Помните, что бизнес-метрика может означать что-то другое для разных отделов в организации.
  7. Снятие ограничений : Держите работу на работе и дома дома. Тот факт, что ваш 7-летний подросток оставляет свои ботинки посреди пола и не убирает их после завтрака, не означает, что вам нужно жевать Тиффани от учета нового, потому что она не предоставила вам таблицу требований к выставлению счетов. , То же самое, просто то, что Тиффани расслабляется с таблицей, не означает, что ваша жена заслуживает плохого обращения в пригородной зоне. (кстати, бедная Тиффани тоже не заслуживает такого обращения)
Joel Etherton
источник
17

Я думаю, что самым большим стрессом для любого программиста является отсутствие доверия .

Да, многие встречи (конечно, не сами по себе) не нужны, но я, как программист, могу многое с этим поделать. Если мне регулярно приходится посещать собрания, которые, по моему мнению, не являются необходимыми, тогда я обязан встать и сказать: «Эй, мне не нужно присутствовать на этом собрании - я могу проводить свое время более продуктивно».

То же самое касается перерывов: да, это хлопот. Я видел это в довольно многих компаниях. Однако, много раз, опять же, есть несколько вещей, которые можно сделать. Программисту не нужно проверять свою почтовую учетную запись каждые пять минут и мгновенно отвечать на каждую почту. Аналогичным образом, если я не хочу, чтобы меня беспокоили в течение определенного периода времени, я выключаю свой мессенджер и пересылаю свой телефон.

Это всего лишь два примера - их намного больше. Да, иногда бывает трудно. Но в большинстве случаев проблемы, о которых мы говорим, могут быть решены довольно легко с большей уверенностью. Скажите людям по другую сторону коммуникационного цикла: «Да, я слышал вас и получил ваше сообщение, но я вернусь к этому позже».

Самые большие проблемы - это то, что мы создаем сами! ;-)

perdian
источник
2
+1 Хороший ответ. Тем не менее, вы могли бы сказать это в меньшем количестве слов. :-)
Мэтью Родатус
+1, поскольку это не только стрессор, но и влияние на производительность.
Ковар
Так это недостаток уверенности в целом или недостаток уверенности, чтобы сказать «нет»?
Митч
1
Это не просто сказать «нет» - это было бы слишком просто. Нужно признать, когда сказать «это не так, как должно быть», и предложить альтернативу. Сказать «нет» - это только одна часть.
perdian
12

Ошибки сторонних компонентов

Это может быть очень напряженно, когда вы получаете обновление какого-либо стороннего компонента, который что-то ломает. У вас нет исходного кода для отладки или изменения, но если ваша система зависит от него, это может быть довольно страшно. Однажды утром вы обнаружите, что ваш сервер управления исходным кодом работает неожиданно, и вы можете потерять 2 недели проверок, что может вызвать немало стресса. Это, в основном, идея слоя с утечкой абстракции, когда вы не готовы к этому. Взгляните на открытые сообщения об ошибках по любой технологии стека Microsoft, и комментарии, безусловно, свидетельствуют о таком разнообразии стрессов.

Morgan Herlocker
источник
2
+1 Я столкнулся с той же проблемой ... работал со сторонней компанией, сервис которой был просто ужасен. Их код почти не функционировал - часто падал, работал медленно и не давал качественных результатов. К счастью, компания, с которой я работаю, действительно понимает и знает, что проблема была в компании (то есть на самом деле слушаю их разработчиков), а не меня. Но во многих компаниях дело обстоит иначе, и виноваты в этом внутренние разработчики.
Wipqozn
10

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

Отсутствие умения читать мысли. (Я собираюсь разбогатеть на том, чтобы когда-нибудь изобрести этот модуль для чтения мыслей.) В ходе тестирования пользователей очень сложно обнаружить, что то, что они сказали вам, что они хотели, было не тем, чего они на самом деле хотели.

HLGEM
источник
8

Многие из этих предоставленных ответов великолепны, особенно перечисленные стрессы Джоэла и те, которые касаются потери денег и настойчивого управления, которые не понимают, о чем они просят.

Некоторые из основных стрессов, с которыми я сталкиваюсь, происходят из

  • Inheriting Spaghetti Code

    • У меня были безумные переживания, когда колесо наверняка нуждалось в переизобретении. Представьте, что вас наняли после того, как другой разработчик в одиночку собрал кодовую базу в течение года или около того, только чтобы узнать, что они понятия не имеют, что делают, с треском провалились и уволили. По прибытии вам говорят, что ваша работа - «сделать эту работу». Конечно, на 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. Противная Личность - я только полушутя. Если у вас появится репутация реагировать прерывисто, люди будут стремиться найти другие способы добиться чего-то. Вам лучше быть действительно хорошим, чтобы осуществить это, хотя.
JohnMcG
источник
6

Основным стрессором, с которым я сталкиваюсь, является то, что я люблю называть « синдром Морта».". По сути, некоторые разработчики считают, что посредственность - это нормально, и нет необходимости улучшать или делать что-то иначе, когда-либо. Как человек, который проводит время вне работы, читая блоги и книги, слушая подкасты и просматривая видео о лучших способах делайте вещи профессионально, я нахожу это действительно стрессом, потому что в 95% случаев я единственный человек в команде, если не во всей компании, который понимает, например, что написание юнит-тестов хорошо или почему плохо иметь тысячи строк кода в одном классе (или классах, которые выполняют полдюжины разных вещей), и попытка обучить моих коллег приводит либо к пустым взглядам, но и к оправданию: «У нас нет времени, чтобы это исправить "," Мы никогда не будем использовать, потому что мы никогда не использовали его раньше. "Или" То "Это не то, как мы поступаем », или, в худшем случае, мне показывают дверь и увольняют за попытку изменить ситуацию к лучшему.

Уэйн Молина
источник
После того, как в июле 12 года меня уволили с работы за попытку изменить положение вещей к лучшему, я могу с уверенностью сказать, что это проклятие моего существования.
Уэйн Молина
4

Было бы сложно получить общий ответ на этот вопрос. Люди процветают в разных условиях.

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

Я склонен считать, что работа является наименьшей причиной стресса для большинства людей, а не для программистов. Это посторонние предметы, такие как корпоративная культура, атмосфера подразделения, проблемы коммуникации, которые вызывают наибольшее напряжение у большинства людей. Дело не в том, что они не могут справиться с работой; это то, что они не могут справиться с атмосферой на кухне, если хотите.

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

temptar
источник
4

«Другие обязанности по назначению».

Я должен был ответить на телефоны. Я должен был работать на складе. Я должен был сделать инвентарь. Я был на собрании компании целый день. Я даже должен был выйти и сделать ограниченный уход за газоном.

Я не знаю, найду ли я когда-нибудь другую работу, в которой это будет частью описания.

Джон Крафт
источник
Я провел половину вчера, распутывая путаницу кабелей, которые изначально выглядели так, словно Чеширский кот вырвал на полу гигантскую радугу. Не совсем в моем описании работы ...
Beekguk
Это, безусловно, верно, особенно во многих небольших офисах. Некоторые люди находят разнообразие забавным, но большинство - нет.
PeterAllenWebb
Я ненавижу тот факт, что большинство компаний включают эту строчку в качестве всеобъемлющего, означающего «все, что вам скажет босс». Нет, осел, ты платишь мне за работу X, потому что я профессионал в работе JOB. Это не значит, что я сделаю все, что ты скажешь.
Уэйн Молина
2

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

Том А
источник