Обязанности
•Разрабатывать математические модели транспортных задач: VRP с временными окнами, pickup & delivery, гетерогенным парком и другими ограничениями.
•Выбирать и применять подходящие методы: MIP/CP-солверы, эвристики, метаэвристики или их комбинации, в зависимости от размера задачи и требований к скорости ответа.
•Решать нестандартные задачи: придумывать эвристики, проверять их на реальных данных клиентов и выбирать лучшие по метрикам.
•Вместе с продактом и аналитиками превращать требования клиентов в постановку задачи оптимизации.
•Писать продуктовый код для своих решений и доводить его до прода вместе с командой разработки.
•Документировать алгоритмы и участвовать в код-ревью.
Требования
•Понимание теории оптимизации (линейное и целочисленное программирование), теории графов и методов комбинаторной оптимизации.
•Опыт работы с солверами.
•Знание эвристических и метаэвристических подходов.
•Внятный код на Python: ООП, тесты, профилирование и оптимизация производительности.
•Умение объяснить решение и его ограничения тем, кто не занимается алгоритмами.
Условия
•Ипотека, отсрочка, стабильность: ИТ-ипотека и отсрочка от службы для тех, кому это актуально.
•Инвестиции в развитие: компенсация обучения, английского языка, спортивных абонементов и билетов на конференции.
•Социальная политика: специальная программа поддержки в разных жизненных ситуациях, включая мамины дни, подарки детям работников при поступлении в первый класс и на Новый год.
•Офис или удаленка: офисы в трех городах — Москва, Санкт-Петербург и Набережные Челны — или домашний офис.
•Совместные активности — от викторин в офисе до киберспортивных баталий на удаленке.