Мир IT довольно токсичен. Нас окружает успешный успех — он захлёстывает и сбивает нас с ног каждый раз, когда мы смотрим на публичных людей в нашей отрасли. Один — ворочает «маленьким кластером на тысячу машин», другой — уже три пет-проекта запустил за утро субботы, этот — за день подготовился к собеседованиям и лениво перебирает оферы из топовых компаний.
Из каждого утюга раздаются возгласы, что разработчик должен развиваться день и ночь, ведь у нас такая профессия! Каждый должен обладать солидным профилем на гитхабе, для чего, придя домой после дня работы, обязан контрибутить в опенсорс-проекты. Впрочем, отдохнуть тоже можно — например, запустив в перерыве свой пет-проект и поучаствовав в хакатоне. Ночью можно совсем расслабиться и понабивать себе профиль в литкоде, а во время походов в туалет — прочитать пару статей.
Но действительно ли всё это надо? Разработчик в самом деле обязан проводить всё своё свободное время за написанием кода? А обязан ли разработчик постоянно развиваться?
Токсичность комьюнити
Как мантра, в комьюнити бесконечно повторяется возглас: «Разработчик обязан развиваться!» В самом этом тезисе нет ничего плохого, но пугает то, как часто, громко и жёстко он звучит.
Зайдите на Medium или любой другой ресурс со статьями и вбейте в поиск developer must или developer should — вы получите сотни статей, рассказывающих, что же разработчик обязан знать и делать. Разработчик обязан иметь блог, иметь пет и выучить 10 языков программирования. И даже в таком, казалось бы, абсолютно личном деле, как настройка редактора, расширений в браузере, требуют соответствия неким стандартам.
Каждый разработчик должен прочитать много книг! Двадцать! Хотя нет, лучше — триста! Получилось, правда, всего пять, но ведь «some of the best developers I know are always reading, true story».
Синдром самозванца и выгорание стали основой индустрии. Ежедневный поток тревожности бодрит лучше кофеина.
Токсичность работодателей
Мало того что окружение капает нам этим развитием на мозги — работодатели готовы усилить это и превратить в полноценный водопад нервозности.
Миру уже не нужны просто разработчики. Миру нужны 10x developers, top talents, rock-stars. Других и нанимать-то грешно. Ты не альфа, а бета? Иди дальше. У тебя нет пет-проектов? Ты недостаточно предан программированию! Всё как в известном анекдоте: «Фару, фару мне на лоб, чтоб ночью косить мог!»
Хуже того, компании начинают строить метрики, а потом пинать, пинать своих разработчиков: «Развивайся!» Одна из крупнейших IT-компаний РФ увольняет людей, у которых за полтора года не вырос грейд, другие — строят метрики T-shapeness и оценивают по ним работу команды, третьи — требуют сертификат, иначе ты плохой программист.
Если компания не осиливает такие экстремумы, то хотя бы воткнёт performance review каждые полгода, где бедные разработчики будут с глазами в пол обсуждать с руководителем, почему они не выросли за последние шесть месяцев. Или вообще запустит ревью сотрудниками сотрудников, где ещё посмотрит, насколько выдающиеся твои достижения. А по результатам ревью надо оценку выставить, жаль, дневника нет.
«Мы хотим качать зрелость сотрудников, у нас есть перформанс ревью, достаточно сложный. Там есть проблемы, что люди не хотят им пользоваться…» Но незрелость будет побеждена, добро — оно с кулаками и мотивацией.
Человек спокойно работает себе мидлом, делает мидловские задачи и доволен жизнью? «Что-то засиделся ты в мидлах» — надо заставить его стать сеньором. Хороший сеньор? Дуй в техлиды. Или в тимлиды: раз ты целый сеньор, то хочешь управлять командой. Хочешь ведь, да?
А куда деваться разработчикам? Не развиваешься — и зарплату даже не проиндексируют. Надо заработать следующую лычку! Правда, и с этим сложно. Быстро пришло понимание, что на ревью слишком многие получают хорошие оценки — значит, надо нормировать! План-то у нас на 10% отличников, а кто не попал в 10%, тот сам дурак и плохо развивался. Нет бы 10x-девелопером быть.
К чему это приводит
Мантра «ты должен постоянно развиваться» вбивается джунам в голову с момента, как они начали заниматься разработкой. Они растут и со временем передают её новым джунам. Сообщество вокруг и индустрия не дают сомневаться в этой мантре.
Под её влиянием разработчики нервно глядят вокруг себя: «А точно ли я достаточно развиваюсь? А не развиваются ли все вокруг быстрее меня?» Люди пытаются учить ещё больше, расти ещё быстрее, сжигая свои ресурсы в этой бессмысленной гонке. Синдром самозванца вспыхивает и берёт разработчика под своё крыло.
«Я работаю днём, вечером что-то читаю, слушаю подкасты, видео смотрю. Я устаю. Но это не усталость, это моя лень, я просто, видимо, не так стремлюсь развиваться, не так ориентирован на свою профессию»
Страх оказаться хуже других заставляет всё время самоутверждаться — например, разнося кандидатов на собеседовании, ведь, не дай бог, он окажется лучше, чем ты! Все узнают, что ты самозванец!
Но как доказать, что ты — настоящий специалист? Получить новые лычки, продвинуться в карьере — стать тимлидом, а лучше — тимлидом тимлидов, а лучше — CTO! Плевать, что ты никогда не хотел этим заниматься, а просто любишь писать код, — надо постоянно что-то доказывать окружающему миру.
Следующий шаг — выгорание или полноценная депрессия. 83% разработчиков выгорают. Мало того что наша работа и так достаточно нервная и сложная — мы же ещё не даём себе отдыхать, заставляем себя учиться снова и снова, чтобы не отстать от неведомых «всех», меняем работу на нелюбимую, зато более красиво звучащую.
Так обязан разработчик развиваться или нет?
Нет, разработчик не обязан развиваться. Люди вообще друг другу ничего не должны.
Конечно, если вы джун, не стоит и обсуждать возможность не развиваться на работе. Во-первых, не учиться будет, прямо скажем, сложно: слишком много новых вещей вокруг. Во-вторых, никто не будет долго держать джуна, который не развивается, — он будет забирать у работодателя едва ли не больше ресурсов, чем приносить.
А вот если вы хотя бы мидл, то такая опция для вас есть. В конце концов, не всем повезло найти своё призвание. Или ваше призвание вам известно, но не может прокормить вас. В этом нет ничего плохого!
Нет ничего ужасного в том, чтобы просто каждый день хорошо делать свою работу. Да, вы не будете решать головокружительно сложные задачи, выступать на куче конференций, а ваша зарплата не будет особенно сильно расти. Но может, оно вам и не надо?
Если вы руководитель, то не заставляйте расти всех. Если у вас есть хороший разработчик, который не хочет расти, — просто поставьте его в условия, где он будет приносить вам пользу каждый день. У вас огромный бэклог, в котором найдутся задачи для крепкого мидла. Да, он не сможет рулить архитектурой проекта или делать какие-то дикие оптимизации. Зато он сможет тащить задачи вашего проекта изо дня в день.
Итого
Первое — вы не обязаны развиваться. И уж тем более вы не обязаны тратить всё своё свободное время на развитие рабочих навыков.
Второе — прекратите выжигать к чертям свои ресурсы, если вы это делаете. Учиться, развиваться нужно вдумчиво и постепенно — умеренность защитит вашу психику и приведёт к лучшим результатам. Если вы уже выгорели — прекратите заниматься развитием и потратьте свои ресурсы на восстановление.
Третье — если вы руководитель, перестаньте насильно причинять добро.
Ну и последнее. Давайте прервём этот порочный круг и снимем стигму с просто качественной работы. Давайте перестанем транслировать вредную мысль, что все должны учиться 24/7.
Может быть, выгораний и стресса в IT станет чуть меньше?