Восемь факторов счастья для разработчиков

Недавно я наткнулся на этот набросок от Tanmay Vora, и он действительно нашел отклик у меня. Как разработчик, это заставило меня задуматься о том, как это может привести к жизни разработчика и нашему счастью. Основываясь на этом наброске, вот восемь факторов счастья, применяемых к жизни разработчика.

1. Обида

Укрытие обиды или гнева по отношению к другому члену команды может стать значительным источником несчастья. На предыдущей должности веб-разработчика я работал со старшим инженером, который мне ДЕЙСТВИТЕЛЬНО не нравился. Этот член команды почти никогда не оставлял без ответа запрос на извлечение или проектное решение. Каждое подобное взаимодействие привело бы к часам того, что я называю словесным дзюдо в расслабленном состоянии. Это кровоточило в моей жизни вне работы; Я никогда не мог смириться с тем фактом, что позволил этому другому человеку проникнуть под мою кожу. Моей лучшей защитой была медитация и позволение этому человеку быть своего рода наставником. Он позволил мне найти свои недостатки по тому, что он выявил во мне.

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

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

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

2. Не жить прошлым

Не останавливайтесь на той работе, которую вы не получили, или на том проекте, который обанкротился. Если мы живем прошлым, мы обречены повторить это. Как разработчики, нам нужны короткие воспоминания, и один из лучших способов обучения — это неудача.

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

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

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

Высокий уровень беглости и глубокого понимания !? Г! Каким бы болезненным ни был этот опыт, он научил меня быть разумным со временем, работая над чувствительными ко времени проектами. Иногда лучше реализовать минимально жизнеспособный продукт, чтобы сначала обеспечить его функциональность, а затем более сложные функции, если позволяет время.

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

3. Сотрудничать с жизнью

Молитва безмятежности просит нас принять то, что мы не можем изменить, изменить то, что мы можем, но при этом иметь мудрость, чтобы понять разницу. Вся «мудрость, чтобы знать разницу» — самая сложная часть этой аксиомы. Иногда мы должны знать, когда отодвинуться, но в других случаях мы должны приветствовать изменения и посмотреть, куда они нас приведут.

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

Как оказалось, в этой инициативе были интересные проблемы программирования. Клиенты должны были подавать заявки на вебинары, поэтому я включил Google Forms в рабочий процесс. Вместо того чтобы использовать интерфейс Zoom, я написал собственное внутреннее веб-приложение, используя собственный API Zoom. После этого я использовал сценарии Google App для взаимодействия с формой Google и веб-приложением Zoom, поэтому, когда пользователи отправляли запрос на вебинар, он автоматически импортировался в наше приложение для обработки.

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

4. Оставайтесь на связи с реальным миром

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

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

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

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

Значимое участие в мероприятиях вне вашей повседневной работы сделает вашу жизнь интересной и даст вам новые перспективы. Эти обязательства принесут дивиденды как в вашей профессиональной, так и в личной жизни.

5. Люби себя (и других)

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

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

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

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

6. Будь добродетельным

Как инженеры, мы живем в высокотехнологичной среде, поэтому мы думаем, что это дает нам пропуск таких добродетелей, как любовь, сострадание и сочувствие. Нет такой удачи! Мы люди, а не компьютеры, и если мы их программируем, это не значит, что мы должны думать как они. Ищите возможности в своей работе взращивать старомодные ценности, такие как любовь, сострадание, юмор и верность.

Несколько лет назад у моей организации было собрание, состоящее из всех рук. Мы разбились на небольшие группы по четыре или пять человек, и нас попросили поделиться чем-то о нас, что мотивирует и информирует нашу работу каждый день. Теперь вы знаете, как это происходит, когда мы слышим что-то подобное, мы сразу же думаем: «О, Боже … Я, как мне выйти из этого? Я подделаю боль в животе и побежу в ванную!

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

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

7. Понизьте свои ожидания от себя

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

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

Я вижу это много с новыми разработчиками. Здорово установить высокую планку для себя, но опасность такого мышления двояка. Во-первых, вы рискуете выгореть и выгнать себя из профессии, а во-вторых, даже если вы останетесь в поле, вы будете несчастны! Кто хочет работать на работе, которую, как они думают, они сосут?

Быть хорошим в своей работе — это благородное занятие, к которому мы все должны стремиться. Но, думая, что мы все можем быть Аланом Тьюрингом, Стивом Джобсом или <program_hero>, вы вряд ли попадете в цель. Скорее стремитесь быть лучшей версией себя каждый день, и вы можете стать героем для кого-то другого.

8. Подавай что-то большее, чем ты сам

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

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

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

В 2018 и 2019 годах я занимал должность директора по наставничеству в VetsWhoCode . Есть ряд добровольческих организаций, таких как Code for America и Social Coder, которые имеют возможность использовать ваши технические навыки для служения другим. Другой вариант — принять участие в вашей встрече местных кодеров. Meetups очень нравится, когда кто-то добровольно выступает с речью, помогает организовать это место или приглашает внешнего оратора.

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

Удачного кодирования!

Автор: Марк Локлир

Добавить комментарий

Войти с помощью: