Стажировка в Data Science: как я волновался, радовался и «чистил» автомобили каршеринга с помощью ML

Женя Бакаев — о своей стажировке в Ситидрайве.

Стажировка в Data Science: как я волновался, радовался и «чистил» автомобили каршеринга с помощью ML

О data science и машинном обучении ходят легенды: говорят, в этой сфере можно делать крутые технологичные проекты за 300 тысяч рублей в секунду. Поэтому многие хотят работать в этой области. Я не был исключением, но мне также нравилось, что в data science соединяются математика и программирование, а я их очень люблю. Меня зовут Женя Бакаев, и я начал свой путь в эту сферу со стажировки в Ситидрайве.

До стажировки

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

Я поставил перед собой цель — попасть на практическое обучение по data science в крупную компанию. Сначала изучал Python, алгоритмы и структуры данных. Далее — основы машинного и глубокого обучения. Работал над учебными проектами: распознавание автомобильных номеров на видео, создание виртуальной доски для рисования пальцем с веб-камеры, выявление аномалий на видео. Эти опыты дали практический опыт и помогли не бояться реальных задач. Большинство из них относились к компьютерному зрению, поэтому я выбрал эту специализацию.

Как узнал о стажировке?

Когда понял, что пришло время искать стажировку, начал просматривать все известные каналы вакансий — и тут увидел предложение от Ситидрайва.

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

Стажеров мы ищем стандартно: выкладываем предложения на HeadHunter, рассматриваем внутренние рекомендации.

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

Альбина Орешкина, ведущий менеджер по подбору персонала

Работа в каршеринге с самого начала была мне интересна, ведь это ещё молодая сфера, поэтому в ней много крутых проектов и амбициозных задач. Я понимал, что моя работа не пойдет «в стол», а ещё — что здесь есть перспективы карьерного роста. Кроме того, в Ситидрайве можно было пощупать не только чистый ML, но ещё и смежные области — MLOps, немного разработки, немного аналитики.

Решил — надо пробовать. На большом джобборде сложно привлечь к себе внимание из-за огромного потока откликов. Чтобы меня заметили, я описал свои учебные проекты, мой вклад в них, упомянул и про учебную практику в компьютерном зрении.

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

Очень радовался, когда увидел приглашение на собеседование, и серьёзно готовился к встрече.

Как готовился к собеседованию?

  1. Волновался. Еще раз волновался. И ещё раз волновался!

  2. Читал рубрики «100 вопросов дата-сайентисту» и старался ответить на все.

  3. Смотрел открытые собеседования.
  4. Ходил на собеседования в другие компании. Это помогло закрыть пробелы, которые я не замечал при самостоятельной подготовке. Последний пункт превратился в дополнительный оффер, и мне нужно было выбрать: банк или каршеринг.

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

В итоге я выбрал Ситидрайв — кроме задач, меня привлёк драйв во всех коммуникациях: от приглашения на собеседование до отправки оффера. А ещё амбициозные задачи, в особенности цель стать каршерингом №1 в России. Это стартаперская (не путать со старпёрской!) энергетика, которую я ценю и люблю, но с возможностями и вызовами, которые есть только у крупного бизнеса. И, конечно, не буду лукавить, достойная оплата стажировки тоже стала важным фактором.

Первые дни работы

В Ситидрайве можно работать и из дома, но я выбрал гибридный формат. Раньше я работал только удаленно, поэтому первый поход в офис для меня был новым опытом. Снова волновался. Мне провели экскурсию, показали зону аналитиков.

Уголок аналитиков в Ситидрайве
Уголок аналитиков в Ситидрайве

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

Мне быстро выдали ноут и необходимые доступы, подарили прикольную футболку новичка, которую я и сейчас часто надеваю в офис.

<p>На все праздники точно прихожу в ней :) </p>

На все праздники точно прихожу в ней :)

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

Уже в первый день я получил первые рабочие задачи, которые постепенно переросли в большой проект.

Первая задача

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

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

В рамках задачи надо было:

- подобрать архитектуру сети;

- обучить модель и правильно её отвалидировать;

- периодически проверять валидность разметки;

- дообучать модель на новых данных.

Сергей Романов, руководитель группы машинного обучения и анализа данных

Сначала я взялся за разметку фотографий. Каждое фото нужно было пометить классами — «грязная», «чистая» и так далее. Я выгружал фото из различных источников, объединял их в одном хранилище. Затем вручную просматривал каждую и помечал соответствующим классом. Общение с ментором было активным: я задавал много вопросов, мы придумывали идеи по выгрузке данных.

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

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

