На почту пришло два т.н. "Оффера" - предложения работы от двух компаний:
-
Первая компания предложила ровно 200 000, сумму меньшую, чем было указано в резюме. На собеседовании сразу намекнули, что "никаких 4 часов в день, как вы обычно любите" - намёк понял.
-
Вторая компания - компания федерального уровня, все её знают, многие пользуются её услугами. Люди показались адекватные, но там сразу сказали - у нас "немного" Битрикса, в остальном всё, мол, ок. Зарплата - 305 000 рублей.
В итоге принял предложение от второго работодателя.
И вот я в бизнес-центре на оформлении. Всё красиво и чинно: компания богатая, документы подписываешь через электронную подпись, выдают красивые онбординг-подарки, оборудование, доступы, вход в офис по биометрии.
Знакомство с проектом было немного своеобразным: попросили закачивать проект через rsync, ибо с Docker проект по каким-то причинам не работает в виду очень большой базы данных, вся работа ведётся через SSH-туннель на тестовых площадках, т.е. код лежит локально, а при сохранении синхронизируется на удаленный сервер и вся работа с git-ом уже там. Ну ок.
rsync работает очень быстро и уже на этапе выкачивания проекта я немного удивился - проект выкачивался около 10 минут, на экране проносились закачивающиеся на мой ПК файлы. Когда rsync закончил работу я ввёл команду
find . -mindepth 1 -type f -name "*.php" -printf x | wc -c
что дало мне в результате количество php-файлов (не строк!) в почти 60 000. И, как я понял, это были не привычные вендоры из GitHub/Packagist, это - Битрикс и сам программный код продукта.
Открыв программный код я сразу понял, что по своим характеристикам он эквивалентен коду из начала нулевых годов. Но что делать? Я уже в шатате и вообще, это же работа, надо было превозмочь себя...
Первые несколько задач были тривиальные багфиксы, которые я хоть и успешно выполнил, но тем не менее, мне пришлось покопаться в логике авторов того кода. Нашёл несколько фатальных ошибок, внёс правки, сделал MP, тестировщики проверили и подтвердили правильность решения.
Далее мне сказали - бери любые багфикс-задачи и выполняй. "Любые багфикс-задачи" требовали очень глубокого знания бизнес-логики, либо знания, где в проекте находится та или иная часть кодовой базы, отвечающая за проблему. Интуитивно - не ясно. Воспроизвести - не удаётся. Смотрел на кодовую базу и не понимал, то ли я пьяный, то ли проект: на каждом из шагов сталкивался с какими-то непреодолимыми, нетипичными трудностями. Даже изменения в плане настроек и конфигурации, что я вносил через административный интерфейс, по каким-то причинам не работали. Коллеги сперва попытались помочь, но потом начали от меня открещиваться с комментариями в стиле "Нууу я не знаю....". В итоге выяснилось, что моя тестовая площадка работает не совсем корректно и там нужно что-то такое сделать, правда никто не знал что именно.
Четверг
Беру с утра вроде бы тривиальную задачу - ошибка в SQL-запросе. Нужно понять, почему туда не приходят данные - казалось бы, типичная задача! Взял её в работу. По мере погружения в эту задачу уровень раздражения только рос - проблема не решалась. Никак. Отладка не помогала - код до ужаса связан и не понятен + магия от Битрикса, которую даже xDebug не в состоянии понять. Задача, которую я на прошлом проекте с нормальной кодовой базой мог пофиксить максимум за час, не решалась в течении 8-часового рабочего дня. Рабочий день подходил к концу, а я даже и близко не приблизился к решению задачи. Решил поработать сверхурочно (завтра же, с утра, погонщики эффективные менеджеры у меня спросят - что я сделал). В итоге я просидел за ПК с 18.00 четверга до 03.00 пятницы. Суммарно я провёл за ПК 18 часов в попытке найти причину ошибки - я её не нашёл.
Пятница
Закончив, как выше написал, работу в 3 ночи, я встал в 9 утра, проспав всего около 6 часов. В 10 было совещание, на котором выяснилось, что багфикс, что я пытался поправить, уже брал в работу один из коллег, и он тоже не смог найти концы.
Сил оставалось всё меньше, моральное напряжение росло. Проект топовой компания федерального уровня оказался примерно такого вида:
-
Код в стиле десятилетней давности, Битрикс.
-
60 000 файлов с программным кодом.
-
Никакого внятного ООП, отсутствие стандартизированной и современной архитектуры.
-
Вместо привычного объектно-ориентированного QueryBuilder-a - решение от Битрикс со своим "инопланетным" синтаксисом написания запросов.
-
Про рефакторинг люди, писавшие проект, вообще не слышали.
-
Комментариев нет.
-
Чудовищная связанность кода.
-
Такие явления, как несколько классов в одном файле.
Одним словом - трёхтонный легаси-монстр, который силами команды и подрядчиков утежеляли бизнес-логикой на протяжении последних 8 лет по принципу "лишь бы бизнес был доволен".
У руля проекта люди, писавшие проект на протяжении 8 лет - они там просто незаменимые, постоянные участники, на которых держится весь бизнес данного подразделения компании. В git, судя по истории, уже готовый проект закинули ещё в 2016 году, сколько его делали до этого - одному Богу известно. Согласно статистике - подавляющее большинство коммитов от нескольких людей, т.е. проект, который есть лишь в голове ограниченного числа лиц, что сейчас в проекте на вышестоящих должностях.
На прошлом месте работы, с современным стеком, мне потребовался ровно год, что бы стать человеком, на 80% понимающим, как работает проект. К вечеру пятницы я прикинул, сколько мне потребуется времени на освоение новой кодовой базы и пришёл к выводу, что счёт идёт на годы, а изнуряющая сверхурочная работа с легаси-кодом станет моим спутником на ближайшие полгода минимум. Осознание этого усугубляло ситуацию...
Нервный срыв
Ровно в 21 час пятницы я понял, что нужно встать и быстро отойти от ПК - наступил апогей всей сложившейся ситуации. Нервная система отказалась меня слушаться и пошла в расход: меня затрясло в прямом смысле слова, возникло чувство паники, страха за свою жизнь, началась одышка, головокружение. Всю жизнь я был человеком достаточно сильным в плане здоровья и довольно стрессоустойчивым, но не в этот раз - в этот раз я сломался.
Нервный срыв в его активной фазе продолжался около полутора часов. Я еле как оделся и хотел вызывать скорую помощь (или поехать туда на такси), потому, что я не мог контролировать этот процесс и понимал, что без медикаментозного вмешательства будет хуже. К своему счастью, нашёл в аптечке Валокордин и в первые 10 минут выпил половину флакона. Выключил в квартире свет и лег. Попытался отвлечься через просмотр ютуба - не помогло: как только в голову приходила мысль об этом проекте, меня сразу начинало трясти по новой. Глубокой ночью вышел на улицу, походил по улице, покурил. Дверь в комнату, где было рабочее место закрыл, что бы визуально не сталкиваться с местом, где произошло это эмоциональное раздражение.
Итог
Отпустили меня с проекта без лишних разговоров и вопросов, с комментарием "мы всё понимаем".
Прошло уже две недели и буквально вчера я посещал платного врача, т.к. с момента этого инцидента у меня постоянно болит голова с редким повышением температуры до 37, давление. Врач-невролог успокоил меня, что инсульта или чего-то "критического" тут быть не может, но "в таких случаях мы советуем поменять работу".



Комментарии (147)