Главная » Хабрахабр » Былина о том, как я в стартапе работал

Былина о том, как я в стартапе работал

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

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

Как всё начиналось

Не вдаваясь в причины, в какой-то момент я ощутил потребность в смене места работы. Эксперимента ради я искал именно удалённую работу и именно в иностранной компании. На Upwork, который тогда ещё был oDesk, мне попалось объявление о наборе в молодой, но амбициозный проект, ориентированный на рынок США. Сулили интересные задачи, да и зарплату предлагали повыше. На тот момент меня не смутило то, что акцент был сделан на сотрудников из развивающихся стран (где, соответственно, вполне можно платить меньше). А, возможно, должно было. Стоит отдать им должное, впрочем. На соответствующей страничке сайта они даже не поленились сделать небольшой конвертер, который переводил предлагаемую ими ставку на валюты разных недоразвитых стран мира, среди которых в одном ряду с Украиной и Россией стояли Пакистан, Индия, Непал и прочая экзотика.

Если вкратце, был дан массив значений колебаний курса валют в небольшом пределе, общий разброс < 0. На мою заявку откликнулись довольно быстро и назначили мне первую часть собеседования, где, помимо общих вопросов была одна задачка, решение которой нужно было предоставить с помощью InterviewZen (полезная штука, если Вам нужно отследить ход мышления интервьюируемого, кстати). Нужно было отнормировать и построить график колебаний так, чтобы их было видно. 1.

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

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

Общие условия работы

В отличие от некоторых стартапов, о которых я слышал, и где всё держится на ура-идиопатриотизме из серии «наша идея супер крутая, мы точно будем стоить как два гугла, так что пока потерпите вообще без зарплаты», оплата труда тут предполагалась. Более того, она примерно соответствовала рыночной оплате труда джуна или слабого мидла на PHP со знанием английского как минимум в Украине (предполагаю, и в других странах, где производился поиск сотрудников). Но были нюансы. В частности, мы были подрядчиками (contractors). Соответственно, мы были сами ответственны за уплату налогов, нам не полагалось оплачиваемых больничных и отпусков, да и количество неоплачиваемых ограничивалось до 2 недель в год.

Было очень желательно, чтобы моё рабочее время максимально пересекалось с остальными, но они и так работали весьма немало, так что это было не так уж сложно сделать. Вся работа велась удалённо, график работы был свободным. А это значит, 40 часов честной работы. Единственное требование — 40 часов в неделю согласно трекеру активности. Естественно, за отлучение на 5 минут в туалет или за кофе никто не расстреливал, но длительные промежутки безделия легко фиксировались и совершенно не поощрялись. Трекер фиксировал практически всё, что можно: скриншоты, снимки с вебки, активность клавиатуры и мышки, посещаемые сайты. Люди, не способные организовать свою работу, достаточно быстро отсеивались и были отправлены смотреть за далью даль.

Мне полагалось порядка 0. Также, как и полагается стартапам, мне был предложен опцион на акции. Первая четверть мне полагалась после первого года работы на полную ставку, с дальнейшим ежемесячным пропорциональным доначислением. 15% от общего пулла акций, размазанные на 4 года. Зафиксировано это всё было только в Google Sheets и в подписанном в электронной форме договором.

Чем отличается электронная подпись от цифровой?

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

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

И да, в некоторых случаях в США обычный PDF с рукорисованной подписью будет вполне легальным документом, признаваемом в суде. Т.к. не с нашим менталитетом такие доказательства принимать, в наших реалиях оба понятия обычно идут в неразрывной связи, а потому могут казаться взаимозаменяемыми.

Это всё-таки стимулирует, т.к. Совет владельцам. Предлагайте даже наёмным сотрудникам доли в проекте. 1% на себя, а не только на зарплату. сотрудник начинает работать хотя бы на 0. Но если Вы делаете реальный проект, а не играетесь в стартап и/или распиливаете деньги инвесторов, уж постарайтесь. На эту тему не раз писалось на хабре, в том числе и юридическая сложность практической реализации в России и Украине. Лояльность хороших, проверенных временем сотрудников, ещё пригодится.

Первые месяцы

Когда я пришёл на работу, мне сказали, что мы готовимся к публичному запуску продукта. Предположительно он должен был состояться месяца через 3 или около того. Эта деталь будет иметь значение в будущем, а пока основное значение имело — какая задача станет моей первой в проекте. Общая политика была такова: давать новому сотруднику делать то, что не жалко будет выкинуть, если он налажает. Т.е. некая новая функция из дорожной карты проекта.