Ментор предложил провести демо для бизнес-отдела. Несмотря на моё волнение, презентация прошла успешно. Позже он же попросил рассказать о моей работе на семинаре по искусственному интеллекту в МГУ. Это стало отличным испытанием для развития моих софт-скилов.

<p>Слайд из моей презентации для студентов. Я буквально понял пожелание “побольше примеров”</p>

Слайд из моей презентации для студентов. Я буквально понял пожелание “побольше примеров”

Пивот первого проекта

Проект с “Ранней пташкой” получил высокую оценку от бизнес-заказчиков. Они предложили расширить его на все фотографии пользователей, то есть объемы получаемых данных выросли в сотни раз. Ставки росли, задачи стали разнообразнее. Разметку фотографий теперь выполняли разметчики, а мои обязанности сместились в сторону работы с моделями компьютерного зрения и оценки качества разметки.

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

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

Упрощенно визуализировал, как работает модель

Первый деплой в прод

Первый деплой в продакшен — всегда волнительный момент. Мы использовали для этого Kubernetes. Он помогает управлять приложениями и контролировать их работу, адаптируя ресурсы под текущую нагрузку.

Несмотря на серьёзную подготовку, возникла проблема. В проде модель должна работать быстро и эффективно, а весить мало. Стандартная библиотека PyTorch этим требованиям не соответствовала. Мы искали решение этой задачи вместе с командой DevOps (это специалисты, которые объединяют разработку и операционную деятельность) . Я занимался оптимизацией моделей, а они интегрировали мой скрипт в Kubernetes.

После первого успешного деплоя я едва не прыгал от радости. Этот этап стал важным моментом в процессе работы — я добился реальных результатов. Это гораздо круче учебных проектов “в стол”.

Первый корпоратив и первая конференция

Через два месяца стажировки в Ситидрайве я пошел на корпоратив всего Дата Офиса. В этом отделе работают аналитики, дата-инженеры и дата-сайентисты. Сейчас в Дата Офисе 28 человек, и команда продолжает расти.

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

Уникальное фото команды Дата Офиса вместе
Уникальное фото команды Дата Офиса вместе

Спустя ещё месяц меня взяли на конференцию Матемаркетинг вместе с командой аналитиков. Я был приятно удивлен, что в Ситидрайве даже стажеров приглашают на такие мероприятия.

Первое перфоманс-ревью

Когда я думал, что волноваться уже не о чем, в мою размеренную жизнь стажёра пришло оно — перфоманс-ревью.

Ревью – это оценка результатов работы сотрудников. В ходе оценки учитываются различные факторы: мнение руководителя, обратная связь от смежников, достижение поставленных целей и профессиональные качества сотрудника. Кроме того, в Ситидрайве большое внимание уделяется контакту с командой — как сотрудник проявляет свои soft skills непосредственно в работе.

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

Что в итоге?

На стажировке в Ситидрайве я приобрел ценный опыт в разных областях:

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

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

Мы предложили Жене поработать над двумя смежными проектами — определение чистоты салона и визуально заметных повреждений на авто. Думаю, это станет интересным вызовом для него, учитывая размер парка — больше 14 тыс. автомобилей и более 50 моделей, к каждой из которых нужен свой подход.

Сергей Романов, руководитель группы машинного обучения и анализа данных

Я решил остаться в Ситидрайве на позиции младшего специалиста по машинному обучению и анализу данных. Это было обдуманным решением. Мне понравились драйвовые, амбициозные задачи, захотелось внести свой вклад в достижение цели стать первыми на рынке. При этом зарплата соответствует уровню топовых IT-компаний. Команда отличная, и под руководством опытного тимлида есть все шансы для роста. Корпоративная культура воодушевляет — общение на «ты», оперативное решение вопросов, возможности для обучения и посещения конференций.

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

Как я понял на своём опыте, в команде всегда найдётся место для талантливого специалиста. Вакансии регулярно обновляются на карьерном портале компании — следите!

1616
4 комментария

Читать невозможно. Мало того что написано каким-то прилизанно-склизским языком, так и из парня дебила сделали, который волнуется по поводу и без. Самое частое слово в тексте.

1

Познавательный опыт, спасибо

Слишком много упоминаний о "крутых проектах". Через строчку идут ненужные английские технические термины...но на русском: "деплой в прод", "опенсорс" и прочие заимствования без перевода. Смотрится так себе, не солидно для статьи от столь успешной компании, занимающейся обучением молодежи с нуля. Удачи авторам!

Есть контакт Евгения?