← К каталогу
ОП

Оптимизирующие технологии

Инженер по разработке системного ПО/анализу производительности/Инженер по качеству (компиляторы)

УдалённоУровень не указанМосква, Россия13 дн. назад
О ВАКАНСИИ

Описание вакансии

Команда разработки инструментов программирования приглашает студентов, молодых специалистов и опытных разработчиков для работы над высокопроизводительными оптимизирующими компиляторами.

Основные направления деятельности:

  • участие в разработке оптимизирующих компиляторов: от исследования и реализации новых оптимизирующих преобразований до отладки и сопровождения существующих программных продуктов;
  • анализ производительности ПО и оценка эффективности оптимизаций с учетом особенностей современных процессорных микроархитектур;
  • создание и поддержка системы автоматического тестирования компиляторов, верификация корректности преобразований, разбор регрессий.

Требования к кандидату:

  • знание основ построения компиляторов, классических алгоритмов и структур данных, знакомство с внутренними представлениями современных компиляторных инфраструктур (LLVM, GCC);
  • понимание принципов организации современных вычислительных систем и микроархитектур CPU;
  • владение языками программирования С и C++ на уровне, достаточном для разработки системного ПО;
  • навыки работы в среде Linux, владение инструментами сборки и контроля версий;
  • владение инструментами отладки и профилирования ПО, умение анализировать производительность кода;
  • понимание методологий тестирования компиляторов, умение локализовать дефекты;
  • владение Python/Bash, опыт работы с Docker и системами CI/CD (GitLab CI/Jenkins).

Будет преимуществом:

  • понимание принципов статического анализа и оптимизации кода;
  • опыт работы с LLVM IR, MLIR или Gimple, опыт реализации бекендов и оптимизаций в компиляторах;
  • практические навыки локализации узких мест производительности и анализа эффективности ассемблерного кода;
  • умение находить потенциальные возможности для повышения производительности ПО с учетом особенностей вычислительной архитектуры;
  • опыт построения и поддержки сложных CI/CD конвейеров (GitLab CI / Jenkins) для больших C++ проектов;
  • опыт участия в разработке, отладке, тестировании сложных…

Здесь показан очищенный фрагмент описания из источника. Полные условия и актуальность вакансии проверьте на странице работодателя.

ИсточникHeadHunter / Developers / RU / noExperience