Задачи ставились без конкретных детализированных спецификаций. И ею стала интеграция с популярными (и не очень) онлайн-системами бухгалтерского учёта. бросает вызов и даёт простор для творчества. Такой подход нравится не всем, конечно, но лично мне он по душе, т.к. Нужно было понять основы бух.учёта, основы налоговой системы США, продумать структуру на нашей стороне, понять, как и какие данные стоит постить и т.п. Ведь предстояло не только разобраться с несколькими API и научиться постить туда данные.

Там обычно нужен и швец, и жнец, и на дуде игрец. Совет сотрудникам. Если Вам нравится только какой-то один этап разработки ПО (например, только само написание кода, только тестирование или только проектирование) — Вам лучше пройти мимо стартапа.

На полную реализацию первой интеграции (модель, её проверка с бухгалтером из США, воплощение в коде, вылизывание, юнит-тесты) ушло около месяца. Дальше дело пошло веселее, естественно, т.к. был готовый образец для последующих реализаций.

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

База кода

Всё начиналось с небольшого семейного бизнеса — колл-центра на Филиппинах. И софт первоначально писался именно для учёта и контроля сотрудников колл-центра. Собственно, отсюда вырос упомянутый выше мониторинг, так необходимый, когда нанимаешь филиппинцев. Есть у них такой своеобразный подход к работе, то ли собственный, то ли унаследованный со времён испанской колонизации. Как кто-то красиво описал его, «филиппинцы слишком ценят своё личное время, чтобы работать качественно».

В какой-то момент у них назрела мысль, что получается весьма неплохо, и можно было бы превратить продукт для внутренних нужд в SaaS. Суть в том, что код изначально писался под внутренние бизнес-потребности и процессы. Потенциальных направлений было несколько: учёт рабочего времени, расчёт зарплат и налогов, подготовка налоговых форм (оно же — payroll), онлайн-решение для колл-центров (телефония).

Т.е. Код писался уже минимум лет 7 к тому времени, как я присоединился к компании. А объектно-ориентированное программирование в PHP было скорее уделом продвинутых, и многие по-прежнему спокойно обходились процедурным спагетти-кодом с кучей include, require, require_once. началось всё в те времена, когда популярные нынче фреймворки были ещё на своих ранних пост-эмбриональных стадиях (и jQuery тоже). Иногда это гордо называлось «our own framework» (наш собственный фреймворк). В таком виде я и застал код проекта: спагетти, почти никакого ООП, переменные и функции, возникающие из ниоткуда и исчезающие вникуда, почти никаких юнит-тестов, голый JS на фронтэнде.

Соответственно, все новые возможности обязательно писались объектно-ориентировано, с юнит-тестами, но с ядром системы всё равно приходилось взаимодействовать через require и global. Выше я использовал слово «почти», так как эпоха перемен назрела, и первые шаги к конвертации базы кода в ООП уже проводились. На том этапе мне торжественно обещали, что разгребать авгиевы конюшни мне не придётся, и свой код они со временем отконвертируют сами.

Старайтесь учитывать и закладывать в финансовую модель возможную необходимость его обновления/рефакторинга под новые технологии или даже другие фреймворки. Совет владельцам. Следите за современными тенденциями при написании кода. Как результат:
Иначе в какой-то момент Вы можете обнаружить, что работаете с помётом мамонта сильно устаревшей базой кода.

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

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

Удалённая работа и командное взаимодействие

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

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

Одна система учёта — один класс со всеми необходимыми функциями для взаимодействия. Код интеграции с системой бух.учёта был реализован без особых изощрений. Новые люди (оба были из одного города и работали вместе, кстати) сочли, что стоит сделать иначе — пакеты composer, дробление операций на кучу мелких классов и т.п. Данных передавалось не так уж много, и мы сочли, что дробить на меньшие классы смысла нет. В дополнение людям оказалось сложно организовать собственное рабочее время: частые перерывы, недоработки, низкая активность согласно трекеру. Возможно, это было красиво и изящно с академической точки зрения, но с практической — ничуть не улучшало работу с кодом (сходный по функционалу код был написан в разных стилях) и не ускоряло разработку (вместо того, чтобы взять готовый класс с готовой структурой и переписать под другое API, они скручивали собственный велосипед). Шеф счёл такой подход непродуктивным и вынужден был попрощаться с обоими. В итоге то, что должно было стать простой репликацией готового решения, растянулось примерно на столько же, сколько это решение разрабатывалось с нуля. Следом за ними попрощались с их наработками, и дописывать ещё несколько интеграций пришлось мне.

