Разведопрос: из жизни программиста Группы «М.Видео-Эльдорадо»
Мы продолжаем рассказывать вам о жизни и ключевых проектах ребят из нашей внутренней команды разработки. Напомним, что в ближайшее время нам предстоит отыскать еще 600 талантливых и амбициозных программистов.
Если вдруг вы пропустили начало сериала «Из жизни программиста Группы «М.Видео-Эльдорадо»: взгляд изнутри», то по ссылке, можно прикоснуться к истокам. А пока под катом с рассказом от первого лица вас уже заждался Евгений Воробей, руководитель направления разработки, Офиса Данных Группы «М.Видео-Эльдорадо».
My way
Я пришел в компанию в команду разработки около двух лет назад ─ на тот момент Офис Данных состоял из трех человек и существовал в виде сформированного несколькими месяцами ранее отдела.
На самом деле, отправлялся на собеседование в «М.Видео-Эльдорадо», уже имея на руках предложение от компании на букву «Я». Шел на интервью с целью, скорее, потроллить ритейлеров, возомнивших себя ИТ-компанией, нежели реально устраиваться на работу. Помню, как удивился после первого же общения с людьми меня собеседовавшими. Приятно впечатлил их уровень знаний, амбиции и кругозор. Оказалось, что эти люди точно знают, чего хотят и, главное, понимают, как этого добиться.
Сегодня я отвечаю за стабильность наших продакшн-систем и руковожу центром компетенций по техническим решениям для машинного обучения. В моем ведении проекты из различных направлений, включая АПП (системы управления ассортиментом, ценами и промо, т.е. внутренние инструменты управления ценообразованием), рекомендательные сервисы, видеоаналитика, чат-боты и другие автоматизированные платформы в колл-центре. Веб-сайтом и мобильными приложениями у нас занимается другой департамент.
Сейчас в моей команде уже 70 человек, и я по настоящему горжусь созданным нами департаментом, нашими проектами и особенно нашей командой.
Как все устроено
Начало 2021 года выдалось несколько турбулентным в связи с активными изменениями в структуре, и мы пришли к такому подходу. Есть «М.Видео» и «Эльдорадо» и еще несколько бизнес-функций, например, логистика и финансы, все они имеют продуктовые проектные команды. Например, в «М.Видео» и «Эльдорадо» продуктовые команды занимаются сайтом и приложением, в финансах ─ ЭДО, формированием и развитием data lake и прочим.
На ИТ как на функции лежит реализация и технологическое обеспечение этой работы, и конечно же, поддержание и развитие всех систем. Центр компетенций в рамках ИТ ─ источники технологических специалистов продуктовых и проектных команд.
Офис цифровой трансформации отвечает за фокус на цифровизации, продуктовую методологию и прозрачность по реализации стратегических задач.
Офис данных ─ отдельное направление, которое входит в ИТ-департамент. Мы выстроили рабочие процессы таким образом, что есть R&D, тестирующий гипотезы (и делающий это быстро) и есть офис разработки, реализующий проверенные и подтвержденные бизнесом решения, стабильно работающие в продакшене.
Топовые технологии
Говоря о том, зачем молодому, амбициозному и талантливому специалисту приходить в нашу компанию, отмечу, что у нас отличные возможности для профессионального роста, а еще мы идем в ногу со временем. Офису данных меньше двух лет, в силу этого у нас нет тонн накопленного legacy, нет старых, устоявшихся практик.
Мы стремимся использовать исключительно современные решения, (предпочитаем open-source) и самые распространенные инструменты. Хотите прокачаться в новых актуальных технологиях? Приходите к нам, они у нас точно есть.
Виртуализация у нас только Kubernetes, контейнеризация только docker, операционная система только Linux и дистрибутивы (на самом деле на рабочем ноутбуке ты можешь поставить что хочешь, главное не пиратить ─ мы сами закупаем нужный софт), базы PostgreSQL+redis+s3 и так далее. Мы берем топовые технологии, которые только доступны, в плане распространенности, избегая маргинальных вариантов ─ за исключением каких-то внутренних решений, которые оправданы в конкретных ситуациях.
Творчество и гибкость
Например, для управления пайплайнами обработки данных, мы не используем популярные фреймворки типа MLFlow, Airflow и другие. У нас для этого написана собственная система. Да, это велосипед, но он вполне оправдан. Мы прекрасно знали, зачем он был нам нужен и почему мы до сих пор не перешли ни на что другое.
Есть у нас и другие внутренние проекты, обычно небольшие. Например расширение для pandas (позволяющее здорово оптимизировать загрузку огромных таблиц из базы в память), видео-конвертер для проприетарного китайского видео-формата (да, через реверс-инженеринг) или расширение для pdb, позволяющее отлаживать процесс по p2p (например внутри кластера без необходимости открывать порт для инстанса).
Мы не стремимся изобретать велосипеды, но не боимся делать что-то сами ─ если это оправдано.
Все ты можешь
Процессы сложно пока назвать идеальными. Все таки компании 30 лет, и это действующий бизнес. 1,2 триллиона клиентских визитов в год означают, что пока ты читал этот материал, тысячи человек зашли на сайт, в магазин, в апп, что-то посмотрели и заказали. Каждый день, 24 на 7.
Есть видимый прогресс в бюрократии, Например, на согласование ресурсов на разработку и бюджетов у нас внутри офиса данных уходит около получаса, максимум до суток. Мы ударно перешли на систему ЭДО.
Конечно, на уровне Группы все это может происходить значительно дольше и сложнее, но для этого и были созданы продуктовые команды внутри бизнес-подразделений. Теперь у всех ─ единые задачи и понимание, как распределять ресурсы.
Не должно быть иллюзий, относительно того, что все в этом мире идеально. Увы, нет. Нужно быть готовым решать проблемы по мере их возникновения. Просто не будет. Но внутри у нас реально интересно, и тем круче прийти и сделать по-новому и увидеть, что благодаря тебе это работает.
Кому рады
Если говорить о разработчиках, то честно говоря нам нужны все. В планах офиса данных вырасти еще в два раза.
Основной язык у нас — python (удобно писать с data-science специалистами на одном языке), но мы разделяем специалистов на отдельные направления:
- Классических backend-разработчиков (которые занимаются задачами реализации нагруженных и не очень api, и не обязательно http и тем более не обязательно rest)
- Прикладных или разработчиков общего профиля. Они занимаются остальными задачами — превращением прототипов от data-science специалистов в продакшен проекты, разработкой внутренних программных решений, оптимизацией алгоритмов.
- Инженеров данных — тут все как у всех, сильное знание sql, аналитических инструментов и подходов.
Помимо этого нам нужны:
- Фронтенд-разработчики. Не для сайта компании, а для разработки интерфейсов к нашим аналитическим инструментам (typescript, sccs, react)
- Devops-инженеры. Мы не привыкли совмещать разработчиков и девопсов, каждый должен заниматься тем, что ему интересно
- Тестировщики и автоматизаторы. Задачи тестирования у нас осложнены нашей спецификой ─ большими данными и машинным обучением, а также огромной сложностью бизнес процессов. Вызов для настоящего спеца!
- Аналитики качества данных ─ у нас их много и мы хотим, чтоб в них был порядок и не готовы этим жертвовать
- Бизнес\системные аналитики\ПМ ─ на наш взгляд важно, чтобы в рамках одной компетенции аналитик мог пообщаться на одном языке и с бизнесом и с разработчикам, а кроме того помог бы команде приоритизировать задачи и управлять релизным циклом. Микроменеджмент от аналитика не требуется — наши разработчики достаточно сознательны и самостоятельны, именно таких ты всегда и искал (тут без сарказма)
- Delivery Manager ─ куда же без них. У нас много продуктов и проектов, мы активно развиваемся и технически можем делать еще больше —, но нам нужны люди, которые возьмут на себя развитие конкретных проектов и направлений.
Самое интересное впереди. Приходи, будет интересно.