Не самозванец: борьба с усталостью переднего плана

Опубликовано: 2022-03-10
Краткое резюме ↬ В этой статье Дэвид Бернер делится советами о том, как избежать усталости. После того, как вы полностью выгорели, очень трудно восстановить ту страсть, которая у вас была к тому, что вы делаете, и почему вы начали это делать в первую очередь.

Недавно я разговаривал со своим другом, разработчиком бэкенда, о том, сколько часов я трачу на программирование или изучение кода вне работы. Он показал мне отрывок из книги дяди Боба «Чистый код», в которой сравниваются часы, которые музыканты проводят со своими инструментами, готовясь к концерту, с разработчиками, репетирующими код для исполнения на работе.

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

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

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

Дальнейшее чтение на SmashingMag:

  • Грязные уловки из темных уголков интерфейса
  • Ода разработчика интерфейса спецификациям
  • Как подготовиться к предварительному собеседованию при приеме на работу
Еще после прыжка! Продолжить чтение ниже ↓

Насколько я могу судить, это двоякая проблема .

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

  • HTML (написание чистой, семантической разметки)
  • CSS (модульный, масштабируемый)
  • Методологии CSS (BEM, SMACSS, OOCSS)
  • Препроцессоры CSS (что-то вроде LESS, SCSS, PostCSS)
  • Современный CSS (Flexbox, Grid)
  • JS
  • Современный JS (ES6, машинописный текст)
  • Фреймворки JS (Angular, React, Vue [вставьте последнюю версию здесь]
  • Методологии JS (Функциональное программирование, ООП)
  • JS-библиотеки (Immutable, Ramda, Lodash)
  • Принципы адаптивного дизайна
  • Тестирование (TDD)
  • Фреймворки для тестирования (Jasmine, Karma)
  • SVG
  • WebGL
  • Техники анимации
  • Доступность
  • Юзабилити
  • Представление
  • Инструменты сборки (Grunt, Gulp, NPM-скрипты)
  • Сборщики активов (WebPack, Browserify)
  • Экосистема NPM
  • Знание различных особенностей браузера
  • Гибкие методологии
  • Контроль версий (обычно Git)
  • Основы визуального дизайна
  • Soft skills, тайм-менеджмент
  • Базовое понимание того, какой внутренний язык используется

И вдобавок ко всему, вы либо балуетесь, либо смотрите на такие вещи, как:

  • Работники сферы услуг
  • Прогрессивные веб-приложения (PWA)
  • Веб-компоненты

Во-вторых, ваша повседневная работа, вероятно, не охватывает все это и не дает вам времени, чтобы изучить все это, так как же вы собираетесь убедиться, что в вашем распоряжении есть все инструменты?

Такие термины, как «прогрессивные веб-приложения», могут быть довольно пугающими для разработчиков. Новые приемы и технологии приводят к ощущению усталости — лобовой усталости.
Такие термины, как «прогрессивные веб-приложения», могут быть весьма пугающими для разработчиков. Новые приемы и технологии приводят к ощущению усталости — лобовой усталости. (Изображение предоставлено)

Теперь, как потребитель, вы можете:

  • Подпишитесь на множество различных еженедельных информационных бюллетеней по разработке
  • Просмотрите свою ленту в Твиттере
  • Посещайте еженедельные мероприятия, посвященные работе вашей фронтенд-команды.
  • Имейте канал Slack вне работы с несколькими разработчиками, с которыми вы также общаетесь.
  • Следуйте онлайн-учебникам (которые, надеюсь, не устарели)
  • Используйте обучающий сайт с видеокурсами, например Frontend Masters.
  • Купите книги по веб-разработке (надеюсь, они не устарели).
  • Посещайте встречи
  • Посещайте конференции
  • Посещайте обучающие курсы

В качестве участника вы можете:

  • Пишите статьи в блогах/журналах
  • Баловаться в разговоре
  • Запустить подкаст
  • Участие в проектах с открытым исходным кодом
  • Иметь собственные сторонние проекты

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

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

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

Мы не одиноки в этой дисциплине, многие профессии требуют серьезной самоотверженности и обучения вне работы. Может быть, проблема с фронтенд-разработкой в ​​том, что технология развивается так быстро , что кажется, что кто-то продолжает двигать цели. Кажется, что через день я получаю электронное письмо, в котором говорится, что технология «XYZ» мертва. Что, я уверен, не может быть правдой, потому что иначе у нас не осталось бы технологий.

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

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

Мы все вместе

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

Мы все по-прежнему полагаемся на Google и Stack Overflow, чтобы помочь нам в течение дня, и у нас слишком много открытых вкладок, заполненных ответами на вопросы, связанные с Интернетом. Ты не один!

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

Да, даже «сетевые знаменитости» находятся в том же месте…

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

Синдром самозванца реален, и он есть у всех нас

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

«90% JD, которые я вижу, заставляют меня думать: «Ах, я так отстал!» На самом деле, это меня так сильно беспокоит, что я думаю о том, чтобы остаться в своей нынешней роли и просто попытаться получить больше денег. просто потому, что я чувствую, что мне здесь «сошло с рук».

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

Объяснения о вакансиях
Объяснение объявлений о вакансиях (большой предварительный просмотр) (Изображение предоставлено)

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

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

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

Зафиксируйте свои основы

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

Как однажды сказал мне мой хороший друг:

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

Например, когда React катапультировался к славе, казалось, что он всегда связан с ES6, и я сосредоточился на этих изменениях или дополнениях к языку, а не на нюансах самого фреймворка. Как только React умрет и исчезнет, ​​знания, которые я получил, следя за последним ванильным Javascript, будут жить. Многие функции, с которыми вы можете поиграться изначально в Chrome, поэтому вам не нужно использовать Babel и увязнуть в аду зависимостей, чтобы поиграть с ним.

Вам не нужно учить все

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

Я считаю, что при обучении лучше всего сосредоточиться — в данный момент я углубляюсь в функциональное программирование JavaScript в ES6.

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

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

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

Большинство компаний не используют передовые технологии

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

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

В мире CSS Flexbox доступен с 2010 года — шесть лет назад! Поддержка браузеров по-прежнему ограничена. Мы начали использовать его в производстве в начале этого года, но я не вижу, чтобы он широко использовался в других местах.

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

Чем больше вы узнаете, тем больше вы обнаружите, что не знаете, и это нормально

Это совершенно нормально. Когда вы только начинаете, вы не знаете, чего вы не знаете. Затем вы узнаете кое-что и решите, что вы гений. Затем мало-помалу эта фантазия распутывается, и вы начинаете понимать, как много есть того, чего вы не знаете.

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

Не тратьте все свое свободное время на обучение

Легко почувствовать, что вы так сильно отстали, что вам нужно программировать и учиться каждую минуту. Это билет в один конец в Burnout-ville. Выделите время для развития своего набора навыков, посмотрите, сможете ли вы договориться с начальником о времени, чтобы оно было запланировано, а остальное время посвятите тому, что вам нравится.

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

Найдите время для своей семьи и друзей — постарайтесь не разговаривать с ними о делах!

Это рынок разработчиков

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

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

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

Заключение

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

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