Удаленная работа по разработке программного обеспечения, FTW

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

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

Утверждения:

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

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

Инженеры тоже люди, а кофеин — скользкий путь. У каждого человека есть ограниченное количество полезных рабочих часов в день, и один из способов оптимизации в рамках этих ограничений — позволить каждому инженеру в разумных пределах устанавливать свое собственное рабочее время. Одним из моих любимых аспектов удаленного устройства было то, что я мог организовать рабочее время так, чтобы оно совпадало с моими наиболее продуктивными и сосредоточенными периодами. Я слишком хорошо знаком с явлением, когда работаешь в традиционной офисной среде, когда чувствуешь себя рассеянным, усталым или выгоревшим, но все же поддаешься не очень тонкому давлению сверстников, оставшись за своим столом без какого-либо полезного результата. С другой стороны, при удаленной работе я привык отслеживать уровень своей концентрации, когда он то снижается, то снижается в течение дня, а в самые низкие моменты просто отходит от компьютера, на мгновение занимаясь другой несвязанной задачей. Способность контролировать эти «смены сцены» способствует не только максимальному повышению качества продукции, но и созданию условий для того, чтобы разум мог предлагать неожиданно творческие решения проблем, возникающих в «негативном пространстве» отхода от проблемы. .

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

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

За удаленной работой закреплено клеймо.

«Когда я даю ваше резюме [члену нашего совета директоров] для распространения в его сети, не говорите ему сразу, что вы ищете удаленную работу. Он невысокого мнения об удаленных командах. Он не думает, что вы можете добиться успеха в качестве стартапа с удаленной командой. Я действительно согласен с ним». — финансовый директор моей бывшей удаленной компании, распространяющий мое резюме после того, как меня уволили.

Я столкнулся с предубеждением против удаленной работы, начиная с моей когорты в Hack Reactor в 2014 году. Когда я обсуждал свой опыт поиска работы с моими коллегами, когда я упомянул, что сильно склоняюсь к принятию предложения от удаленной компании, реакции почти всегда включены дополнительные вопросы о том, почему я хочу работать удаленно, и считаю ли я, что это лучший выбор? Я заметил, что частично усвоил это отношение еще до того, как начал много говорить об этом со своими коллегами. У меня было щемящее чувство, что я, возможно, упущу что-то очень важное, но не поддающееся определению. Я поймал себя на мысли, что, если все были правы, что, если я действительно упустил лодку, не помещая себя в офисную среду, чтобы максимизировать наставничество и возможности карьерного роста?

Мне до сих пор интересно, откуда берутся эти негативные взгляды, настолько распространенные, что их разделяют как мои коллеги, так и финансовый директор удалённой компании!

Итак, каков мой опыт работы удаленным сотрудником, управляющим единоличным владением нашими интерфейсными технологиями более двух лет?

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

Несколько фактов о моей удаленной команде:

  • Мы поставили вовремя, качественное, проверенное программное обеспечение.
  • Мы хорошо сработали как команда.
  • Мы поддерживали друг друга, и у нас была хорошая командная химия.
  • Когда нам нужно было сотрудничать в режиме реального времени, мы использовали технологии совместного использования экрана и видеочата, а в некоторых случаях собирались вместе в нашем физическом офисе.
  • Мы использовали методологии Agile/Scrum для отслеживания спринтов, включая оценку и систему тикетов.

Итак, учитывая тот факт, что команда разработчиков продукта в итоге была уволена, что пошло не так и в чем заключалась проблема с нашей удаленной командой?

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

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

Учитывая все, что я описал выше, должно быть ясно, что я предвзято отношусь к удаленной культуре, найдя ее неожиданно отличной для моего темперамента и стиля работы. Возвращаясь к врожденной предвзятости, которая разделялась между моими коллегами, когда мы все искали работу, была ли в этом какая-то заслуга? Чувствовал ли я, что упустил наставничество или возможности карьерного роста, потому что согласился работать в удаленной команде?

На самом деле как раз наоборот. Благодаря тому, что мы не были окружены другими инженерами и несем единоличную ответственность за все, что связано с JavaScript в нашей команде, возникла мощная мотивация для личного развития. Поскольку мне никогда не удавалось похлопать кого-то по плечу с просьбой о помощи, это заставило меня систематически мыслить и организовывать рабочие процессы и стратегии решения проблем. Я быстро набрался сил в своем гугл-фу и исследованиях переполнения стека/MDN. Я использовал ярлыки, такие как использование Dash для справки по документации и создание текстовых фрагментов для общих последовательностей и шаблонов ввода текста. И то, что он сделал для моей уверенности, неизмеримо и бесценно. У меня появилось чувство уверенности в том, что я могу пройти через трудные этапы роста, справляться с крутыми кривыми обучения и держать голову высоко, даже когда испытываю чувство отчаяния или «ударяюсь о стену». И повторение этого опыта привело к выносливости и решимости, которые способствовали постоянному прогрессу в области разработки программного обеспечения.

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

«Пусть ваши программисты пишут код»

Эта статья является частью серии