Первый год в Ozon Tech
Дисклеймер
Я долго думал, что написать в этом параграфе, чтобы мой пост был правильно воспринят читателями, в том числе другими сотрудниками компании, и чтобы при этом не делать много словесных реверансов в разные стороны. «Это рассказ про «мой» Ozon Tech после первого года работы» – это всё, что я хочу сказать, предвосхищая возможные комментарии.
Этот пост – попытка разобраться мне самому в важном вопросе: правильно ли я поступил, что год назад ушёл из регионального ecom-a и устроился в российский бигтех, где занимаюсь развитием корзины покупателя маркетплейса. Я не собираюсь тут никому ничего доказывать про компанию и акцентировать внимание на всех рабочих моментах. Этот пост не столько про Ozon Tech, сколько про сравнение моего прошлого опыта работы с новым. Рынок разработки ПО очень разнообразный, каждый соискатель ищет в нем комбинацию условий под себя. Искал что-то для себя и я.
Я уже давно понял, что если хочешь о чём-то серьёзном поразмышлять – фиксируй мысли текстом. Надеюсь, что мой пример анализа своей работы будет полезен и другим. Такое глубокое погружение в годовую ретроспективу – важный навык, т.к. память и эмоции в моменте постоянно играют с нами в игры. Мы невольно становимся заложниками когнитивных искажений, перестаём «видеть лес за деревьями». И по итогу сами себе мешаем становиться более счастливыми.
Перейдём же к делу!
Когда я начал искать работу, то в своем CV сформулировал следующее требование: «Интересна работа в прогрессивных продуктовых IT-компаниях с высокими стандартами разработки продуктов и большой аудиторией пользователей». Если вам интересно узнать совпали ли мои ожидания с реальностью, то также прошу под кат.
Мои опасения
«Не будет живого общения с коллегами, буду чувствовать себя оторванным от компании»
За год работы я не ездил в офис, вживую не общался с коллегами. Но созвоны с веб-камерами способны творить чудеса 🙂
Все большие корпоративные мероприятия я смотрю в online, и нас держат в курсе всех новостей и результатов компании. Подключаюсь к внутренним мини-конференциям и участвую в обсуждениях. Исправно доезжающий мерч помогает поддерживать физическую связь с компанией.
HR-ы организуют много offline мероприятий, но они проводятся только в городах присутствия. Оказалось, что мне не просто найти в себе мотивацию, чтобы ехать за свой счёт на поезде 9 часов только в одну сторону ради пары часов развлечения. В целом понятно, что я ССЗБ, что не переехал в Москву. Но пока это не заставляет меня покинуть город, который мне нравится.
«Дежурства на таком важном сервисе будут очень напряженные»
По факту, команда старается очень аккуратно релизить фичи без попыток запихнуть всё разом или выкатить что-то опасное в пятницу.
Сервис корзины является агрегатором данных из десятка внешних систем, но умеет умеренно деградировать при внешних проблемах и восстанавливаться. Помогает и продвинутый мониторинг: бизнес- и пользовательские метрики, RED метрики подов, хранилищ, внешних вызовов. Трассировка помогает быстро искать источник проблем в большом графе зависимостей. Оперативная реакция дежурных других сервисов помогает быстро решать проблемы.
Конечно приходится менять свои планы, когда остаешься на связи в выходные, т.к. должен быть готов подключиться к решению серьезных проблем, если они случатся. Но по факту, за год работы меня ни разу не выдергивали на работу ночью или в выходные. Пусть так будет и дальше 🙂
В общем, радует, что сама компания помогает тебе справляться с большой ответственностью.
«Стану винтиком в огромной машине»
Это к вопросу о том, интересно ли мне то, чем я стал заниматься. Конечно, я в первую очередь делаю то, что требует от меня бизнес. В этом суть наёмной работы. Так было и до этого. Но если раньше меня таскали по огромному проекту и некоторыми его закоулками заниматься было не интересно, то сейчас я сфокусировано работаю над одним бизнес-процессом, который обслуживает огромную пользовательскую аудиторию. Влиять на опыт конечного пользователя продукта – такая работа дорогого стоит и подпитывает стремление к профессиональному развитию.
При этом бизнес также выделяет нам время на внутреннее улучшение сервиса, чтобы команда не утонула в техническом долге. И тут уже мы сами выбираем, что и как делать. Я уже был свидетелем проектов, в которых или бизнес, или технари сильно перетягивали одеяло на себя. Ничем хорошим для компаний это не заканчивалось. Сейчас же моя работа близка к этому балансу. Я получаю удовольствие и от создания новых фич, и от развития инженерных навыков.
Мои желания
Профессиональный рост
Я шел в новую компанию за ростом себя как технического специалиста. И если под подтверждением этого роста понимать периодически случающиеся технические просчеты, то да, я расту 😀 До этого я никогда не работал с таким большим сервисом-связующим звеном, который при этом хранит сотни гигабайт данных, отдает контент для отрисовки страницы корзины с учётом разных A/B экспериментов, и при этом должен соответствовать SLO по стабильности и времени ответа.
Познаю глубины глубин редиса, постгреса, кафки. Оттачиваю навыки дизайна Go программ и рефакторинга большой кодовой базы, которая постоянно обогащается новыми фичами. Разминаю мозг планированием больших многостадийных доработок. Проводил нагрузочные тесты сервиса, слежу за результатами ежедневных «обстрелов» корзины на проде. Собеседовал кандидатов, стараясь не наступать в них на известные грабли.
В общем, развлечений хватает.
Современные технологии
В Ozon Tech продвинутая платформа управления всей инфраструктурой, о которой можно найти доклады на Highload. Она предоставляет много чего, и если начинаешь в этом утопать, то всегда можно попросить помощи у команд платформы, инженеров, которые отвечают за CI/CD.
Разрабатывать локально удобно, т.к. не надо пытаться развернуть у себя кучу смежных сервисов. Всю магию делает service mesh, через который твой сервис общается с общим стабильным окружением. Если же оно перестаёт таким быть, то можно сообщить об этом дежурным и проблему начинают решать.
Приятно находиться в рабочем окружении, которое собрано не из веток и желудей, и в котором соблюдается порядок.
Продукт
Греет душу и то, что стал частью «продуктовой разработкой здорового человека»: не красим кнопки на экранах клиентов в любимый цвет директора. На масштабах Озона сложно оценить влияние изменений в сервисах «на глазок». Поэтому большинство доработок делаются под A/B экспериментами, и решение принимается с учетом влияния на бизнес метрики и поведение пользователей. «Ленинский прищур» заменяется на глубинные интервью и аналитику, чтобы смотреть на продукт глазами реальных пользователей.
Посещая мероприятия других команд, стал лучше понимать как устроены разные бизнес-процессы маркетплейса: от устройства распродаж гречки по 9 рублей, которая разлетается за секунды, до работы складов и логистики. Приятно ощущать себя частью огромного коллектива, который делает мир лучше.
Люди рядом, ну или почти рядом 🙂
Работать с опытными профессионалами или хотя бы с теми, кому просто не все равно, – это то, о чем многие мечтают. В нашем отделе продактами проводятся демонстрации фич от разных команд для всех желающих. Постоянно публикуются результаты экспериментов на сайте. Это приятно, т.к. видишь эффект от работы. Проджекты оперативно расчищают путь от преград и координируют работу смежных групп. Аналитики помогают разобраться с требованиями бизнеса.Тимлид реально помогает команде и решает проблемы. Если появляется вопрос по работе какого-то сервиса, то можно найти чат его команды и задать вопрос их дежурному, на который он старается ответить.
Меня вдохновляет наш CTO. Он иногда суров, но всегда поясняет свою позицию. Ему не безразлична компания, в которой работают десятки тысяч человек.
Приятные неожиданности
Олимпиадное прошлое и тут не отпускает меня. Я поучаствовал в подготовке отборочных соревнований для образовательных курсов Route256 и в тестировании собственной платформы Озона для проведения соревнований.
Ложка дегтя
К сожалению, есть моменты, которые на фоне всего остального выглядят не так замечательно.
Бонусы помимо денег
Большинство корпоративных плюшек можно получать, работая только в городах, где есть офисы. Корпоративные программы лояльности полностью раскрываются тоже только в крупных городах. Прям чувствуешь, как большие возможности проплывают мимо тебя. Но потом понимаешь, что ты сам решил никуда не переезжать…
Performance review
По сути, это соревнование за дележку апельсина среди достаточно больших групп разработчиков, где учитывается твой вклад в компанию. За год работы я попал только на одно ревью, и пока не столкнулся со значимой недооценкой проделанной работы. Стало понятно, что, несмотря на выполненные сложных технических задач, не один ты их делаешь. Они не особо тебя выделяют на фоне других сеньоров. Это пока не демотивирует меня, т.к. я приходил сюда как раз для развития и решения этих самых сложных задач. Возможность ими заниматься сама по себе драйвит меня. Значительный рост компенсаций за работу пока тоже не в фокусе моего внимания. То, что я получаю, и так существенно больше прежнего. Увеличенный доход позволил решить важные для меня проблемы.
Хоть какой-то учёт вклада кажется более справедливой схемой, чем когда всем повышают зарплату примерно одинаково, вне зависимости от приложенных усилий. Это непростое менеджерское упражнение, но я верю, что они подходят к нему максимально отвественно.
План развития
Я надеялся, что я приду в большую компанию и меня как начнут развивать… 🙂 Развитие, конечно, есть, но продуманного плана нет.
Возможно, проблема в моём уровне. Я вижу, что компания предлагает большие возможности для роста hard skill-ов джунов и мидлов, но удивить чем-то достаточно опытного человека уже сложнее. Хотелось бы получать больше образовательного контента для сеньоров. За год я посетил небольшие внутренние курсы по Postgres и микросервисам, но этого мне показалось мало. Прошёл курс Go разработки для мидлов в Route256, но из-за совмещения с работой я от него больше устал, чем узнал на нём что-то новое. Можно было бы записаться на посещение offline конференций, но я не любитель поездок. Остаётся ждать доступа к записям докладов.
В итоге, по большей степени я сам нахожу себе зоны развития, благо рабочие задачи периодически подкидывают мне новые технические челленджи. Но системного развития меня, как опытного специалиста, я не получил.
Итоги
Кажется, я неплохо влился в компанию, справился со всеми сложностями. Работа наполнилась намного большим смыслом, чем это ощущалось в предыдущих компаниях. То, о чём раньше только читал, теперь можно если не сделать, то хотя бы потрогать. Крутые и мотивированные коллеги заряжают энергией. Сложные задачи вдохновляют на рост. Стараюсь не упускать ни одной возможности научиться чему-то новому. Концентрация на важном помогла принять особенности удаленной работы в большой компании.
Кажется, мой шаг был точно в верном направлении, и я рад, что его сделал. Желаю всем находить работу по душе, и не бояться работу поменять, если что-то пошло не так.