Совет владельцам. Позаботьтесь не только о наличии code style guide, но и о его внимательном изучении новыми сотрудниками.

Проконсультируйтесь со «старшим по званию». Совет сотрудникам. Если Вы видите, что что-то можно улучшить, не занимайтесь самодеятельностью. На то могут быть свои, вполне обоснованные причины. Либо Вы убедите его в необходимости улучшений и внедрения Ваших рекомендаций как в новый, так и в существующий код, либо он убедит Вас в необходимости делать так, как уже делают другие. Ибо сказано: не сотвори зоопарк в коде своём.

Думаю, полезно будет упомянуть, какие инструменты мы использовали в работе (многие их наверняка знают и так).

  • Trello — для списков задач. В компании не использовались современные системы управления проектами. У каждого была своя доска в Trello, где обязательными были колонки «To do», «Doing», «Done» плюс любые другие по своему усмотрению (например, «To do later» для задач, которые было бы хорошо сделать, но не горит, «To do — подсистема», когда приходилось отложить работу над чем-то и переключиться на другие задачи и т.п.). У всех был доступ на запись к доскам других сотрудников, чтобы при необходимости добавлять им найденные в их коде баги. Все могли видеть, кто чем сейчас занимается. По окончанию рабочего дня дамп из колонки «Done» переносился в трекер как дневной отчёт. Никакими дополнительными отчётами никто никого не мучил.
  • Slack — для индивидуальной переписки и групповых уведомлений (из серии «я запушил серьёзные изменения, сделайте пулл при первой возможности»). Кстати, не так давно Slack был внедрён и в UA-Hosting. Теперь сотрудники клиент-сервиса получают автоматические уведомления о новых тикетах и оплатах (как на рабочий компьютер, так и на телефон). Это позволяет им быстрее реагировать на запросы клиентов и выдавать новые заказы. А также шептаться за спиной у начальства.
  • Skype — для созвонов, иногда для скрин-шеринга «по мелочам».
  • Mikogo — для более основательного скрин-шеринга при совместном тестировании.
  • Интранет — собственная база знаний по различным вопросам. Свалка всего, что когда-то может пригодиться или может выветриться из головы. Строго говоря, их было несколько — для разработчиков, для сотрудников колл-центра, менеджеров колл-центра.

Смена вектора

Пришло лето, запуск не состоялся. Шеф принял решение сместить вектор с payroll на телефонию. Но нужно было ещё несколько месяцев, чтобы дописать необходимый функционал. Мне опять достались «удалённые» задачи — интеграция собственной базы обзвона с CRM системами.

Особенно «весёлой» оказалась вторая часть задачи, но в целом удалось заставить работать. Формулировка была опять достаточно абстрактной — нужно было постить в систему данные об исходящих звонках как события лида/контакта и с помощью уже существующего плагина для Chrome находить на странице CRM номера телефонов и преобразовывать их в ссылки для вызова через нашу собственную звонилку.

С платёжной системой (и реализация приёма оплаты в целом; до того клиентов было мало, и платежи обрабатывались вручную, но мы же готовились к коммерческому запуску). Потом была ещё одна интеграция — более волнующая. Материнская компания была зарегистрирована в Гон-Конге, и на тот момент (осень 2015) наиболее выгодным в данной ситуации был платёжный шлюз Braintree Payments.

Запуск прошёл как плюх в лужу весьма тихо. Запуск? И вектор был снова смещён в сторону payroll. Просто появилось ещё несколько клиентов колл-центра, которые уже платили через Braintree карточкой.

Работа в команде, или 8 месяцев на Филиппинах

Честно говоря, смутно припоминаю свои задачи на первую половину 2016 года. Возможно, они были не столь интересны, возможно, семейный кризис занял первые ряды в моей памяти. Помню только, что было повышение зарплаты (уже второе). Как бы там ни было, в июле шеф предложил прилететь к ним на Филиппины и поработать в команде.

У большинства уважающих себя людей должен бы был сработать сигнал «какого рожна?». Условия были следующие: мне оплачивают перелёт в одну сторону, проживание и расходы на продление визы, взамен я дополнительные 10 часов в неделю работаю бесплатно. моя часовая ставка, помноженная на «бесплатные» часы примерно и давала стоимость всего того, что они мне «оплатили». По сути, я летел в командировку за свой счёт, т.к. Примерно с тех пор, как вычитал, что среднегодовая температура там примерно +26..+27 градусов — как раз моя комфортная температура. Но мне нужно было развеяться, да и на Филиппинах я давно хотел побывать.

