Разведопрос: из жизни программиста от первого лица
Какие ассоциации у вас возникают при упоминании бренда «М.Видео-Эльдорадо»? Вероятно, слова ИТ, программная разработка, Big Data и машинное обучение приходят в вашу голову далеко не первыми в списке. Тем не менее, уже почти два года в компании живет и активно пишет код собственная команда разработчиков. В небольшой серии коротких интервью мы хотели бы в прямом смысле показать светлые лица нашей программной разработки, а заодно поделиться результатами их работы. Надеемся, что наши рассказы придутся вам по вкусу. А пока, смелее заходите под кат. Там вас уже заждался Кирилл Иванов, директор Data офиса Группы «М.Видео-Эльдорадо».
Ты помнишь, как все начиналось?
ДОСЬЕ
Кирилл Иванов, директор Data офиса Группы «М.Видео-Эльдорадо».
В 2004 году закончил МГУ им. Ломоносова, факультет Вычислительной математики и кибернетики.
С 2004 по 2014 год Кирилл работал в ведущих российских и международных интеграторах и консалтинговых компаниях — IBM, HP, EY, «Ай-Теко» и «Инлайн Технолоджис». Занимался проектами стратегического консалтинга для таких компаний, как «РЖД», «Северсталь», «Почта России», «Газпромнефть».
В 2014 году Кирилл присоединился к компании «М.Видео» в должности главного архитектора. С 2017 года руководил Технологическим офисом и отвечал за ИТ часть проекта по объединению «М.Видео» и «Эльдорадо».
С мая 2019 года Кирилл занимает должность директора Офиса больших данных объединенной компании «М.Видео-Эльдорадо». В новой роли он отвечает за развитие аналитики данных и внедрение алгоритмов искусственного интеллекта и машинного обучения.
─ Привет! Можешь рассказать, как ты оказался внутри «М.Видео-Эльдорадо»?
─ Ничего сверхъестественного. После университета почти 10 лет отработал в ИТ-консалтинге. Занимался за цифровизацией разных бизнесов. В какой-то момент захотелось поработать в индустрии, заняться более прикладными вещами. Так я пришел в «М.Видео» на позицию главного архитектора компании. Позднее погрузился в тему Data science, machine learning, Big Data.
─ В компании стремительно развивается история с машинным обучением, видеоаналитикой, построением тепловых карт. Можешь поделиться деталями? Первые упоминания о внедрении подобных решений «М.Видео» были еще в 2013 году. Что с тех пор поменялось?
─ Мы занимаемся этой темой последние два года. Раньше мы пробовали использовать различные внешние разработки. Но каждый раз это стоило каких-то космических денег и не давало бизнесу никаких сколько-нибудь осязаемых результатов. Ты берешь готовое решение с рынка, умножаешь стоимость на 1 000 магазинов и получаешь атомный бюджет. Без очевидного профита.
Могу сказать, что по-настоящему все сдвинулось с мертвой точки в прошлом году. Полина Полунина, которая у нас работала, договорилась о стажировке с Высшей школой экономики. Там было 12 или 15 человек, студентов второго курса. Ребята делали на нашей базе свои курсовые работы. В том числе четыре человека взяли темой для своих работ видеоаналитику в магазинах.
Мы усложнили им задачу, предложив опираться на существующую инфраструктуру, включая уже работающие у нас видеокамеры — нам хотелось понять, что можно сделать на уже имеющейся инфраструктуре, чтобы снизить затраты на масштабирование. Со своей стороны, компания обеспечила им прямое взаимодействие с бизнесом и создала необходимые условия для работы.
Парни вчетвером за несколько месяцев «запилили» реально классное решение, которое, во-первых, учитывало специфику наших магазинов, во-вторых, создавалось при непосредственном участии сотрудников розницы, а в-третьих, было простым, удобным и надежным.
Подобный подход позволил приблизить итоговое программное решение к жизни, поскольку оно изначально опиралось на реальные жизненные потребности. Например, ребята сделали бота, который своевременно оповещает продавцов об одиноких покупателях в торговом зале и информирует об очередях на кассе, чтобы директор мог вывести дополнительных людей.
Но самое главное, команда детально проработала вопрос быстрого развертывания системы видеоаналитики сотрудниками магазина: процесс настройки и калибровки камер, разметки торговых зон. Ребята сделали историю, сопоставимую с коммерческими решениями, с которыми к нам приходят компании с рынка, инвестирующие очень много времени и сил в эту тему.
В итоге, эту команду мы взяли в штат. Сегодня это эффективная команда, с которой активно работает наш бизнес. Вообще это классно, когда ты берешь junior-разработчиков или студентов, даешь им интересную задачу, создаешь среду для работы, а дальше они выдают результат, значительно превосходящий твои ожидания.
─ И все-таки, зачем вам видеоаналитика?
─ Цель у нас утилитарная — быть ближе к клиенту. Например, если ты возьмешь какой-либо сайт или мобильное приложение, то там понятно можно отследить пользовательскую активность. Где человек «залипает», какие разделы посещает, какие кнопки кликает и сколько он тратит на все это времени. А если ты возьмешь магазин, то это такая «черная коробка», слепое пятно.
Ты понимаешь, условно, сколько человек зашло в магазин, сколько их них дошло до кассы. И все. Реально оценить все что происходит там внутри крайне сложно. Непонятно работает твое промо или не работает, насколько эффективна выкладка того или иного товара, насколько правильно размещены торговые островки и аукционные стойки, чем занимаются твои продавцы, куда и как люди ходят и прочее.
Так вот, наша задача сделать так, чтобы «каменный магазин», был настолько же прозрачен, насколько прозрачен онлайн. Ровно этого позволяют добиться современные решения в области видеоаналитики. И это отлично вписывается в нашу общую идеологию One Retail, когда для клиента онлайн и розница объединяются.
Неважно, взял человек в руки смартфон с нашим мобильным приложением, открыл веб-версию интернет-магазина, или пришел ногами в торговую точку, для него в каждой точке должно быть все интуитивно понятно и доступно. Мы же в свою очередь обладая знаниями о нашем покупателе должны максимально отвечать его запросам.
Анатомия жизни
─ А как в целом устроена работа Data-офиса?
─ Cейчас мы меняемся, вместе со всей компанией. В текущей версии Data-офис это пять центров компетенций и деливери-менеджеры, которые помогают реализовывать продукты.
Есть два центра компетенции Data Science. Первый — это, как мы его называем, «классический ML». Там работают со структурированными данными. Продукты, над которыми работает данный центр компетенций — рекомендации и клиентская аналитика, ассортиментное планирование, промо.
Второй центр компетенций DS — это речевые технологии и компьютерное зрение. Там собрана, условно, вся работа с неструктурированными данными — текстом, речью, видео, изображениями.
Центр компетенций по аналитике и архитектуре занимается архитектурой и качеством данных. Они готовят витрины для аналитиков и дата сайнтистов, работают над качеством данных.
Есть центр компетенций разработки. Там собраны все разработчики, которые занимаются нашими продуктами. Условно, его можно поделить на две части. Первая это непосредственно ML-разработка, продуктивизация кода, который пишут дата-сайнтисты. Плюс, эти же ребята занимаются развитием инфраструктуры для машинного обучения. Все решения для автоматизации ML- пайплайнов они разрабатывают и поддерживают сами.
Некоторые решения (прайсинг, промо, ассортиментное планирование), мы разрабатываем end-to-end силами Data-офиса. Так исторически сложилось. Нам оказалось проще нанять команду внутрь к себе, чем в «правильные места» внутри разных подразделений ИТ. Таким образом, во вторую часть ЦК разработки, входят фронтенд-разработчики, бэкенд-разработчики и дизайнеры, специализирующиеся на этих решениях.
Последний центр компетенций (по очереди, но не по значению) — инженеры разработки хранилища данных (ETL-инженеры). Эти ребята занимаются аналитическим хранилищем данных — его инфраструктурой, загрузкой данных, мониторингом этой загрузки, развитием ETL-инструментов.
─ И как все это между собой взаимосвязано?
─ Собственно, из этих людей и формируются продуктовые команды. Есть Product Owner, который находится в бизнесе. Под задачи продукта формируется непосредственно команда, где есть, обычно, дата сайентисты, разработчики, аналитики данных и ETL-инженеры. Далее команда работает независимо, разрабатывает нужные бизнесу вещи. Задача центров компетенции — контролировать методологию, давать инструменты для работы и ротировать сотрудников между продуктами, чтобы росли, работая над новыми задачами.
Также, мы обеспечиваем работу с аналитикой данных. Например, есть продуктовая команда мобильного приложения. Им нужно делать аналитику, при этом работать не только со своими данными, но и с другими данными компании — чеками, данными из магазинов, логистики и так далее. Мы под них создаем песочницу в хранилище, учим, как и с чем там работать, даем описание данных, чтобы было понятно, где какие данные находятся, какая логика расчёта.
─ А есть дефицит кадров? И кто вам нужен больше всего?
─ Да, конечно, дефицит есть, и я думаю с ним сталкиваются все компании на рынке. Сейчас мы нанимаем «ровным слоем» почти всех упомянутых выше специалистов. Задачи внутри компании стоят масштабные, и это отражается на планах по найму — в общей сложности мы хотим вырасти почти в два раза.
Самые дефицитные для нас роли — это аналитики и архитекторы данных, их очень мало на рынке и они нам нужны в каждом продукте. Также нам нужны разработчики на разные направления и разной квалификации:, «питонисты», фронтенд и бэкенд-разработчики, инженеры данных.
Полный список вакансий доступен на сайте: здесь или здесь. Там довольно подробно описано, кто нам нужен и под какие задачи.
Кстати, чуть не забыл, нам очень нужны деливери-менеджеры. Мы ищем людей, которые внутри продуктовых команд отвечают за разработку и поставку решения. Особенно они востребованы на больших продуктах, критичных для бизнеса и сильно меняющих весь ИТ-ландшафт.
Например, «прайсинг» или «промо». Здесь ресурсов продуктолога для управления командой может просто не хватить. Поэтому он больше концентрируется на бизнес-составляющей, а деливери-менеджер — на управлении командой и поставке продукта.
На роль деливери мы ищем людей, которые с одной стороны понимают в разработке, интеграции, поставке в продуктив и, в идеале, в Data science, а с другой — понимают бизнес, могут выстроить взаимодействие с продуктологом и другими командами, от которых зависят.
Если говорить о создании продуктов, использующих машинное обучение, в них есть своя специфика, которую деливери-менеджеру нужно будет хорошо понимать. Например, если тебе нужно запрограммировать какую-то кнопку, то ты пишешь техническое задание, оно оценивается, выполняется, тестируется и выносится на продуктив. И после этого у тебя есть кнопка, которая работает (или не работает) определенным образом.
В случае с машинным обучением всегда нужно держать в голове, что любая разработка — это, по сути, R&D.Например, есть задача:» давайте улучшим модель по наполнению промо товарами…». Давайте, конечно, только нужно учитывать, что впереди у тебя множество экспериментов и неочевидный финал.
Более того, если за моделями, которые находятся в продуктиве не следить, они могут деградировать или вообще перестать работать. То есть в случае с машинным обучением в продукте возникает большой кусок неопределенности, который деливери-менеджеру необходимо хорошо понимать и управлять им…
Скажи мне, кто твой друг и я скажу…
─ По каким компетенциям вы нанимаете людей в команду?
─ Не думаю, что буду здесь особо оригинальным. Есть hard skills, включающие основные профессиональные навыки, знания и опыт. И есть soft skills, которые точно пригодятся при работе в «М.Видео-Эльдорадо».
Мы смотрим на две вещи: во-первых, обращаем внимание на мотивацию человека. Например, приходя в крупную компанию на букву «Я», «М», «С» или «Г», ты попадаешь в структурированную среду. Тебе дают задачу, и ты над ней спокойно работаешь. Мы же ищем таких людей, которые способны вместе с нами структурировать и создавать саму эту рабочую среду.
Нам важно, чтобы человек пришел не просто работать над задачами, а был способен высказывать свою точку зрения, умел объяснить, что он хочет, говорил, что ему необходимо для того, чтобы делать свою работу лучше, и, вообще, что нового мы можем сделать.
Мы, условно, не продаем легенду «Ты придешь и у тебя все будет готово». Наоборот, мы говорим: «Будь готов к тому, что ты придешь к нам и у тебя ничего не готово. Но это отличная возможность сделать так, как именно тебе удобно».
Таким образом, с одной стороны ты должен быть достаточно самостоятельным, а другой, не бояться делиться знаниями с другими членами команды, вступать с ними во всевозможные коллаборации.
А еще тебя должно вдохновлять то, что ты меняешь окружающее тебя пространство и делаешь свою жизнь и жизнь других людей лучше.
─ Давай представим, что это интервью читает твой потенциальный сотрудник. Зачем ему приходить к тебе на собеседование?
─Чтобы самореализоваться в работе, научиться чему-то новому, проверить в работе свои идеи. Может, это пафосно звучит, но у нас сейчас есть огромное пространство для самостоятельной работы и свобода в принятии самых разных решений. Наша команда не только делает масштабные проекты, но и видит результаты своего труда здесь и сейчас. Так что возможность оставить свой след в истории компании и рынка у вас точно будет!
Добро пожаловать на борт!