👀 Дизайнеры, какая команда подходит вам по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Senior C++ Developer

Местоположение и тип занятости

Москва, Санкт-Петербург, НовосибирскПолный рабочий день

Компания

Делаем эффективные инструменты для разработчиков

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

Условия работы

Нам нужен опытный C++ специалист для работы над ядром продуктов dotTrace/dotCover/dotMemory.

Тот, кто умеет работать в распределенной команде, не боится брать на себя ответственность за принятые решения, умеет убеждать коллег и, самое главное, способен эффективно работать без постоянного мониторинга со стороны руководства. Мы будем только рады, если вы сможете нас научить чему-то новому.

Ответственность в команде:

  • Разработка новых фич в продуктах, таких как:

    • Переход на новую систему хранения собранной информации
    • Разработка под arm64 для Windows/MacOS
    • Поддержка MUSL x64/arm64 на Linux
    • Работа со встроенными в OS сборщиками данных
  • Оптимизация производительности и потребления памяти под Windows/Linux/MacOS.
  • Исследования, эксперименты, изыскания, опыты, разборы нестандартного поведения.
  • При необходимости делать pull-requests во внешние open source репозитории
  • Удаленная отладка пользователей в особо интересных случаях.
  • Тесты.

Требования:

  • Свободное и уверенное владение С++14/17 в полном объеме, как минимум 5 лет работы в коммерческом проекте.
  • Умение писать lock-free алгоритмы.
  • Владение CMake, С#, ассемблером x86/x64/arm64.
  • Опыт работы с одним из низкоуровневых отладчиков WinDbg/GDB/LLDB.
  • Опыт работы с Git.
  • Английский, как минимум технический.
  • Умение работать с чужим кодом так же хорошо, как и со своим.
  • Опыт работы с переносимыми библиотеками типа boost/protobuf/...

Приветствуется:

  • Опыт разработки портируемых С++ приложений под Windows/Linux/MacOS.
  • Работа или участие в opensource проектах.
  • Опыт реверс-инжиниринга.
  • Знакомство с Clang/LLVM, MSVC, VMWare, VirtualBox, Docker, TeamCity, ETW, eBPF, LTTng, DTrace, COM.
  • Понимание принципов работы GC, JIT.
  • Разговорный английский.
  • Внутреннее устройство CLR/CoreCLR.
  • Понимание механизмов защиты приложений в Windows/Linux/MacOS.