USETECH
Математик‑программист (Senior C++)
2 нед. назад
RussiaSenior
c++cudaмногопоточностьчисленные методыпрофилированиеоптимизацияграфовые моделиалгоритмы
Математик-программист (Senior C++) в группе аккредитованных IT-компаний Юзтех с опытом в DWH, BigData, AI/ML, Blockchain и разработкой собственных IT-продуктов.
О компании
- Юзтех – группа аккредитованных ИТ-компаний полного цикла разработки с многолетней экспертизой в передовых технологиях: 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) и распределенных вычислений для ускорения тяжелых математических моделей.
- Владение численными методами: работа с плавающей запятой, влияние округления, интерполяция, численное интегрирование.
- Навык быстрого прототипирования и проверки математических гипотез; знание дополнительных языков программирования будет плюсом.