Географическая справка о Филиппинах

Первой моей ошибкой было читать о средней, а не о среднедневной температуре, которая большинство месяцев переваливает за +30 и уже совершенно не является моей комфортной. Вообще на Филиппинах есть два основных вида погоды: жарко и влажно, очень жарко и посуше. Ну и ещё есть февраль, когда нам, белым людям, комфортно находиться на улице в шортах и футболке, а местные кутаются в кофты и курточки. Во все месяцы, кроме февраля, я без преувеличения пропотевал всю футболку за 20-30 минут прогулки по улице быстрым шагом. Из всех Филиппин приятным в плане температуры исключением является лишь гористая местность Багио (Baguio), но я там не бывал.

Однако интернет там достаточно дорогой, медленный и нестабильный. Если Вы рассматриваете Филиппины в качестве места для зимовки и комфортно себя чувствуете при температурах выше +30 днём, в целом, там достаточно дёшево и приятно. А когда основатель компании жил в провинции (где они снимали неплохой дом рядом с морем менее чем за 200 долларов в месяц, кстати), примерно раз в неделю на целый день выключалось электричество во всём посёлке. Пару дней ждать ремонта накрывшейся линии — это нормально даже для бизнес-района столицы. Просто нужно смириться с тем, что в любой момент Вам могут устроить выходной, даже когда это меньше всего в тему. Без предупреждений и графиков. Ну и если живёте в таком месте, желательно арендовать мотороллер, без него в Юго-Восточной Азии — как без рук.

Поселили меня в небольшой квартирке-студио на 42 этаже, с видом на Южное кладбище Манилы. Когда было совсем скучно, я мог с высоты понаблюдать за жизнью обитателей кладбища (да, там живут вполне себе живые люди, готовят еду, сушат простыни на оградках и всё такое). И уже на следующий день я приступил к работе.

Мы ведь готовились к запуску через 3-4 месяца, а коль скоро продукт ориентирован на США, шеф решил работать тогда же, когда и все Штаты. Ну как на следующий день… На следующую ночь. Но т.к. На Филиппинах в это время глубокая ночь. Я ещё не знал, удастся ли мне совместить 50 рабочих часов и ночную смену, но решил попробовать работать по 10 часов в день, оставляя себе 2 выходных. немалый процент экономики страны составляют колл-центры, ориентированные на англоязычные страны (филиппинский английский куда лучше и понятнее индусского, например), ночные смены там являются чем-то обыденным, а общественный транспорт ходит чуть ли не круглые сутки. Сосредотачиваться стало легче, когда вокруг все были сосредоточены и усиленно трудились. И, к удивлению, очень даже неплохо получилось.

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

Немного о зарплатных налогах в США

Общеизвестно, что США состоит из 50 штатов и федерального округа Колумбия (островные территории нас не интересовали). Менее известно, что налоговых юрисдикций ещё чуть больше: население штата Нью Йорк настолько большое, что его поделили на 3 отдельных налоговых юрисдикции. Зарплатные налоги делятся на две большие группы — федеральные и налоги юрисдикции (не штата, т.е. на территории штата Нью Йорк действуют 3 слегка отличающихся налоговых системы). В общей сложности существует 4 федеральных налога и от 1 до 4-5 местных.

Форма подачи отчётности (бумажная или электронная), равно как и сами бланки отчётности, для каждого налога свои. Естественно, по каждому налогу существует отчётность. Некоторые можно просто распечатать на бумажном листе и отправить по почте, другие же можно печатать только на специальных бланках, выполненных с использованием так называемых «исчезающих чернил» (drop-out ink), которые не видны OCR-машинам, обрабатывающим пачки отчётов. Некоторые подаются исключительно в электронном виде, некоторые только в бумажном, некоторые допускают оба варианта. При этом для некоторых форм, выполненных в таких чернилах, существовал стандарт, позволявший печатать их самим в чёрно-белом исполнении безо всяких чернил.

