Чем предстоит заниматься:
- Разработка и улучшение алгоритмов принятия решений: проектирование, реализация и оптимизация алгоритмов на Java (и частично Python).
- Проведение исследований на данных: работа с внутренними заказчиками, постановка задач, формулировка гипотез, сбор и подготовка данных, проведение экспериментов.
- Интеграция моделей в существующую инфраструктуру: встраивание и сопровождение ML-моделей в Java-системах, отладка производительности и корректности.
- Апгрейд существующих алгоритмов анализа и обработки данных: повышение качества, скорости и устойчивости текущих решений, рефакторинг и модернизация устаревших модулей.
- Аналитическая поддержка продуктовых решений: интерпретация результатов экспериментов, подготовка выводов и демо.
Требования:
- Знание Java (будет плюсом знание Python), желание развиваться в машинном обучении.
- Знание базовых концепций программирования: структуры данных, многопоточность, ООП.
- Уверенное знание Git.
- Знание математической базы: линейная алгебра, методы оптимизации, статистика.
- Понимание алгоритмов принятия решений: теории игр, рекурсивные структуры, деревья решений; умение превращать математику в код.
- Инженерное мышление: структурирование кода, профилирование производительности, понимание архитектуры систем и взаимодействия компонентов.
Будет плюсом:
- Знание фреймворков машинного обучения: PyTorch Lightning и CatBoost.
- Навыки визуализации данных.
- Опыт использования ONNX, пайплайнов Argo.
Мы предлагаем:
- Гибкий подход к формату и месту работы — можно выбирать удалённый формат или один из офисов в Омске, Новосибирске и Санкт-Петербурге.
- Корпоративная культура: общение на равных, поддержка, ценность обратной связи и инициативности, легкость общения и юмор.
- Возможность влиять на процессы и воплощать идеи для повышения эффективности и качества продукта.
- Работу в команде, которая стремится к технологическому лидерству в индустрии.
- Доступность руководства компании и открытая внутренняя политика.
