Ведущий ML-инженер
Mayflower — технологическая компания, создающая высоконагруженные продукты, которыми пользуются миллионы людей по всему миру. Работая в масштабах одного из 50 крупнейших веб-сайтов в мире, мы решаем сложные инженерные задачи и создаем решения, обеспечивающие развлечения в реальном времени для глобальной аудитории.
Мы ищем ведущего ML-инженера, который возглавит новое ML-направление, ориентированное на быструю поставку прикладных решений машинного обучения в различных продуктовых и бизнес-доменах.
Направление будет заниматься широким спектром ML-задач. Некоторые проекты могут быть относительно небольшими и реализоваться в течение нескольких недель, в то время как другие могут доказать свою ценность и вырасти в более крупные выделенные проекты.
Эта роль сочетает в себе практическую ML-инженерию с полным владением технической реализацией. Вы будете получать продуктовые проблемы и ожидаемые результаты от продакт-менеджеров или внутренних заинтересованных сторон, уточнять технические требования и ограничения, определять подход к реализации, координировать выполнение в рамках направления и доводить решения до готовности к производству и запуска.
Это очень практическая роль. В направлении не будет выделенного инженера-программиста для каждого проекта, поэтому мы ожидаем, что специалисты по данным и ML-инженеры будут комфортно работать за пределами экспериментов и напрямую участвовать в написании продакшн-кода.
Роль не привязана к одному ML-домену. Мы ценим глубокие знания ML, инженерные навыки, прагматизм и способность быстро понимать новые проблемные области больше, чем глубокую специализацию в одном конкретном классе моделей.
Обязанности
Владение технической реализацией
- Преобразование продуктовых и бизнес-проблем в конкретные планы ML-реализации.
- Уточнение требований, ограничений, доступных данных, интеграций и критериев успеха совместно с продакт-менеджерами и соответствующими заинтересованными сторонами.
- Определение технического объема работ, этапов, зависимостей, рисков и оценок сроков поставки.
- Выбор подходящих ML-подходов и определение самого быстрого надежного способа их проверки и реализации.
- Управление технической реализацией через экспериментирование, реализацию, интеграцию, развертывание и готовность к запуску.
- Обеспечение своевременности реализации, проактивное выявление препятствий и координация зависимостей с другими командами.
- Предоставление продакт-менеджеру четких технических вариантов, компромиссов, оценок, рисков и результатов экспериментов, необходимых для принятия продуктовых решений.
- Поддержка вывода в продакшн и итераций на основе наблюдаемых результатов.
Практическая ML-инженерия
- Проектирование, обучение, оценка и развертывание ML-моделей в различных доменах и типах задач.
- Написание Python-кода продакшн-качества и прямое участие в реализации.
- Создание API, пакетных заданий, конвейеров обработки данных и ML-сервисов, необходимых для предоставления решений, где это уместно.
- Работа с классическими ML-подходами, глубоким обучением и подходами на основе foundational models в зависимости от задачи.
- Обработка и преобразование больших продакшн-датасетов с использованием Python и SQL.
- Интеграция моделей в существующие продакшн-системы.
- Реализация соответствующего тестирования, мониторинга, логирования и наблюдаемости для предоставленных ML-решений.
- Работа в рамках общей ML-инфраструктуры, архитектуры и инженерных практик, используемых по всей компании.
- Сотрудничество со специалистами по данным, бэкенду, инженерии данных и MLOps при необходимости более глубокой экспертизы в домене или изменениях инфраструктуры.
Выполнение задач направления
- Разбивка инициатив на конкретные технические задачи и координация их выполнения в рамках направления.
- Координация работы специалистов по данным и ML-инженеров, участвующих в инициативах направления.
- Анализ технических подходов, экспериментов и реализации.
- Поддержание сфокусированности команды на согласованном объеме работ, приоритетах и сроках реализации.
- Раннее выявление технических рисков и зависимостей и их устранение.
- Эскалация архитектурных, инфраструктурных или методологических вопросов при необходимости более широкого согласования.
- Помощь в подготовке успешных инициатив к масштабированию или переходу под долгосрочное владение, если они выходят за рамки направления.
Кросс-функциональное взаимодействие
- Тесное сотрудничество с продакт-менеджерами на протяжении всего жизненного цикла реализации.
- Самостоятельный сбор технических деталей и ограничений, необходимых для выполнения продуктового запроса.
- Четкое сообщение об оценках, зависимостях, технических компромиссах и статусе реализации.
- Прямое взаимодействие с инженерным отделом и другими внутренними командами для устранения препятствий в реализации.
- Оспаривание технически неясных, противоречивых или невыполнимых требований и предложение практичных альтернатив.
Требования
Вам здесь понравится, если у вас есть
- Более 5 лет коммерческого опыта в области машинного обучения, науки о данных или ML-инженерии.
- Сильные практические навыки программирования на Python и программной инженерии.
- Опыт вывода ML-решений от продуктового требования через экспериментирование, реализацию, интеграцию и продакшн.
- Глубокое понимание методов машинного обучения, статистики, экспериментирования и оценки моделей.
- Опыт написания поддерживаемого продакшн-кода, а не только работы в ноутбуках.
- Опыт создания API, сервисов, пакетной обработки или конвейеров данных.
- Отличные навыки SQL и опыт работы с большими продакшн-датасетами.
- Практический опыт работы с Docker и средами продакшн-развертывания.
- Способность превращать частично определенные проблемы в конкретные технические планы.
- Способность оценивать объем работ, выявлять зависимости и риски, а также управлять технической реализацией в соответствии с графиком.
- Опыт владения технической реализацией с участием нескольких сотрудников и координации работы по зависимостям.
- Опыт ревью кода и технических подходов.
- Способность эффективно работать в рамках установленных инженерных и ML-практик, самостоятельно владея реализацией в рамках направления.
- Отличные коммуникативные навыки и способность напрямую работать с продакт-менеджерами и техническими заинтересованными сторонами.
- Способность балансировать скорость и инженерное качество: быстро проверять идеи при высокой неопределенности и создавать надежные решения при движении к продакшну.
Желательно
- Предыдущий опыт работы в качестве Tech Lead, Stream Lead или технического владельца ML-инициатив.
- Опыт работы с Kubernetes и CI/CD.
- Опыт работы с Kafka или другими потоковыми платформами.
- Опыт работы с Airflow, MLflow, инструментами отслеживания экспериментов, мониторинга моделей или аналогичными инструментами.
- Опыт создания ML-сервисов в реальном времени или высоконагруженных ML-сервисов.
- Опыт работы с FastAPI или аналогичными Python-фреймворками для сервисов.
- Опыт работы в различных ML-доменах, таких как рекомендательные системы, ранжирование, NLP/LLM, компьютерное зрение, обнаружение аномалий, прогнозирование или классификация.
- Опыт работы с инференсом LLM, fine-tuning или другими GenAI системами.
- Опыт работы в командах, где специалисты по данным и ML-инженеры сами отвечают за значительную часть продакшн-реализации.