Иными словами, чем больше какого-то налога Вы начисляете, тем чаще его нужно платить в казну и отчитываться. А ещё по некоторым налогам действует прогрессивный интервал уплаты и отчётности. И tax exemption certificate, которым работник информирует работодателя о полагающихся ему налоговых льготах. А ещё есть формы приёма на работу (new hire), которыми Вы просто отчитываетесь, что приняли человека в штат. А ещё как минимум в одном штате практикуется окружной налог (county tax), отчётность по которому идёт в город/село, где он платится. И абсолютно живущая по своим правилам форма, которой работодатель проверяет и подтверждает право сотрудника работать в США (а ещё она не допускает автозаполнения полей даже при использовании HR программного обеспечения). Весь этот мрак нужно было учитывать при разработке системы. И абсолютно нормальное явление, когда село на тысячу человек имеет свою собственную налоговую форму именно для этого налога. И лишь часть его уже была учтена.

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

Условия были те же, что и на первый — первое зачисление по итогам года, дальше — помесячно. Видимо, потому, что работать по 50 часов в неделю у меня вполне себе получалось, шеф решил повысить ставки и предложил работать по 60 часов в неделю в обмен на удвоение опциона. если я слетаю с 60 часов раньше, чем через год, получаю шиш еловый. Т.е. Шеф с оговоркой абсолютно согласился, ведь уже решено — запускаемся через 3-4 месяца. Пересчитав миллионы от продажи акций в будущем, всех 0 друзей на Филиппинах и отпраздновав своё 30-летие через Google Hangouts, я согласился с одной оговоркой: я хочу увидеть запуск проекта до конца моего пребывания на Филиппинах.

Небольшой собственный язык разметки для подтягивания нужных данных в поля формы, впечатывание подписей в формы, генерация PDF из этого добра, формы, требующие несколько подписей, разных людей, переработка клиентского to-do для отображения актуального списка, статуса и сроков подачи форм, онбординг новых сотрудников… А заодно потихоньку начали привлекать к рефакторингу старого кода, написанного ими самими годы назад. И закрутилось. Как результат…

I smell burnout

Примерно так мне сказал за пивом один местный, с которым я удивительным образом умудрился разобщаться, работая по 10 часов в ночь 6 ночей в неделю. Шёл уже 5-й месяц моего пребывания на Филиппинах, шеф решил перейти на человеческий график и работать днём. А ещё мы не запустились. Опять. «Ведь ещё так много всего не идеально».

Хотя бы закрытая альфа. Совет владельцам. Запускайтесь. Лучшее — враг хорошего. А лучше открытая бета. К тому же, постоянная работа «в стол» убивает творца.


Сам эту книгу не читал, но название выглядит уместным.

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

Ну как вырвал… Отработал 12 дней без выходных и получил 2 выходных подряд. В конце февраля я вырвал себе 2 выходных подряд вместо 1. Мы сидели на берегу моря, пили вино, общались, слушали прибой… Видимо, в тот момент я впервые за уже 6 месяцев выдохнул. И улетел на пару дней на соседний остров (Себу), попутешествовать и встретиться с одним давним знакомым. Ещё где-то неделю на работе меня всем нутром тянуло в тот субботний вечер и покой.

Согласно статистическим данным, опубликованным Центром по контролю заболеваний, 2. Совет сотрудникам. Давайте себе выдохнуть. Есть ещё мемориальная категория на Wiki, также наводящая на размышления. 7% самоубийств приходится на математиков и сферу IT, причём 85% из этого числа — мужчины. Ваша цель при этом — не угробить свой основной рабочий инструмент, т.е. Цель Вашего работодателя — получить от Вас максимум за выплаченные деньги. Если станок Вам оттяпает руку — Вы получите инвалидность и пенсию (хоть и нищенскую). мозг и нервную систему. Просто слишком неочевидной. Если у Вас наступит выгорание, и Вас будет выворачивать от вида кода, Вы ничего не получите, хотя по сути это будет такой же инвалидностью.

Возвращение домой

Как и было запланировано, в начале апреля, после почти 8 месяцев жизни на Филиппинах, я улетел домой. Небольшой недельный отпуск на «посмотреть ещё что-то в Азии», и снова за работу. И дальше по 10 часов в день, 6 дней в неделю. Только было это уже тяжелее. Я был сам, той атмосферы не было. Да и без воодушевлённого взгляда шефа, так верившего в свой проект, моя вера потихоньку начала иссякать. Хотя на лето планировался запуск, и надо было оперативно дорабатывать онбординг напильничком и рефакторить их старый спагетти код в объектно-ориентированный. Более того, мне пришлось ещё и придумать структуру классов, в которую можно было бы красиво упаковать их спагетти.

