Часть 1. Установление ожиданий, борьба с синдромом самозванца, разделение задач и создание потоков.

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

Установление ожиданий, определение контроля

«Жизнь станет легче, если научишься принимать извинения, которых никогда не получал».
- Роберт Браулт

Прежде чем мы начнем, важно выделить то, что вас расстраивает, а затем отделить то, что вы можете контролировать, от того, что вы не можете. Разочарование часто возникает из-за того, что наши ожидания не соответствуют нашим реалиям. Может быть, вы предполагали, что ваш код будет работать, или что ваши коллеги сделают свою долю работы, или что вам будет дано реальное время для написания кода.

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

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

Борьба с синдромом самозванца

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

  • Примите тот факт, что разработка программного обеспечения всегда меняется. Это обоюдоострый меч, потому что он означает, что вам всегда нужно учиться, но это значит, что все остальные тоже. Найдите форумы, чтобы почитать, или встречи, на которых стоит присутствовать. Не бойтесь плыть по реке знаний, зная, что финиша нет. Программирование, как и многое другое в жизни, доставляет больше удовольствия, если вы сосредоточены на путешествии.
  • Спросите своего менеджера, как у вас дела. Если вы работаете в приличной компании, у вас должно быть 1: 1. Когда ваш менеджер говорит вам, что у вас все хорошо, верьте ему и гордитесь своими достижениями. Если они считают, что вы можете добиться большего, попросите подробностей и рекомендаций о том, как их решить, а затем уделите время решению каждой задачи по улучшению.
  • Запросите экспертную оценку вашего кода. Опять же, я считаю, что здоровая команда должна иметь обязательную проверку кода запроса на вытягивание, но если нет, найдите разработчика, которым вы восхищаетесь, и попросите его проверить ваш код. Предложите отплатить за услугу, потому что отличный способ выучить новый код - это читать другие.
  • Каждый раз, когда вы завершаете задание или узнаете что-то новое, записывайте это в свой дневник. Это не только отлично подходит для обновления вашего резюме и подготовки к обзору эффективности, но также дает вам подробные напоминания о вашем росте. Если вы оглянетесь назад и все еще не впечатлены, бросьте себе вызов, сходите на урок или потратьте неделю на изучение чего-то нового.

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

Разделите задачи

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

Если у вас есть задача или тикет, на которые, по прогнозам, уйдет более 10 дней, я готов поспорить, что эта оценка неверна, и вам потребуется больше времени. Оценка чертовски сложна, и люди почти всегда ошибаются, но есть уловки, которые помогают:

  • Вместе со своей командой прочтите критерии приемки. Надеюсь, даже если недовольные коллеги не хотят помогать, вы можете положиться на своего менеджера или менеджера проекта, который вместе с вами прочитает задание. В идеале, вся команда должна подписаться на задаче. Вы или QA должны даже написать тестовые примеры для возможного кода, который вы напишете.
  • Продолжайте разделять задачу до тех пор, пока вы не сможете выделить работу по частям не более двух дней. Два дня - это легко и понятно, и каждый раз, когда вы выполняете подзадачу, вы можете оседлать этот эндорфиновый кайф достижений.
  • Пытаясь разделить его, вы можете столкнуться с некоторыми серьезными неизвестными! Может быть, это сторонний API, которому нельзя доверять, или это область кода, которую больше никто не поддерживает. Это отличный отзыв, и вам, возможно, потребуется дополнительное исследование или планирование вместе с вашей командой. Создайте заявку на повышение и сообщите своей команде, что вам намеренно нужен день, чтобы лучше спланировать остальную часть задачи.
  • Некоторые части проекта всегда будут таинственными, но, разделив его на небольшие задачи, вы можете начать добавлять уровни уверенности к каждой более мелкой задаче. Для вещей, которые все еще пугают даже после исследования, прибавьте к оценке времени наихудший случай.

Попасть в потоки

Написание кода - это искусство, полное экспериментов, решения сложных проблем и всего таинственного неизвестного, упомянутого выше. Такая творческая работа требует отдельных моментов непрерывного потока, обычно от 2 до 4 часов за раз. И знаете что, большинство компаний редко признают это, что делает это одним из самых больших разочарований, над которым разработчики обычно меньше всего контролируют.

Между встречами, неудачными проектами открытых офисов и постоянными отвлекающими маневрами современная технологическая компания обречена на провал. Это еще одна ситуация, когда у вас нет прямого контроля, но вы можете попробовать кое-что.

  1. Купите наушники с шумоподавлением, в Wirecutter и Toms Guide есть рекомендации по выбору бюджета в районе 60 долларов.
  2. Найдите тихие места в своем офисе, если ваш стол сильно отвлекает. Если ваша компания позволяет это, иногда белый шум кафе отвлекает меньше, чем постоянные вопросы коллег.
  3. Если возможно, поработайте со своим менеджером (или, если вы менеджер), чтобы все встречи приходились на понедельник и пятницу, давая вам и вашей команде середину недели для целенаправленного программирования.
  4. Кроме того, если возможно, назначьте работу на дому (я рекомендую разбивать неделю по вторникам и четвергам), чтобы люди могли создать свою идеальную рабочую среду.

Вашему руководству может не понравиться идея работать из дома, но исследования показали, что удаленные сотрудники работают на 1,4 дня в месяц больше, что приводит к 3 дополнительным рабочим неделям в год. Было также показано, что сотрудники дома отвлекаются на 10 минут меньше в день, чем в офисе.

Оставайтесь с нами для части 2

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

Расскажите мне о своем собственном опыте разочарований на работе, и я добавлю вас в следующую статью! Тогда увидимся!