Математик-программист (Senior C++)
Юзтех — группа аккредитованных ИТ-компаний полного цикла разработки с экспертизой в DWH, BigData, AI/ML, Blockchain, BI, предиктивной аналитике, цифровых двойниках производства и рисков.
ГК Юзтех является технологическим партнером компаний Mail.ru, 2Gis, НЛМК, Еврохим, Go Invest, Альфа-Банк, Сбер, ВТБ, МКБ, Самолет Девелопмент, Х5 Group, Газпромнефть, Лемана Про, Ситилинк, Ланит, IBS. Также ГК разрабатывает собственные IT-продукты (Usebus, Octopus, Тил Эйчар) и флагманские проекты, которыми пользуется 70% населения страны.
Задачи
- Разработка и оптимизация алгоритмов на основе дискретной математики, графовых моделей и методов поиска.
- Построение и доработка сложных графовых моделей, работа с деревьями, графами и мультиагентными моделями.
- Формализация бизнес-задач в виде математических моделей, выбор подходящих методов решения.
- Анализ корректности и оптимальности предлагаемых решений, подготовка строго обоснованных выводов.
- Прототипирование и экспериментальная проверка математических гипотез.
- Работа с параллельными и распределенными вычислениями для масштабирования тяжелых расчетов.
Ожидания
Фундаментальные математические знания
- Дискретная математика и логика: уверенная работа с булевой алгеброй, предикатами, деревьями и графами.
- Знание классических алгоритмов поиска и оптимизации (например, A*, метод ветвей и границ), опыт работы с мультиагентным моделированием.
- Умение составлять и редактировать сложные графовые модели.
- Теория алгоритмов: понимание принципов доказательства корректности и оптимальности алгоритмов и умение применять их на практике.
Инженерные навыки и программирование
- Уверенное владение C++ на уровне Senior (написание производительного и поддерживаемого кода, профилирование, оптимизация).
- Понимание и умение оценивать асимптотическую сложность алгоритмов (временная и пространственная, Big O) на этапе проектирования решения.
- Глубокое знание структур данных и того, как алгоритмы взаимодействуют с памятью (кеши, аллокация, доступ к данным и т. д.).
- Понимание принципов многопоточности, основ работы с GPU (например, CUDA) и распределенных вычислений для ускорения тяжелых математических моделей.
Опыт и прикладные навыки
- Владение численными методами: понимание особенностей работы с плавающей запятой, влияния округления, интерполяции и численного интегрирования на результат.
- Навык быстрого прототипирования и проверки математических гипотез (возможен опыт с любыми удобными инструментами и языками; знание дополнительных языков программирования будет плюсом).