Я не рос вообще никак: ни профессионально (рефакторинг legacy кода — так себе строка в резюме), ни карьерно (а куда в компании из 4-5 разрабов?), ни финансово (пересмотра зарплаты уж год как не было и не предвиделось). Где-то через месяц я пришёл к глубокому пониманию, что я застрял в болоте. Тем более, у меня назревали перемены, к которым тоже надо было готовиться. Я собрался с духом и сказал, что хочу вернуться к 40-часовому рабочему дню. Условия сделки были просты: я работаю по 60 часов, если мы запускаемся, пока я на Филиппинах. До сих пор не совсем понимаю, что со мной не так, и почему для этого мне нужно было собираться с духом. Шеф предложил сохранить условия удвоения опциона, если я доработаю оставшиеся 4 месяца в течение года с того момента. Я уже месяц как дома, а запуском не очень-то и пахнет.

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

Эмиграция

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

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

Кризис жанра

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

И я сказал шефу, что спёкся, и мне нужно несколько дней отдыха. Сразу после посещения первого доктора я попробовал ещё поработать, но хватило меня дня на полтора. Где-то дней через 5-6 я снова приступил к работе, но делать это было всё сложнее и сложнее. Не знаю, сколько, буду знать — скажу. А ещё через какое-то время мне прописали антидепрессанты. Гонка за 40 часами в неделю согласно трекеру уже превратилась в какой-то невроз.

Сказываются умственные нагрузки, социальная изоляция, отрицательный образ мышления (признайтесь честно: Вы чаще ищете баги или наслаждаетесь красотой и изящностью своего творения?) и т.п. Совет всем. Учитывая специфику работы программистов, риск заработать депрессию повышен в сравнении со многими другими профессиями. Но если счёт пошёл на недели, а то и месяцы — пора проконсультироваться у специалиста. Все мы бываем подавлены время от времени. И ещё, далеко не всегда друзья могут адекватно понять человека с депрессией и помочь ему, и от этого может стать только хуже. Лучше потратить на него меньше денег и сейчас, чем больше и потом, когда Вы уже не будете в состоянии даже их зарабатывать. Вы можете расписать это очень красочно, но пока он не сунет пальцы — он не осознает, каково это. Объяснять здоровому человеку, что такое депрессия — всё равно, что объяснять, что такое удар током, тому, кто ни разу не совал пальцы в розетку.

Финальные аккорды

Если кто-то из вас доходил до такого состояния, думаю, он понимает, что дальнейшая работа в таком состоянии — это настоящее хождение по мукам. Тем не менее, мыши плакали, кололись, но продолжали грызть кактус. В декабре моя производительность начала сильно падать, я уже не справлялся с 40 часами в неделю. Я хотел попросить саббатикал, а шеф активно напоминал об оставшихся 4 месяцах по 60 часов в неделю ради удвоения опциона. И звал в Грузию, где он на тот момент находился с семьёй, для командной работы. И хотя стоимость моего опциона за уже более 2.5 лет увеличилась в 183 раза (с 0 до 0), я почему-то согласился. Но твёрдо для себя решил, что из Грузии через 4 месяца я возвращаюсь уже не сотрудником этой компании. Динамично развивающийся стартап на поверку оказался вяло развивающимся семейным бизнесом с амбициями и без решительности.

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

Мораль сей басни такова...

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

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

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

Было приятно и очень непривычно получать маленькие словесные бонусы за то, что я просто считал выполнением своей работы. В завершение хочу сказать, что мне всё равно было очень приятно работать с теми людьми. Хочется им заочно пожелать успешно запуститься. Эта культурная особенность сильно шла вразрез со всем моим предыдущим рабочим опытом (как-то не принято у нас в повседневности говорить даже таких простых вещей, как «good job»). Всё-таки формально опцион на акции всё ещё за мной.

А лонг-риду тут конец, кто осилил — молодец.

Вам нравятся наши статьи? Спасибо, что остаетесь с нами. Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? Хотите видеть больше интересных материалов? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Проект Keystone: доверенная среда для запуска приложений на базе RISC-V

Команда исследователей из MIT и Калифорнийского университета в Беркли при поддержке Facebook, Google, Microsoft и других ИТ-гигантов представила проект Keystone. Это open source компонент, позволяющий организовать доверенную среду для запуска программ (trusted execution environment, TEE) на базе архитектуры RISC-V. Далее ...

[Перевод] Руководство по Node.js, часть 4: npm, файлы package.json и package-lock.json

Сегодня мы публикуем четвёртую часть перевода руководства по Node.js. В этом материале мы начнём разговор об npm а также рассмотрим особенности файлов package.json и package-lock.json. [Советуем почитать] Другие части цикла Основы npm Npm (node package manager) — это менеджер пакетов ...