March 30, 2020

В любой ситуации просто пиши код

И так, господа программисты! Любите повыгорать? А как на счет душевных терзаний по поводу недостигнутых целей и нереализованных планов? Или висящей над головой непомерной ответственности? Проекты? Кредиты? Бизнес? Дистресс? Депрессия? Неврастения? Бухаете? Или может уже бьетесь головой об стену пуская слюни в клинике для душевно больных? О, тогда эта статья как раз для вас!

Как часто сегодня можно встретить истории типа -- "Раньше мне так нравилось программировать, но теперь все обрыдло. Силы на нуле. Внимания нет. Постепенно теряю связь с реальностью. На вопросы врачей "на что жалуетесь" рассказываю им как сложно писать вложенные SQL запросы с пятью JOIN`ами..." Но почему так получается? Неужели, человек, дошедший до такого состояния, просто бездарь? Вроде бы нет. И код опрятный и мысли здравые, опыт солидный, приглашают в проекты, платят не малые деньги. Тогда что же?

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

Зачистите окружение

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

Если при этом нужно сменить работу -- смените! Не терпите и не пытайтесь изменить ситуацию в команде. Вы не менеджер. Это не ваша зона ответственности и у вас для этого нет компетенций. Не тратьте время зря. Чем быстрее компания развалится, тем быстрее люди найдут другую работу.

Не знаю, что тут еще посоветовать... Война есть война. Выпилите их всех.

Занимайтесь своим делом

Вам нравится писать код -- пишите код! Не нужно лезть в управление людьми, проектами, бизнес, общение с клиентами, разработку продуктов, дизайн...

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

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

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

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

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

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

Не работайте с дилетантами

Тем более не компенсируйте дилетантизм коллег собственными сверхусилиями. Это касается как коллег кодеров, так и менеджеров, архитекторов, руководства компании.

Одно дело поболтать с коллегами в курилке о насущных проблемах проекта и совсем другое -- исправлять за них баги и переписывать код задерживаясь на сверхурочные и выходные. Вероятно им нужно набраться опыта на чем-то более простом.

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

Не планируйте свою работу

Ни в компании, да и вообще никогда. Планирование - это наиболее прямой путь к неврозам. Человек так не работает. Либо вы видите решение в целом, либо нет. Остальное - костыли. Если вы не пробегаете 10 километров без костылей, то почему у вас должно начать получаться с ними?

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

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

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

Не ищите мотивацию

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

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

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

Гораздо чаще встречается совершенно противоположная ситуация. Кодер трясясь из последних сил, отработав 12 часов за экраном пытается выдавить из себя решение очередной задачи -- "Мне нужна мотивация. Сгоняйте за энергетиком, а то я что-то не могу ходить. Что бы такого еще принять бы, что бы появилась мотивация? Я ленивая жопа. Полезу в интернете что-нибудь куплю. Гидрофинил, кофеин, ДМАА, элеутерококк, женьшень... Нет, это я пробовал. О! Какой-то лохматый гриб вырощенный на говне мышей употреблявших кокаин -- самое то! Когда доделаю? Да сейчас обдолаюсь чем-нибудь допишу и выкатывать начнем." Чувак, да ты помираешь. Я не преувеличиваю, в японском языке есть даже специальное слово "Кароси", означающее сметь от перерботки. Теперь не так странно, что за несколько часов от смерти у тебя ничего не получается?

Не работайте в одиночку

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

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

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

Заботьтесь о здоровье

Если вы еще не вляпались -- не перетруждайтесь! Помните, что вас тут же выкинут, как только отожмут ваши силы до последней капли. Ни кто не станет вам платить за вашу неврастению.

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

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

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