О команде
Команда разработки инструментов программирования приглашает студентов, молодых специалистов и опытных разработчиков для работы над высокопроизводительными оптимизирующими компиляторами.
Основные направления деятельности
•участие в разработке оптимизирующих компиляторов: от исследования и реализации новых оптимизирующих преобразований до отладки и сопровождения существующих программных продуктов;
•анализ производительности ПО и оценка эффективности оптимизаций с учетом особенностей современных процессорных микроархитектур;
•создание и поддержка системы автоматического тестирования компиляторов, верификация корректности преобразований, разбор регрессий.
Требования к кандидату
•знание основ построения компиляторов, классических алгоритмов и структур данных, знакомство с внутренними представлениями современных компиляторных инфраструктур (LLVM, GCC);
•понимание принципов организации современных вычислительных систем и микроархитектур CPU;
•владение языками программирования С и C++ на уровне, достаточном для разработки системного ПО;
•навыки работы в среде Linux, владение инструментами сборки и контроля версий;
•владение инструментами отладки и профилирования ПО, умение анализировать производительность кода;
•понимание методологий тестирования компиляторов, умение локализовать дефекты;
•владение Python/Bash, опыт работы с Docker и системами CI/CD (GitLab CI/Jenkins).
Будет преимуществом
•понимание принципов статического анализа и оптимизации кода;
•опыт работы с LLVM IR, MLIR или Gimple, опыт реализации бекендов и оптимизаций в компиляторах;
•практические навыки локализации узких мест производительности и анализа эффективности ассемблерного кода;
•умение находить потенциальные возможности для повышения производительности ПО с учетом особенностей вычислительной архитектуры;
•опыт построения и поддержки сложных CI/CD конвейеров (GitLab CI / Jenkins) для больших C++ проектов;
•опыт участия в разработке, отладке, тестировании сложных программных продуктов.
Особенности работы
•гибкий график, возможна частичная занятость и совмещение с учёбой;
•участие в реализации наукоемких проектов в области системного программирования;
•работа в экспертном коллективе инженеров, широкие возможности для профессиональной самореализации.
Формат работы
Офис в Москве (метро "Верхние Лихоборы"), гибрид, удаленно.